56 lines
3.0 KiB
Markdown
56 lines
3.0 KiB
Markdown
# MetamorPOV
|
||
|
||
When enabled for a website, this extension will look for markers (such as Y/n, pov/s, and vrb/do/present/) used to replace specific pronouns. If found, it will replace those markers with 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!](https://viscogliosi-pate.com/alice-in-metamorpov/)
|
||
|
||
## Development
|
||
|
||
MetamorPOV includes Node packages for verb conjugation. You'll need [Node](https://nodejs.org/) installed globally. As an alternative, install [Nix](https://nixos.org/) and type `nix develop` with the experimental flakes feature enabled. After that, from the extension's root directory:
|
||
|
||
```sh
|
||
# 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`.
|
||
|
||
```sh
|
||
# 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.
|
||
|
||
```sh
|
||
# Open a browser instance, you will need to go to chrome://extensions and open the source folder manually
|
||
npm run test-chrome
|
||
```
|
||
|
||
## Copyright and License
|
||
|
||
- Portions of MetamorPOV are derived from [InteractiveFics](https://github.com/interactivefics/interactive-fics), licensed under [MIT](third-party-licenses/LICENSE-InteractiveFics), copyrighted 2015–2023 by Mariam Maarouf.
|
||
- MetamorPOV supports verb conjugation with [RosaeNLG](https://rosaenlg.org/), licensed under [Apache-2.0](third-party-licenses/LICENSE-RosaeNLG), copyrighted 2019-2024 by Ludan Stoecklé, 2015 by Forbes Lindesay, and 2009–2014 by TJ Holowaychuk.
|
||
- MetamorPOV supports adaptive articles with [indefinite](https://github.com/tandrewnichols/indefinite), licensed under [MIT](third-party-licenses/LICENSE-indefinite), copyrighted 2015–2025 by Andrew Nichols.
|
||
- MetamorPOV is themed with [Primary](https://primary-theme.github.io/), licensed under [GPL-3.0](third-party-licenses/LICENSE-Primary), copyrighted 2021–2024 by Cecilia May.
|
||
- Icons, excepting the butterfly, are redistributed from [Luicide](https://lucide.dev), licensed under [ISC](third-party-licenses/LICENSE-Luicide), copyrighted 2022–2025 by Lucide Contributors. Luicide contains portions of Feather, licensed under [MIT](third-party-licenses/LICENSE-Feather), copyrighted 2013–2022 by Cole Bemis.
|
||
- All other portions of MetamorPOV are licensed under [GPL-3.0-or-later](LICENSE), copyrighted 2024–2025 by Jean Viscogliosi-Pate.
|