| ID | 24dfc8ed-d1e1-4827-b67a-92aeadb0622b |
|---|---|
| DEERTOPIAVISIBILITY | public |
Publishing my Org-roam notes
Publishing my org-roam notes to deertopia's webpage.
Project specification
Implemented in Clojure.
One HTML document per Org file
HTML exporter can be run standalone
Endpoints:
/n/«slug»
/id/«slug»
/«title»
You can affix .pdf to the end of these to get a PDF export
Or .ics to get an ical file (private!)
Graph view with D3.js
Respect roam refs, aliases, citations
Pre-rendered LaTeX with Temml, but fallback to native XeLaTeX SVGs when Temml fails
Sign in to view private files
Features of Deertopian Org-mode:
Epigraphs
Quote footers
Scaling figures
Centering elements
Margin notes
Margin figures
Chat log element
Specify locations of defined terms à la 1Lab or agda-unimath?
Custom parser so we needn't rely on Emacs?
Inline Hiccup (
#+begin_hiccup ... #+end_hiccup)Track time of last modification
Track file creation time
Implementation
Server (clj)
Lazily render requested pages.
Manage view permissions w/ LDAP or whatever.
Doerg processor (clj)
Parse and process Org-mode documents or fragments.
Parse with a small JS script that calls Uniorg-parse.
Process AST with a few filters to handle Doerg-specific extensions.
Output HTML documents or fragments, JSON, or EDN.
Can be used standalone, but also called by the server.
Calls a bit of Javascript to leverage the Temml and Uniorg libraries, for MathML rendering and Org parsing, respectively.