AO3 userscript: Only show primary pairing (automatically, no config needed!)
This userscript automatically hides fics where the primary pairing is not the first listed tag.
Neeve's script does the same thing, except it needed to be manually edited to make it work. I made a few edits to make it automatic if you are on a ship tag page, no code editing needed.
[INSTALL HERE] (Requires Tampermonkey or any other userscript manager)
Other features (needs manual configuration):
Add more than one preferred pairing
Show works where pairings are in the first X number of tags
On a character tag page, automatically show works that have the character in the first five tags (experimental)
Add more than one preferred character
Show works where characters are in the first X number of tags
New Userscript to Work Around AO3 Drafts Date Bug!
I think anyone who has ever used AO3 drafts for a work or chapter (even just to finish posting the next day) has been bitten by the long-standing bug where works/chapters started as drafts keep the draft creation date as the publication date unless you (remember to) manually change it before publication, often resulting in a work or chapter being published several days in the past 😳 (Not great in active fandoms/tags!)
Having stumbled across this bug once again recently, I asked escctrl (the author of the other AO3 userscripts I raved about recently) if it was possible to do anything via userscript to help us avoid falling victim to this bug.
escctrl responded with AO3: Warn for Old Publication Date on Drafts, which places a warning next to the Post button on work/chapter drafts and includes a button to automatically update the old date to today’s date. It feels so slick!
Big thanks to escctrl for making this possible! 🙏
Uncle Asad, this sounds useful, but what’s a userscript?!
More info under the cut if you’re not familiar with userscripts…
Userscripts are third-party JavaScripts (code written not by the author of the web page and not by you) that are run on specified web pages (here, on AO3) to modify the page in some way. The scripts require you to have an userscript extension installed in your browser, and the extension tells the browser to run any scripts you have installed. (You might have heard of “Greasemonkey scripts”—Greasemonkey was the first userscript extension.)
Obligatory Warning
Userscripts are third-party JavaScripts that have access to anything on a given web page, can load other JavaScripts, steal your information, and so forth. Never install a userscript you don’t trust.
I Understand the Danger; Tell Me What I Need to Do!
First, make sure you have a “userscript manager” extension installed in your browser.
The original userscript extension, Greasemonkey, is available for Firefox and derivatives.
Tampermonkey is available for multiple browsers on multiple desktop and mobiles OSes.
userscripts is available for Safari on Mac and iOS.
There are others, too.
After you’ve installed your userscript manager extension, hop on over to greasyfork.org (a website hosting userscripts written by hundreds of different people) and add this script: AO3: Warn for Old Publication Date on Drafts
(Consult the documentation for your userscript extension for help on installing scripts.)
escctrl has an extensive list of other AO3 scripts you might find useful, including the three I mentioned in my prior post.
Happy Never-Again-Accidentally-Posting-A-Fic-In-The-Past to you! 👏
Does anyone know how to make a Script (tampermonkey / greasemonkey javascript) stay put when the page soft refreshes? I've been playing around with javascript to add some more icons back but every time you click to a new page they disappear until you do a full reload.
Either way I can (sort of) bring them back with a javascript code, but I need to know how to make them /stay/
Replaces text on websites. Now supports wildcards in search queries. Won't replace text in certain tags like links and code blocks
Hey, if you, too, are mildly annoyed by the meme of Shadow calling Amy 'Rose', install this Greasemonkey script and set it up like so:
var words = {'Rose' : 'Amy',
'Amy Amy' : 'Amy Rose',
This makes it so that lone instances of "Rose" get replaced by "Amy." The second one is to preserve her full name when it's used instead of being replaced by "Amy Amy" (because the script sees a lone "Rose" and nukes it).
Might want to add match rules in Settings to only target your favourite fanfiction sites so you don't see silliness when talking about actual roses.
hmm, I'm loading an element in to the Tumblr UI using greasemonkey and it appears while the page is loading and then vanishes. This is probably a Modern JS UI Toolkit Thing but I don't know how that works, anyone got any pointers?