.vscode | ||
bunny | ||
scripts | ||
src | ||
templates | ||
test | ||
.envrc | ||
.gitignore | ||
code_server.nix | ||
code_server_disk.nix | ||
deno.json | ||
deno.lock | ||
flake.lock | ||
flake.nix | ||
justfile | ||
README.md | ||
webring_data.json |
Adding yourself to the webring
Add your information to webring_data.json
.
The schema is as follows:
id
: a unique id for your entry. You will use this id when adding webring links on your own blog/page.title
: the title you want to use on the webring directory.author
: the name you want to use on the webring directory.url
: the URL to redirect to whenever the webring needs to point a visitor to your entry.
Create a PR with your changes.
Testing your entry
Run deno task dev
, which should start a local web server.
You can then navigate to it to inspect how your entry will look on the webring's main page, as well as make sure the url it points to works fine.
Using the webring on your blog/page
Somewhere in your blog/page (footer recommended), add the following links.
Remember to replace <YOUR_ID_HERE>
with the unique id for your entry on the webring.
Note: it's ok for you to add these links to your page before your PR gets approved and merged. The webring will redirect to random pages when given an unknown id. Whenever your PR gets approved and merged, your id will be recognised and you'll officially be part of the webring.
- Previous entry:
https://akols.com/previous?id=<YOUR_ID_HERE>
- Next entry:
https://akols.com/next?id=<YOUR_ID_HERE>
- A link to the webring directory:
https://akols.com
Development setup
Setting up VSCode (and flavours)
We're using Deno in the webring functions, so if you want proper editor support, you'll need to install the Deno extension.
There's already a .vscode
directory which should direct VSCode to enable the Deno extension for this project.
Infrastructure
Nixifying a new host
If you have a bunch of SSH keys in your SSH agent and get errors when trying to SSH into a fresh host, you may need to temporarily add the following config to your SSH config (obviously change the details for your case). The key is the line "IdentitiesOnly yes" along with an identity file.
Host 188.245.194.78
User root
IdentityFile ~/.ssh/hetzner_personal_root.pub
IdentitiesOnly yes
Deploying the webring
You should have a .env
file with the id and deploy key for each script in the webring, as well as a key to deploy the index page to bunny.
When you have this, run deno task deploy
.