Skip to content

jsmnbom/ao3-enhancements

Repository files navigation

AO3 Enhancements

This is a browser addon which adds various configurable tweaks and enhancements to the fanfiction website ArchiveOfOurOwn.org.

Installation

The Chrome version should also work in Opera (using this) and Edge, although this has not been tested.

Development builds

There is also development builds available. See Installing pre-releases on how to install them.

Current enhancements/features (as of v0.3.2)

  • Improves blurb (work) stats:
    • Shows Reading time and Finish reading at
    • Shows Kudos/Hits ratio, making it easier to find the amazing works.
  • Adds whole new Chapter stats to each chapter
    • Shows Reading time and Finish reading at
    • Shows Published date for each chapter
  • Allows hiding works when searching/browsing, based on:
    • The language of the work, and/or
    • How many fandoms the work is in (is it a crossover?), and/or
    • Is it written by certain authors?, and/or
    • Does it have certain tags?
  • Can show icons for works you already know about.
    • Works that you have given kudos to
    • Works that you have subscribed to
    • Works that you have bookmarked
  • Various style customizations:
    • Adjust the width of a work, making reading on large displays easier
    • Show stats as columns to make them easier to read at a glance
    • Force allignment of work text

Furthermore i strive to make the addon at least as accessible as AO3 itself. Please do report an issue if that is not the case.

Most of these features are disabled by default. After installation go to ArchiveOfOurOwn.org and click the new menu button "AO3 Enhancements Options" to go to the options screen.

Screenshots

See the entry on AMO for screenshots.

Developing

Expand this section for instructions on how to build the addon yourself

Start by installing the required packages by npm install. Then continue to either development or releasing below depending on what you want to do.

Development

Use npm run watch:firefox (will compile src/ to build/firefox/ and keep watching source files) and then when files have built npm run start:firefox (will launch firefox-developer-edition with the built extension and reload when the built files change - most of the time, pressing R may be required).

Releasing

First make sure to bump the version number using npm version VERSION. Then to make github actions build and ready a dist package for you, simply git push && git push --tags. Then go to the created release, download the two files and upload them to AMO.

Alternatively use npm run build:prod:firefox (will compile src/ to build/firefox/) and when files have built npm run start:firefox to test that everything works. Then use npm run dist:firefox to package the extension to a .zip (found at dist/firefox/) file that can then be uploaded on AMO.

Latest AMO is compiled using these software versions.
Arch linux
Kernel: 5.13.10-arch1-1
Node: v16.7.0
Npm: 7.20.6

Thanks to

The icon is a combination of the AO3 logo (svg version from IconFinder), and the Gear icon from the Octicons pack by Github. The options page background is CC-BY-4.0 by Hero Patterns.

This addon is inspired by various userscripts that i used to use to make the AO3 experience better: