Commit Graph

19 Commits

Author SHA1 Message Date
Ignacio Ballesteros
a4582230b5 feat: unified watch server under org-garden 2026-02-21 00:36:31 +01:00
Ignacio Ballesteros
1076bf31ed feat: pipeline - org2md file watch 2026-02-20 23:31:06 +01:00
Ignacio Ballesteros
a907d6513b docs(examples): add image reference example note with all three scenarios
Adds notes/example-images.org demonstrating how org-mode image links of
each kind pass through ox-hugo and land in content/:

  Scenario 1 — External URL: linked image using #+ATTR_HTML + a local
    thumbnail as the display image; ox-hugo emits a {{< figure >}} shortcode
    with a link= attribute pointing to the remote URL.

  Scenario 2 — Local file (same notes dir): [[file:quartz-logo.jpg]]
    ox-hugo copies the file to static/ox-hugo/ and rewrites the src to
    /ox-hugo/quartz-logo.jpg.

  Scenario 3 — Absolute path outside notes dir: [[file:/abs/path/img.jpg]]
    ox-hugo copies the file from outside the notes tree into static/ox-hugo/
    and rewrites the src identically to scenario 2.

Also adds:
  notes/quartz-logo.jpg          — image asset for scenarios 1 & 2
  notes-external/                — simulates an assets dir outside notes
  static/ox-hugo/ added to .gitignore (populated at export time)
2026-02-20 10:09:54 +01:00
Ignacio Ballesteros
511b003da8 Add Elixir markdown pipeline with org-citar citation resolution
Introduces scripts/pipeline/, a Mix project that runs as a post-export
transformation pass over content/*.md before Quartz builds the site.

Pipeline (scripts/export.exs phase 3):
- Compiles and loads the Mix project at export time (cached after first run)
- Applies a list of Transform modules sequentially over all .md files
- Only rewrites files that were actually changed

Citations transform (Pipeline.Transforms.Citations):
- Resolves [cite:@key] and bare cite:key syntax produced by ox-hugo/citar
- Resolution chain: Zotero BBT JSON-RPC → BibTeX file → DOI/bare-key fallback
- Zotero probe uses a no-op JSON-RPC call (cayw endpoint blocks indefinitely)
- Zotero resolver fetches PDF attachments via item.attachments, producing
  zotero://open-pdf/... links; falls back to zotero://select/library/items/...
- BibTeX resolver parses .bib files with a simple regex parser (no deps)
- DOI resolver is the always-succeeding last resort

Configuration via env vars:
  BIBTEX_FILE   — path to .bib file for fallback resolution
  ZOTERO_URL    — Zotero base URL (default: http://localhost:23119)
  CITATION_MODE — silent | warn (default) | strict

Adding future transforms requires only implementing Pipeline.Transform
behaviour and appending the module to the transforms list in export.exs.
2026-02-20 10:00:11 +01:00
Ignacio Ballesteros
ec1426241c Ignore generated content/ output and erl_crash.dump 2026-02-19 18:21:02 +01:00
Jeremy Press
b6b1dabde0 feat: support configurable ws port and remote development (#429)
Co-authored-by: Jeremy Press <jeremy@replit.com>
Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2023-08-27 17:39:42 -07:00
Jacky Zhao
cea6834fef profiling, better concurrency heuristics 2023-08-09 00:26:33 -07:00
Jacky Zhao
49bd6bc3ff better concurrency debugging, --concurrency flag for npx quartz build 2023-08-08 22:52:49 -07:00
Jacky Zhao
3ac6b42e16 finish path refactoring, add sourcemap + better trace support 2023-07-15 23:02:12 -07:00
Jacky Zhao
465804a389 basic docs, remove publish, add quartz create 2023-07-05 00:16:06 -07:00
Jacky Zhao
92ca787092 fix default callout state 2023-07-04 18:26:11 -07:00
Jacky Zhao
9ad89997a5 multi-core builds 2023-06-04 12:35:45 -04:00
Jacky Zhao
a757521313 base setup 2023-05-28 17:44:08 -07:00
Jacky Zhao
5ef9aad501 feat: add support for semantic search using operand 2022-07-31 12:16:36 -07:00
Claudio Yanes
7e0f2e4449 Fix fetchData
The fetchData function suffer from a race condition. If the function is
called before the promise finishes, it will result in another pair of
HTTP request. This does not only make the function useless but
Actually, it makes it harmful as the data might be redownloaded twice.

Now fetchData is not a function but rather the promise by itself.
Previous callers are expected to await the variable instead, this
should be not concern as awaiting a promise multiple time in
JavaScript is completely safe.
2022-03-04 02:25:30 +00:00
Jacky Zhao
fcd5d2807d feat: dynamically fetch indices 2022-02-15 19:39:14 -05:00
jackyzha0
1c851271ea add search support 2021-08-27 14:08:11 -04:00
jackyzha0
ea69050587 add base pages 2021-07-18 11:54:00 -04:00
jackyzha0
c01138a81c add base structure 2021-07-18 09:35:42 -04:00