An Org Mode parser for Dart.
For displaying Org Mode documents in Flutter applications, see org_flutter. For an example application that displays Org Mode documents with org_parser and org_flutter, see Orgro.
This package allows you to parse raw Org Mode documents into a structured in-memory representation.
import 'package:org_parser/org_parser.dart';
final doc = OrgDocument.parse('''* TODO [#A] foo bar
baz buzz''');
print(doc.children[0].headline.keyword); // TODOSee the example for more.
This parser was developed for an application that is halfway between pretty-printing and evaluating/interpreting, so in many cases the parsed structure does not split out constituent parts as thoroughly as needed for some applications.
-
Sections/headlines
* TODO [#A] foo bar -
Blocks
#+BEGIN_SRC foo bar #+END_SRC -
Inline src
foo src_sh{echo "bar"} baz -
Affiliated keywords
#+name: foo -
Fixed-width areas
: foo bar : baz buzz -
Tables
| foo | bar | |-----+-----| | biz | baz | -
Lists
- foo - [X] bar 1. baz 2. buzz -
Drawers
:PROPERTIES: foo bar :END: -
Footnotes
Foo bar[fn:1] biz buzz [fn:1] Bazinga -
Links
[[http://example.com][example]] http://example.com -
Emphasis markup
*bold* /italic/ _underline_ +strikethrough+ ~code~ =verbatim= -
Timestamps
[2020-05-05 Tue] <2020-05-05 Tue 10:00> -
Macro references
{{{kbd(C-c C-c)}}} -
LaTeX fragments
Then we add $a^2$ to \(b^2\)\begin{equation} \nabla \times \mathbf{B} = \frac{1}{c}\left( 4\pi\mathbf{J} + \frac{\partial \mathbf{E}}{\partial t}\right) \end{equation} -
Entities
a\leftrightarrow{}b conversion -
Citations
[cite:@key] -
Horizontal rules
----- -
Radio targets
<<<foo>>> -
Link targets
<<bar>>