Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/niklasfasching/go-org
Org mode parser with html & pretty printed org rendering. also shitty static site generator.
https://github.com/niklasfasching/go-org
emacs go org-mode static-site
Last synced: 8 days ago
JSON representation
Org mode parser with html & pretty printed org rendering. also shitty static site generator.
- Host: GitHub
- URL: https://github.com/niklasfasching/go-org
- Owner: niklasfasching
- License: mit
- Created: 2018-12-02T13:12:06.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-20T14:05:57.000Z (3 months ago)
- Last Synced: 2024-08-21T14:59:04.608Z (3 months ago)
- Topics: emacs, go, org-mode, static-site
- Language: Go
- Homepage: https://niklasfasching.github.io/go-org/
- Size: 1.69 MB
- Stars: 349
- Watchers: 5
- Forks: 48
- Open Issues: 9
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
* go-org
An Org mode parser and static site generator in go.
Take a look at github pages
- for [[https://niklasfasching.github.io/go-org/][org to html conversion]] examples
- for a [[https://niklasfasching.github.io/go-org/blorg][static site]] generated by blorg
- to [[https://niklasfasching.github.io/go-org/convert.html][try it out live]] in your browser[[https://raw.githubusercontent.com/niklasfasching/go-org/master/etc/example.png]]
Please note
- the goal for the html export is to produce sensible html output, not to exactly reproduce the output of =org-html-export=.
- the goal for the parser is to support a reasonable subset of Org mode. Org mode is *huge* and I like to follow the 80/20 rule.
* usage
** command line
#+begin_src bash
$ go-org
Usage: go-org COMMAND [ARGS]...
Commands:
- render [FILE] FORMAT
FORMAT: org, html, html-chroma
Instead of specifying a file, org mode content can also be passed on stdin
- blorg
- blorg init
- blorg build
- blorg serve
#+end_src
** as a library
see [[https://github.com/niklasfasching/go-org/blob/master/main.go][main.go]] and hugo [[https://github.com/gohugoio/hugo/blob/master/markup/org/convert.go][org/convert.go]]
* development
1. =make setup=
2. change things
3. =make preview= (regenerates fixtures & shows output in a browser)in general, have a look at the Makefile - it's short enough.
* 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]]