Org mode is an amazing way to write documents. It has a plethora of features that make it just a treat to use.
Trying different parsers.
I spent a lot of time looking for a good parser that would turn orgmode documents into usable data. Well I found a lot!
200ok-ch/org-parser
I figured the easiest solution would be to use a Clojure library for this. Unfortunately, this guy's library did not work as well as I had hoped. It would not properly parse basic things like unnumbered lists and source code blocks due to a bug. Since this was the best Clojure parser, I decided to try looking for a way to use a node package.
orgzly/org-java
This parser was designed for a pretty cool android app. Check it out here. Doesn't really fit my purposes. Unfortunately, there's little to no documentation on how to use this library. I don't know how Java works so I won't be able to understand what anything does, let alone how to interop with it.
rasendubi/uniorg
This parser was written in typescript, available on npm, and parses in the same way org-mode parses. Luckily, after the original creator worked out a fatal bug, I finally got a parser that works really well!
Update: 2021-7-11 I created a command line utility that converts Org documents to html and JSON or EDN, whichever you like. You can get it with a simple npm install uniorg-util
.
Here's links to the project:
I like how my solution came out, but I think I could have my parsing done on the client to simplify the build process.
Also, I can't use \\
{.verbatim} to force a line break. I'll have to see what I can do about that.