|
|
||
|---|---|---|
| .forgejo/workflows | ||
| data | ||
| docker | ||
| pages | ||
| .gitignore | ||
| inactive_websites.json | ||
| justfile | ||
| LICENSE | ||
| new.nu | ||
| README.md | ||
| ringfairy.toml | ||
| websites.json | ||
shring
shring (pronounced "shring") is a small webring of unix-y personal sites. it's powered by ringfairy.
about this repository
this repository contains everything that's needed to generate the shring static website. the shring can be hosted on any static web host. ringfairy uses html redirects, so javascript-free browser are also accommodated.
we use forgejo actions to automatically build and deploy the shring. we maintain
a custom docker image in this repository (avaiable under the
git.ficd.sh/ficd/shring:ci tag) which is used as the ci build environment.
the image is needed because ringfairy doesn't provide a binary release for linux, and building it in ci every time would be a massive waste of resources. once ringfairy is compiled, it's really fast to build the site, so a docker image is a decent solution.
data/templates/index.html is the homepage if you have any modifications in mind.
the justfile contains some helpful recipes. clean and build are
self-explanatory. serve uses python to spin up an http server so you can
preview the site after having built it. package compresses the built site into
a tarball. publish deploys it to sr.ht pages; but you'd need my oauth token in
.env, so obviously you won't be running this command.
docker recipes can be invoked as just docker <name>. they all operate on the
ci image. docker run runs the given command in the container. docker build
builds the image from the Dockerfile. docker shell opens an interactive bash
shell in the container, for troubleshooting. docker test clones this reposity
inside the container and attemps to build the shring with ringfairy.
docker login authenticates with the git.ficd.sh container registry, and
docker push pushes the built image to the registry. again, you won't ever be
running these commands yourself.
contributing
If you want to contribute to shring, I happy accept patches and patch sets. For
convenience, you can use pr.pico.sh. Just pipe the patch
to ssh pr.pico.sh pr create ficd/shring. Alternatively, you can email the
patch to daniel AT ficd DOT sh.