go-org-orgwiki/README.org
2018-12-26 16:10:23 +01:00

46 lines
3.1 KiB
Org Mode

* go-org [[https://travis-ci.org/niklasfasching/go-org.svg?branch=master]]
A basic Org mode parser in go.
Take a look at [[https://niklasfasching.github.io/go-org/][github pages]] for some examples and an online org -> html demo (requires wasm support).
* next
- more keywords: https://orgmode.org/manual/In_002dbuffer-settings.html
- table of contents
- see hugo ExtractTOC
- loop the headlines and print an hX for each headline, ul for children
- rethink frontmatter
- use toml/yaml/json frontmatter from hugo (see [[https://github.com/gohugoio/hugo/issues/5436][hugo #5436]]):
- complex values are a requirement of hugo, not Org mode
- by giving up on the ability to mix front matter in org keyword (=#+=) and other formats we save a lot of complexity (that has little benefit)
- Maybe allow for []string via KEYWORD[]: Tag Foo Bar - can be done in hugo
-> the other problem is that org mode normally allows markup in the title - but we would have to render - and to what format
** headlines
- auto-generate unique ids: see [[https://github.com/kaushalmodi/ox-hugo/blob/8472cf2d8667754c9da3728255634e8001a1da6d/ox-hugo.el#L1785-L1850][ox-hugo]]
- what about name conflicts?
** links
https://orgmode.org/manual/External-links.html
https://orgmode.org/manual/Internal-links.html
radio target <<<MyTarget>>>
link target: <<go-org>>
link: [[go-org]]
link to headline
MyTarget <- this will automatically become a link - not sure i want this...
* differences to goorgeous
To get a feeling take a look at goorgeous vs go-org html rendering of the examples [[https://niklasfasching.github.io/go-org/go-org-vs-goorgeous][comparison]].
Please note that a visual comparison is not fair to goorgeous as the stylesheet is not adapted to it.
Nonetheless, the html output can be compared by taking a look in the developer console where relevant.
- not changing links to .org files into links to .html files
- do not plan to implement this, too many edge cases (e.g. [[https://github.com/chaseadamsio/goorgeous/issues/56][mangling links to e.g. example.org]].)
- org comments not rendered as html comments (same as ox-html.el)
- goorgeous treats all `file:` links as images - go-org checks for an image file extension (same as ox-html.el)
- no support for [@10] in ordered lists https://github.com/chaseadamsio/goorgeous/issues/18
- do not plan to implement this
* resources
- test files
- [[https://raw.githubusercontent.com/kaushalmodi/ox-hugo/master/test/site/content-org/all-posts.org][ox-hugo all-posts.org]]
- https://ox-hugo.scripter.co/doc/examples/
- https://orgmode.org/manual/
- https://orgmode.org/worg/dev/org-syntax.html
- https://code.orgmode.org/bzg/org-mode/src/master/lisp/org.el
- https://code.orgmode.org/bzg/org-mode/src/master/lisp/org-element.el
- mostly those & ox-html.el, but yeah, all of [[https://code.orgmode.org/bzg/org-mode/src/master/lisp/]]
- existing Org mode implementations: [[https://github.com/emacsmirror/org][org]], [[https://github.com/bdewey/org-ruby/blob/master/spec/html_examples][org-ruby]], [[https://github.com/chaseadamsio/goorgeous/][goorgeous]], [[https://github.com/jgm/pandoc/][pandoc]]