Skip to content

logseq/mldoc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bedae99 · Aug 3, 2024
May 8, 2021
Jul 31, 2024
Jul 31, 2024
Jun 25, 2020
Aug 3, 2024
Jul 31, 2024
Jul 31, 2024
Mar 22, 2021
Jul 31, 2024
Feb 17, 2021
Dec 12, 2019
Dec 12, 2022
Feb 28, 2021
May 29, 2023
May 14, 2020
Dec 12, 2022
May 14, 2020

Repository files navigation

Mldoc

Another Org-mode and Markdown parser implemented using OCaml and Angstrom. It’s based on mlorg which is a high quality Org-mode parser written by Simon Castellan.

Who’s using Mldoc?

  • Logseq, a local-first notes app (In development)

Build

# compile
make

# run test
make test

Run utop

cd lib
dune utop

Usage

For Javascript users

# install mldoc
npm install -g mldoc

# convert org mode file to html
mldoc convert -i ./test.org -o ./test.html

# convert markdown mode file to html
mldoc convert -i ./test.markdown -o ./test.html

For OCaml users

# compile
make

# convert org file to html
_build/default/bin/main.exe ./test.org -o ./test.html

Invoke utop in Emacs

opam config exec -- dune utop lib -- -emacs

Parsing todos [12/12]

Heading [7/7]

  1. [X] level
  2. [X] marker
  3. [X] priority
  4. [X] title
  5. [X] tags
  6. [X] stats
  7. [X] footnote

Markup (Inline) [14/14]

  1. [X] Latex fragment
  2. [X] timestamp
  3. [X] entity
  4. [X] macro
  5. [X] statistics cookie
  6. [X] footnote reference
  7. [X] link
  8. [X] direct link
  9. [X] target
  10. [X] verbatim
  11. [X] code
  12. [X] nested emphasis [4/4]
    1. [X] bold
    2. [X] underline
    3. [X] italic
    4. [X] strike_through
  13. [X] subscript
  14. [X] superscript

Table [2/2]

  1. [X] preliminary support
  2. [X] column groups

List [3/3]

  1. [X] Unordered list
  2. [X] Ordered list
  3. [X] Definition list

Directive

Block [5/5]

  1. [X] src
  2. [X] quote
  3. [X] example
  4. [X] custom
  5. [X] block nested in block

Comment

Drawer

Not exported.

Horizontal

Latex environment

Quoting

TOC

Export [2/2]

  1. [X] json
  2. [X] html