Enables customization of reader-insert stories by replacing author-provided hooks such as Y/n, pov/s, and vrb/do/present/.
Go to file
Jean Viscogliosi-Pate 19d2449cd8 Updating MetamorPOV library version to fix cut 2025-08-18 07:05:55 -07:00
icons Update icons 2025-06-29 13:03:19 -07:00
src Updating MetamorPOV library version to fix cut 2025-08-18 07:05:55 -07:00
third-party-licenses Removed license files only used by MetamorPOV library 2025-08-15 08:48:48 -07:00
.gitignore Adding a/an feature, fixes #39 2025-07-20 10:21:28 -07:00
LICENSE Oops forgot a file x2 2024-12-20 00:27:17 -08:00
README.md Updating extension to use MetamorPOV library 2025-08-15 08:39:56 -07:00
dark-theme.png Add theme preview images 2025-06-29 13:09:03 -07:00
flake.lock Updating extension to use MetamorPOV library 2025-08-15 08:39:56 -07:00
flake.nix Updating extension to use MetamorPOV library 2025-08-15 08:39:56 -07:00
light-theme.png Add theme preview images 2025-06-29 13:09:03 -07:00
package-lock.json Updating MetamorPOV library version to fix cut 2025-08-18 07:05:55 -07:00
package.json Updating MetamorPOV library version to fix cut 2025-08-18 07:05:55 -07:00
rollup.config.js Adding Google Chrome support 2025-02-22 15:37:26 -08:00

README.md

MetamorPOV

When enabled for a website, this extension will translate specific markers such as Y/n, pov/s, and vrb/present/do/ into your pronouns. You can also choose what point-of-view you want to read in: first, second, or third-person perspective.

  • Your choice of name
  • Your choice of pronouns, including neopronouns
  • Your choice of point-of-view
  • Your choice of what else to replace
  • Dark and light theme supported
  • Desktop and mobile supported

Want to test your configuration? Here is a demo of the markers in use!

Development

MetamorPOV includes Node packages for verb conjugation. You'll need Node installed globally. As an alternative, install Nix and type nix develop with the experimental flakes feature enabled. After that, from the extension's root directory:

# Install project dependencies
npm install

# Generate a .zip that can be loaded in Firefox
npm run build

# Generate a .zip that can be loaded in Chromium-based browsers
npm run build-chrome

Testing

When running the extension with the test script, it will be updated automatically as source files are modified. To appear while testing, modifications to replace-words.js must be manually bundled into content-script.js.

# Open a browser instance with the extension installed
npm run test

# Manually bundle replace-words.js into content-script.js
npx rollup -c

To test for Chrome, you will need to have Chromium installed.

# Open a browser instance, you will need to go to chrome://extensions and open the source folder manually
npm run test-chrome
  • Portions of MetamorPOV are derived from InteractiveFics, licensed under MIT, copyrighted 20152023 by Mariam Maarouf.
  • MetamorPOV is themed with Primary, licensed under GPL-3.0, copyrighted 20212024 by Cecilia May.
  • Icons, excepting the butterfly, are redistributed from Luicide, licensed under ISC, copyrighted 20222025 by Lucide Contributors. Luicide contains portions of Feather, licensed under MIT, copyrighted 20132022 by Cole Bemis.
  • Translation logic is provided by the MetamorPOV library, licensed under GPL-3.0-or-later copyrighted 2025 by Jean Viscogliosi-Pate.
  • All other portions of MetamorPOV are licensed under GPL-3.0-or-later, copyrighted 20242025 by Jean Viscogliosi-Pate.