blumeops/docs/reference/services/docs.md
Erich Blume b0bac91ca9 Fix frontmatter field name for Quartz date display (#158)
## 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
2026-02-11 16:45:12 -08:00

1.5 KiB

title modified tags
Docs 2026-02-08
service
documentation

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

  1. Source: Markdown files in docs/ with Obsidian-compatible wiki-links
  2. Build: Forgejo workflow builds Quartz static site on push to main
  3. Release: Built assets published as Forgejo release attachments
  4. Deploy: Container downloads release bundle on startup, serves via nginx

Release Process

Documentation is automatically built and released when changes are pushed to main:

  1. Workflow detects changes in docs/ directory
  2. Quartz builds static HTML/CSS/JS
  3. Assets uploaded as release attachment
  4. ArgoCD deployment updated with new DOCS_RELEASE_URL
  5. 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/