OrgMobParser is a high-performance parser for Org files, powered by the Crystal programming language.
OrgMobParser was developed with the primary purpose of serving as the parsing engine for a backend application known as OrgMob
(Work in Progress).
However, it is a versatile tool, and you are free to use it in any way that suits your needs!
Blazingly Fast
: Thanks to Crystal’s efficiency, OrgMobParser offers exceptional parsing speed for Org files.Easy Integration
: Seamlessly integrate OrgMobParser into your Crystal projects or any compatible application.Inspired by UniOrg
: The format used by OrgMobParser closely resembles that of UniOrg. However, please note that full compatibility with UniOrg is not a current priority.
- Add the dependency to your
shard.yml
dependencies:
org_mob_parser:
github: roy-corentin/org_mob_parser
- Run
shards install
require "org_mob_parser"
parser = OrgMob::Parser.new
parser.configure do |c|
c.todo_keywords = ["TODO", "[ ]", "TODO 🚩", "DOING"]
end
parser = OrgMob::Parser.new
parser.configure do |c|
c.done_keywords = ["DONE", "[X]", "DONE ❌"]
end
parser = OrgMob::Parser.new
parser.parse("* Your Org\nyes your org note") # Return a json in the OrgMob Format
parser.parse("./path_to_org_file") # Return a json in the OrgMob Format
- [X] parse emphasis
- [X] parse top file properties
- [X] parse block code
- [X] parse block quote
- [X] parse title properties
- [X] parser table
- [X] accept file to parse
- [X] binary to parse string or file
- [ ] Add benchmark
- Fork it (https://github.com/roy-corentin/org_mob_parser/fork)
- Create your feature branch (`git checkout -b my-new-feature`)
- Commit your changes (`git commit -am ‘Add some feature’`)
- Push to the branch (`git push origin my-new-feature`)
- Create a new Pull Request
- Corentin Roy - creator and maintainer