Browser extension: detect and subscribe to standard.site publications on ATProto
TypeScript 53%
JavaScript 30%
CSS 6%
Astro 3%
Shell 3%
HTML 2%
HCL 2%
Mermaid <1%
<1%

README.md

substandard #

read. more. blogs.

substandard shows a badge when the site you're visiting has a standard.site publication on the Atmosphere: the distributed social network built on the AT Protocol. Click, subscribe, and read blog posts in the app of your choice.

  • Sign in to your Atmosphere account via OAuth. Works whether you're on Bluesky, mu.social, or hosting your own PDS.

  • Your password never touches the extension or our servers. In fact, we don't even have any.

  • Subscriptions are only stored in your account, and are compatible with any standard.site reader: Standard Reader, Leaflet, and more.

  • This extension is open source and has no backend, no analytics, and no tracking.

Installing #

Chrome Web Store #

You can install substandard from the Chrome Web Store. This is the best option for most users.

Local #

You can also build the extension locally:

npm install
npm run package   # build + verify dist/ is loadable

Or if you want developer mode turned on (inverted color icon):

npm install
npm run package:dev

Then in Chrome: chrome://extensions → enable Developer mode → Load unpacked → select the dist/ directory.

Development #

Other local dev commands include:

npm run check         # typecheck
npm run build         # build the extension
npm run build:dev     # same build, dev channel
npm run verify:dist   # verify against manifest
npm run package       # build + verify:dist in one step
npm run package:dev   # build:dev + verify:dist in one step
npm run dev           # dev channel in watch mode
npm test              # run unit tests

Extension releases #

Instructions for the maintainer.

  1. scripts/deploy-site.sh — step 4 validates against the hosted client metadata, so the site has to be current before it runs.
  2. npm run bump — stages the version into the three release files; commit it as chore(release): v<version>.
  3. git tag -a v<version> and git push --follow-tags — deploy-ext.sh requires the tag at HEAD and creates none itself.
  4. scripts/deploy-ext.sh to build the deployable package under release
  5. npm run smoke, then npm run rc to verify the package
  6. Upload the zip by hand at the developer console URL step 4 prints.

Privacy policy #

See substandard.blog/privacy.

License #

MIT — see LICENSE.