TOML frontmatter interprets bare dates like 2022-10-31 as date literals
requiring time components, causing parsing issues. YAML handles dates
as strings by default, avoiding these problems.
Changes:
- export.ex: Add org-hugo-front-matter-format set to yaml
- index.ex: Update title regex to match YAML format (title: vs title =)
- quartz.config.ts: Use default FrontMatter plugin (YAML) instead of TOML
The static/ directory lookup was hardcoded as a relative path from the
Quartz working directory (QUARTZ_PATH). However, ox-hugo places static
files in output_dir/static, while Quartz runs with --directory pointing
to output_dir/content.
This fix resolves static/ relative to argv.directory's parent (the
output_dir), matching where ox-hugo actually places the files. Images
referenced as /ox-hugo/... in exported markdown now display correctly.
- Add org-id resolution for [[id:...]] links by building ID locations
database once before parallel export
- Handle broken file links gracefully with org-export-with-broken-links
- Fix race condition in parallel exports by pre-building ID cache
- Fix Quartz config not being applied: cp was preserving nix store hash
prefix in filename instead of using explicit destination filename
- Continue pipeline even when some exports fail, reporting failures
- Improve error handling and logging throughout export pipeline
- Generate index even when no .org files are found
- Don't halt CLI early when no org files - let pipeline complete
- Index will be empty but present, allowing Quartz to serve something
When CLI options --port/--ws-port were not provided, nil values were
being explicitly passed to Server.start_link, which caused Keyword.get
to return nil instead of the default. Now we only include port options
in the keyword list if they have actual values.
- Add configuration system (config/*.exs, OrgGarden.Config)
- Refactor supervision tree with DynamicSupervisor and Registry
- Add OrgGarden.Server for serve mode lifecycle management
- Add health check HTTP endpoints (Bandit/Plug on :9090)
- Add telemetry events for export and watcher operations
- Implement graceful shutdown with SIGTERM handling
- Add Mix Release support with overlay scripts
- Add NixOS module for systemd service deployment
- Update documentation with service usage