org-ml

Homepage: https://github.com/ndwarshuis/org-ml

Author: Nathan Dwarshuis

Updated:

Summary

Functional Org Mode API

Commentary

This is a functional API for org-mode primarily using the `org-element'
library. `org-element.el' provides the means for converting an org buffer to
a parse-tree data structure. This library contains functions to modify this
parse-tree in a more-or-less 'purely' functional manner (with the exception
of parsing from the buffer and writing back to the buffer). For the purpose
of this package, the resulting parse tree is composed of 'nodes'.

This library exposes the following types of functions:
- builder: build new nodes to be inserted into a parse tree
- property functions: return either property values (get) or nodes with
  modified properties (set and map)
- children functions: return either children of nodes (get) or return a node
  with modified children (set and map)
- node predicates: return t if node meets a condition
- pattern matching: return nodes based on a pattern that matches the parse
  tree (and perform operations on those nodes depending on the function)
- parsers: parse a buffer (optionally at current point) and return a parse
  tree
- writers: insert/update the contents of a buffer given a parse tree

For examples please see full documentation at:
https://github.com/ndwarshuis/org-ml

Dependencies

Reverse dependencies