Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/haxscramper/haxorg_nim


https://github.com/haxscramper/haxorg_nim

Last synced: 1 day ago
JSON representation

Awesome Lists containing this project

README

        

Nim parser for org-mode

NOTE: work-in-progress

[[https://orgmode.org/][org-mode]] parser, compiler, and exporter in nim. Several custom extensions
to syntax are supported, specifiaclly geared towards use in documentation
generator for [[https://github.com/haxscramper/haxdoc][haxdoc]].

# This is a placeholder readme title - commented out for now, untill all
# features listed could really be delivered. You can treat this as a
# PR-oriented todo list if you wish.

# Org-mode is the most reasonable markup language , an
# I mean really . But it is really adopted only inside of
# emacs. Why? Because .

# Will this project change it? I'm not sure, but it is worth a try at least.
# Thanks to unparallel metaprogramming capabilities of nim-lang and support
# for multiple backends it is easily possible to make it accessible to
# everyone - from low-level C interfaces to js
# compilation . Thanks to awesome numpy project
# seamless python integration is also possible. If you need to write wrappers
# for your particular language you can see machine-readable description of C
# API . Also you can just run parser and export org-mode AST to various
# formats such as , , or even .

# If you are interested on how all of this is possible from single codebase
# with minimal effort - here is an article .

# Installation is very simple - standalone binary, only in size. Various distributions are
# provided, ranging from fully-featured with spellchecker, guile interpreter
# built-in , to minimalistic one, with only
# converter functionality.

* TODO Planned features
:PROPERTIES:
:CREATED: <2021-01-13 Wed 15:04>
:END:

** TODO Base org-mode parser [0/3]
:PROPERTIES:
:CREATED: <2021-01-13 Wed 15:04>
:END:

- [ ] Support for parsing base org-mode format
- [ ] Documentat syntax extensions
- [ ] Porting features from other markup languages
- [ ] Partial support for markdown syntax elements
- [ ] Links
- [ ] Headings
- [ ] Code block format
- [ ] Key-value pairs for metadata
- [ ] emacs file variables

** TODO Code runner implementation
:PROPERTIES:
:CREATED: <2021-01-13 Wed 15:05>
:END:

Execution of code blocks in text

** TODO Exported backends [0/1]
:PROPERTIES:
:CREATED: <2021-01-13 Wed 15:06>
:END:

- [-] Base
- [ ] Html
- [ ] Latex
- [X] Machine-readable output like json
- [X]

** TODO Different backends support
:PROPERTIES:
:CREATED: <2021-02-04 Thu 13:53>
:END:

- [ ] C, C++
- [ ] Pure-C bindings
- [ ] JS for interactive demo
- [ ] nimscript - use as asternative to ~docopt~ formatting.