This is my website and gemini capsule source code. Link is currently home.hedy.dev on both web and gemini.
It has a blog and a few pages. The blog has mostly the same post for web/gemini.
WWW provides both an atom feed and an RSS feed whilst gemini provides a standard gemini atom feed.
Tags, last modification dates and changelog links are implemented. but may not currently provide public-facing direct links per-post.
Comments currently run through email and and a mailing list, with links to external discussions (if any) in each post.
A dynamic or pre-fetched comment system is not currently planned for both WWW and gemini.
Webmentions and pingbacks and supported using hosted -aaS links though I plan to switch to self-hosted solutions in the future, such as a lightweight CGI implementation.
That's about it! Nothing fancy. The CSS is pretty minimal, but not a brutalist design. It has a few custom colors, a sans-serif font stack, and some styling in the footer and nav. Everything else is partially based on top of simple css and sometimes seirdy's site.
hugo - generate files
rsync - separate HTML & gemini files into dedicated destinations perhaps I'll just switch to plain copying in the future. This was a relic of the old deployment system where I kept some extra files (such as CGI scripts) in the destination which should not be deleted.
what this means is that I'll have to do rm -rf DEST/*
periodically to clean
up old files
python3 - postprocessing on the gemini files
prettier - format HTML files this requires my template HTMl files not rely on newline for spacing.
to test, simply remove the prettier command from Makefile, run make gen && mkdir public2 && cp -r public public2
and run prettier on public2
, make
sure everything in public2
looks the same as public
.
package.json
>= 2.7
for htmlproofer
)In WWW, posts' resources are stored under the same directory as the post:
/posts/my-slug/index.html
(the post itself)/posts/my-slug/resource-1.png
/posts/my-slug/resource-2.svg
In gemini, posts' resources are stored together under a separate folder:
/posts/my-slug.gmi
(the post itself)/posts/assets/my-slug_resource-1.png
/posts/assets/my-slug_resource-2.png
These files might need to be changed to customize this:
bin/gemini-clean.py
layouts/shortcodes/get-resource-link.*
bin/post
resources should be put in the same directory as the post. Link to them within
markdown ad gemini files using the get-resource-link.{gmi|html}
shortcode
which returns the relative permalink of the file. (see resources.)
make all deploy