I’m using Org-mode for keeping track of the textual information i produce, and I’m guessing that there are other emacsen around here that do the same.
I would like to be able to use Org-mode for more programmatic use-cases. Like semantic searches through documents I’m writing. Ideally, I would like to be able to work with the data in an Org-Mode document with Clojure.
To kick things off, here’ a sample document and a possible representation:
* An idiomatic data format for Org-mode documents By using Org-mode for input manipulation, we have a best-in-class input system. But we should be able to work with it programatically, from the REPL! What if I want to perform some conversion? ** Possible uses Use org-mode for Clojure data structure manipulation when we want to /author/ some content, put that org file in the project and ~io/resource~ it out. ** Data or database? Should we go for pure data (like Hiccup and Pandoc) or a database that we can traverse and query? I've wanted to use Datascript for something serious for a while.
[:section [:header "An idiomatic data format for Org-mode documents"] [:body [:p "By using Org-mode for input manipulation ..."] [:section [:header "Possible uses"] [:p "Use org-mode for Clojure data structure ..."]] [:section [:header "Data or database?"] [:p "Should we go for pure data (like Hiccup and Pandoc) or a ..."]]]] ;; Personal comments: This doesn'ẗ really represent header levels ;; right. And it feels verbose. Improvement suggestions?
Two quick points:
- Let’s not go for a full spec at once. Org mode is massive. My proposition: Represent the structure of the document with headers containing headers and text, and leave out italics, code blocks and all the little bits for now. Improve if it’s good.
- Should we look at a document like pure data (like hiccup) or a database (Datascript?)?
I’m interested in hearing your opinions!