Fix ox-hugo export with internal ID links and Quartz config

- 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
This commit is contained in:
Ignacio Ballesteros
2026-02-22 19:55:17 +01:00
parent c7bd37bb95
commit 1fac31dc73
9 changed files with 169 additions and 80 deletions

View File

@@ -1,6 +1,7 @@
#+title: org-garden
An [[https://orgmode.org/][org-roam]] to static website publishing pipeline. Converts =.org= notes into a rendered site using Emacs/[[https://ox-hugo.scripter.co/][ox-hugo]] for export and [[https://quartz.jzhao.xyz/][Quartz 4]] for site generation.
An [[https://orgmode.org/][org-roam]] to static website publishing pipeline. Converts =.org= notes into a rendered site using
Emacs/[[https://ox-hugo.scripter.co/][ox-hugo]] for export and [[https://quartz.jzhao.xyz/][Quartz 4]] for site generation.
* Usage
@@ -33,7 +34,7 @@ A NixOS module is provided for running org-garden as a systemd service:
#+begin_src nix
{
inputs.org-garden.url = "github:ignacio.ballesteros/org-garden";
inputs.org-garden.url = "git+https://gitea.bueso.eu/ignacio.ballesteros/org-garden";
outputs = { self, nixpkgs, org-garden }: {
nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
@@ -42,7 +43,6 @@ A NixOS module is provided for running org-garden as a systemd service:
{
services.org-garden = {
enable = true;
package = org-garden.packages.x86_64-linux.default;
notesDir = /path/to/notes;
port = 8080;
};