## Summary - Rename `date-modified` -> `modified` in all 80 docs and the `docs-check-frontmatter` task Quartz's `CreatedModifiedDate` plugin recognizes `modified`, `lastmod`, `updated`, and `last-modified` — but not `date-modified`. The wrong field name caused Quartz to ignore frontmatter dates entirely and fall through to filesystem timestamps (UTC inside Dagger), showing Feb 12 on pages built late on Feb 11 PST. ## Test plan - [x] `mise run docs-check-frontmatter` passes - [ ] Kick off docs release after merge — verify rendered dates match frontmatter values Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/158
1.5 KiB
1.5 KiB
| title | modified | tags | ||
|---|---|---|---|---|
| Docs | 2026-02-08 |
|
Docs (Quartz)
Documentation site built with Quartz and served via nginx.
Quick Reference
| Property | Value |
|---|---|
| Public URL | https://docs.eblu.me |
| Private URL | docs.ops.eblu.me (tailnet only, via caddy) |
| Namespace | docs |
| Container | registry.ops.eblu.me/blumeops/quartz:v1.0.0 |
| Source | docs/ directory in blumeops repo |
| Build | Forgejo workflow build-blumeops.yaml |
| Public proxy | flyio-proxy (Fly.io → Tailscale tunnel) |
Architecture
- Source: Markdown files in
docs/with Obsidian-compatible wiki-links - Build: Forgejo workflow builds Quartz static site on push to main
- Release: Built assets published as Forgejo release attachments
- Deploy: Container downloads release bundle on startup, serves via nginx
Release Process
Documentation is automatically built and released when changes are pushed to main:
- Workflow detects changes in
docs/directory - Quartz builds static HTML/CSS/JS
- Assets uploaded as release attachment
- ArgoCD deployment updated with new
DOCS_RELEASE_URL - Pod restarts and downloads new bundle
Configuration
- Quartz config:
quartz.config.ts - Layout:
quartz.layout.ts - ArgoCD app:
argocd/apps/docs.yaml - Manifests:
argocd/manifests/docs/