No description
- Common Lisp 98.4%
- Just 1.6%
| .github | ||
| doc | ||
| src | ||
| tests | ||
| AGENTS.md | ||
| dev.metalisp.orgmode.asd | ||
| justfile | ||
| LICENSE | ||
| README.html | ||
| README.org | ||
dev.metalisp.orgmode
A simple, data-driven Org-mode to HTML converter in Common Lisp.
System Dependencies
The following are the expected baselines for local development:
- Fedora Linux
- Podman
- Just
- SBCL (Steel Bank Common Lisp)
Quickstart
You can start the interactive REPL to play with the library:
# Start the interactive SBCL REPL
just repl
Usage
(ql:quickload :dev.metalisp.orgmode)
;; Parse a string with markup and links
(ml-orgmode:parse-org-string "* Hello
This is /italic/ and [[https://google.com][a link]].
- Item 1
- Item 2")
;; Convert to HTML
(ml-orgmode:ast-to-html (ml-orgmode:parse-org-string "* Welcome"))
;; => "<h1>Welcome</h1>"
Testing
The test suite is split into two layers:
- Unit tests (
tests/suite.lisp): fast, isolated checks for every parser collector and HTML renderer. - End-to-end tests (
tests/e2e.lisp): parsetests/fixtures/TEST.org(a fixture covering every supported element) and assert correct HTML output.
Run everything with just:
just test # full suite — unit + e2e (~280 checks)
just test-e2e # e2e suite only
just test-one parse-headline # single named test
Or directly from a Lisp REPL:
(asdf:test-system :dev.metalisp.orgmode)