Skip to content
/ organ Public

bzg/organ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

organ

https://img.shields.io/badge/versioning-intver.org-blue.svg?style=for-the-badge

A Clojure library to parse Org mode text into an AST (EDN data).

Usage

(require '[bzg.organ :as organ])

(organ/parse-org "* Hello\nSome *bold* text")
;; => {:type :document, :title "Untitled Document", :children [...]}

(organ/format-ast-as-edn (organ/parse-org (slurp "notes.org")))

Text fields in the AST preserve raw Org markup. Rendering is left to consumers (see hop).

Filter and clean:

(-> (organ/parse-org org-string)
    (organ/filter-ast {:level-limit 2 :title-pattern #"TODO"})
    organ/clean-node)

Install

As a Clojure CLI dependency:

org.clojars.bzg/organ {:mvn/version "2.0.2"}

Works with both Clojure and Babashka (no external deps).

Test

~$ bb test

Deploy

Set your Clojars credentials in the environment:

export CLOJARS_USERNAME=your-username
export CLOJARS_PASSWORD=your-deploy-token

Build the jar and deploy:

clj -T:build deploy

To install locally instead:

clj -T:build install

To just build the jar without deploying:

clj -T:build jar

The version is set in build.clj.

Contribute

You can also send me an email and support my work on liberapay.

Intentional Versioning

This project uses Intentional Versioning, here are the three audiences:

  • Users : Maintainers who rely on organ for their code
  • Integrators : N/A
  • Maintainers : maintainers of the codebase

Support the Clojure(script) ecosystem

If you like Clojure(script), please consider supporting maintainers by donating to clojuriststogether.org.

License

Copyright © 2026 Bastien Guerry

Distributed under the Eclipse Public License 2.0.

About

Clojure Org parser

Resources

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors