orgmode-parse

A collection of Attoparsec combinators for parsing org-mode flavored documents.

Latest on Hackage:0.1.1.3

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD3 licensed and maintained by Parnell Springmeyer
* Welcome!
[[https://hackage.haskell.org/package/orgmode-parse][https://img.shields.io/hackage/v/orgmode-parse.svg?style=flat]]
[[https://travis-ci.org/digitalmentat/orgmode-parse][https://travis-ci.org/digitalmentat/orgmode-parse.svg?branch=master]]

This is a reference implementation of an [[https://github.com/digitalmentat/orgmode-grammar/blob/master/SPECIFICATION.org][orgmode-grammar]] parser in
Haskell.

** What's Finished
We have built attoparsec parsers for parsing org-mode document
structures and meta-data. Here is a list of all the syntax features
that have a complete parsing implementation and not:

- [X] Headings
- [X] State keywords
- [X] Priority indicator
- [X] Title
- [X] Status / progress indicator
- [X] Tag list
- [X] Property drawers
- [X] State keyword changelogs
- [X] Scheduled and deadline timestamps (timestamp, range,
duration, periodicity)
- [X] Active and inactive timestamps
- [X] Clock timestamps
- [ ] Markup
- [ ] Emphasis
- [ ] Bold
- [ ] Italic
- [ ] Strikethrough
- [ ] Underline
- [ ] Superscript
- [ ] Subscript
- [ ] Code / monospaced
- [ ] Tables
- [ ] Lists
- [ ] Unordered lists
- [ ] Numbered lists
- [ ] Checkbox modified lists
- [ ] Blocks (src / quote / example blocks)

Org-mode markup is currently being worked on.

* License
[[https://github.com/digitalmentat/orgmode-parse/blob/master/LICENSE][BSD3 Open Source Software License]]

Changes

-*- mode: org -*-

* Changelog
** 0.1.1.0
*** Bugfixes
- The weekday parser now correctly parses weekday appellations of
other languages (thank you nushio3!) using a combinator-style
version of the regex found in org-mode.
** 0.1.0.4
*** Miscellany
- Comment improvement wibbles.
- Adding the =Attoparsec= combinator modules to the export module
list in the cabal package definition.
** 0.1.0.3
*** Features
- Sub-headings are now parsed and tracked by its parent.
- Much more robust timestamp / clock / schedule parsing.

*** Miscellany
- A good mount of code cleanup and comment improvement.

** 0.0.2.1
*** Bugfixes
- [X] Fixing the import for the =Internal= module (instead of
re-exporting it in each parser module).
** 0.0.2.0
*** Features
- [X] Added parsers for the scheduled / deadline timestamps.
** 0.0.1.1
*** Features
- [X] Parsing of property drawer.
- [X] Tests for both drawer and heading parsers.
** 0.0.0.2
*** Features
- [X] Parsers for orgmode list headlines.
comments powered byDisqus