w4tchdoge's AO3 Bookmark Maker
Modified/Forked from Ellililunch AO3 Bookmark Maker.
Userscript that automatically adds the details of a work to your bookmark notes for archival purposes. I've made the script highly configurable with (hopefully) clear instructions, but out-of-the-box functionality should be good enough if you don't want to bother with the configuration.
IMPORTANT NOTES:
- The script only automatically adds the bookmark text if you are making the bookmark on a work/series page with a summary element. For series' this is every series page (series summaries are handled differently to work summaries). For work's this is either the first chapter of a multi-chapter work, an entire work page, or the only chapter of a single chapter work.
- This userscript relies heavily on template literals (W3Schools, MDN), which are supported in the latest versions of all modern mainstream browsers.[1][2] If you are using a niche browser or you want to be certain that your browser supports template literals, please visit this StackOverflow answer and run the code snippet. It should return a
true
if template literals are supported.
Apart from the editing of what preset you're using/the actual contents of the autogenerated bookmark, all major userscript settings have been moved to a menu on the header menu of your preferences page.

An explanation of all the settings is in the userscript's code.
Demo/Example Images
Demo/Example images show the output if Preset 1 (the default preset) is being used.
Everything collapsed:

Details uncollapsed:

Details & summary uncollapsed:

Details & relationships uncollapsed:

Details & summary & relationships uncollapsed:

Changelog
2.5.0
- Add toggle in the dropdown present on the user's preferences page for showing/not showing the AutoTag button when making/editing a bookmark
2.4.5
- Add exlude rule for pages listing bookmarks as the script isn't designed to run on those pages
2.4.4
- Add a fallback for retrieving the "Entire Work" button in case it's been modified but is still somewhat recognisable in the DOM
2.4.3
- Fix script not working on Firefox browsers due to a lack of support for the :has() CSS selector and a Firefox specific error caused by not using Optional Chaining
2.4.2
- Fix a bug where the script errored on single chapter works
2.4.1
- Add an option to have a version of the "Summary Page" button in the top nav buttons. Defaults to false
2.4.0
- Add an Auto Tag button that automatically adds the completion status and word count to the user tags area
2.3.0
- Fairly large reworks of series summaries which includes the addition of the series_works_summaries var (which only does anything when bookmarking a series) that can be used in workInfo to add the summaries of the works in the series to the series bookmark; Added moment.js as a library in case anyone wants to use it to set their own date var
2.2.2
- Fix a possible styling issue that may occur with the dropdown menu
2.2.1
- Fix Relationships subsection for works with no relationship tags by adding a "No Relationships" to the subsection when there are no relationship tags
2.2.0
2.1.2
- Replace the bottom entire work button with a summary page button that works better on large works.
2.1.1
- Adjusted script execution condition to allow for works with no summary.
2.1.0
- Tweaked the bookmarking process which should hopefully make it easier to configure. Also rewrote some of the code to hopefully make it better perfoming.
2.0.9
2.0.8
- Make some if statements in the localStorage section more readable.
2.0.7
- Fix bottomEntireWork not functioning because of the placement of the code responsible for putting the button there being inside an if statement that only executes on specific pages.
2.0.6
- Fixing assignment of localStorage values to variables in current script execution.
2.0.5
- Fixing general localStorage stuff.
2.0.4
- More summary related fixes.
2.0.3
- Fix the script replacing an existing summary in the bookmark notes with 'undefined'.
2.0.2
- Alert the user that their input for a new divider value has been accepted + Minor styling changes in the setting dropdown.
2.0.1
- Fix if statements that used variables that needed to be true or false by using a function to convert the 'true' & 'false' strings from localStorage to booleans.
2.0.0
- Implemented a settings menu & localStorage of the settings set in the settings menu. Presets must still be set via editing the script.
1.0.0
- Initial publishing of the userscript to Greasy Fork.