fix: optional config options now really optional
fixed the init template to reflect some older config format changes i forgot
feat: embedded gemini server
fix: pathbuilding in redirects is absolutely shit
please never do this again ever, future Me
feat(build-version): added build version, command, and metric tag
made a noop signal handler for windows compatibility
added prometheus metrics, added dev dependencies in the nix shell
added better post-build logs
feat/page-redirects: added support for auto-generated page redirects
* the [redirects] config key expects a map of the path for the
"previous page" to an object with the keys To (pointing to the
replacement page) and Title (the title to use for the previous page).
All paths are relative to the capsule root and will be handled as
absolute from the capsule root.
* the dead link checker now supports checking if the values in To exist,
using the label `[Redirect from {key}]`
refactor: making the "is it index" check simpler
removed includesource filter
feat/watcher-split: split + cleanup + cool stuff in the watcher
* watcher split into "content server" and "rebuild watcher"
* content servers: http
* rebuild watchers: sys notify (auto), SIGUSR1 (semi-auto)
* removed the poll watcher (replaced by sys notify)
* made auto-rebuild watchers optional on watch (new arg: `-r`)
Removed full image processing and per-image config
Maintaining both side-by-side was annoyingly complex for no reason, and
the per-image TOML configuration file was also a burden to maintain.
I manually compress the images before integrating them to my capsule's
git tree to avoid storing large blobs that would need to be reprocessed
on every new build, and I don't use the per-file configuration system,
only the global thumbnail configuration (which I leave to its defaults,
even).
I wish to remove the immensely big codebundle handling the async part
too, it feels really overkill and not useful at all.
I want to keep the async nature of the media processing, but not in its
current state.
made a proper nix shell so now i can easily work on nixos! its my first ever!!!