Hello!
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!
Teodor