This is a static site generator that builds a linked ring of verified fediverse profiles.
It's pretty hacky, but it might be fun to play with.
Inspired by both ye olde Webrings and ye newe PressCheck.org for building a discoverable collection of verified fediverse profiles.
Most everything you want to customize lives in the content directory. That's a good place to start making this thing your own.
This project will probably get updated often, here on GitHub:
However, any changes in the content directory will clobber your own customizations. The good news is that you can switch to using a local copy with these steps:
- Copy everything in
contenttocontent-local - Copy
.env-exampleto.env - Ensure that
.envcontains this variable:CONTENT_PATH="./content-local" - Edit
content-local/profiles.csvto manage the profiles in your ring. - Explore
content-localto see what else you can change
On a remixed Glitch project, the following commands in a terminal should do the trick:
cp -r content content-local
cp .env-example .env
refresh
After the above steps, you should be able to import updates without overwriting your customizations in content.
That said, you will probably want to compare your copy of content-local with the updated content to see if you want to pull in any changes by hand.
You can use git to push updates into Glitch - e.g. for content/profiles.csv or other files. To prepare your project to rebuild on git push, run these commands in the Glitch terminal:
git config receive.denyCurrentBranch updateInstead
echo '/usr/bin/refresh' > .git/hooks/post-receive
chmod +x .git/hooks/post-receive
(TODO: elaborate more on this)
-
You can manage profile addresses in a Google Sheet. Use the File > Share > "Publish to web" menu command to publish your sheet in CSV format. Then, use the given URL as the value of the
FETCH_CSV_URLenv variable. -
Check out
lib/config.jsto see what other environment variables are supported for configuration. -
You can put whatever markdown files you want in
content/pages. Those files will be published as HTML pages and included in the top navigation bar of the site. Be sure to include some YAML frontmatter to specify a title - seeabout.mdfor an example. -
If you do something fun with this, let me know.
MIT license. Do whatever you want with this thing. Don't blame me if anything goes wrong.