Find a file
Daniel Fichtinger 21441ea8ca
All checks were successful
/ publish (push) Successful in 5s
updated index page
2026-01-05 16:51:52 -05:00
.forgejo/workflows fix deploy action 2025-10-27 01:31:19 -04:00
data updated index page 2026-01-05 16:51:52 -05:00
docker add rsync to ci image; pin ringfairy 2025-10-27 01:31:43 -04:00
pages update faq 2025-10-27 01:35:30 -04:00
.gitignore updated .gitignore 2025-08-05 12:32:56 -04:00
inactive_websites.json update website list 2025-12-15 13:44:17 -05:00
justfile update deploy action to use own server 2025-10-27 00:34:54 -04:00
LICENSE init 2025-07-23 23:28:04 -04:00
new.nu update nu script 2025-10-27 00:10:06 -04:00
README.md Updated readme with contrib info 2025-10-01 13:21:11 -04:00
ringfairy.toml migrate to shring.sh 2025-07-26 14:07:39 -04:00
websites.json Added andreilazer.me 2026-01-05 16:49:58 -05:00

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.