AtlatestRenderedmarkdown
Readme

sigil-org

A Sigil library for parsing Org Mode text into SXML. Supports headlines, metadata, blocks, inline markup, tables, lists, links, and timestamps.

Features

  • Headlines -- nested levels, TODO/DONE/WAIT/NEXT keywords, priorities, tags
  • Metadata -- #+TITLE:, #+AUTHOR:, and other keywords
  • Source blocks -- #+BEGIN_SRC with language annotation
  • Other blocks -- quote, example, center
  • Inline markup -- bold, italic, code, verbatim, underline, strikethrough
  • Links -- with or without description text
  • Lists -- ordered, unordered, checkboxes
  • Tables -- with separator rows and header detection
  • Timestamps -- active and inactive
  • Property drawers -- key/value metadata on headlines

Usage

Add sigil-org as a dependency in your package.sgl:

(from-git url: "codeberg:sigil/sigil-org" package: "sigil-org")

Then parse Org text:

(import (sigil org))

;; Parse a string
(define doc (org->sxml "* Hello World\nSome text."))

;; Parse a file
(define doc (org-file->sxml "notes.org"))

The result is an SXML document tree compatible with (sigil sxml).

Dependencies

  • sigil-stdlib
  • sigil-peg
  • sigil-sxml

Building

sigil deps install
sigil build
sigil test

License

BSD-3-Clause