hugo is nice - but it's huge. I've never built a static site generator before and thought the world could use one more - it's not like there's already enough choice out there! No, but seriously. I love hugo and it has all the bells and whistles and you should definitely use that and not this. I just like reinventing the wheel to learn about stuff - and I like the 80/20 rule. This gives like 60% of what I want already and is tiny fraction of hugo in terms of LOC (hugo without it's bazillion dependencies is like 80k+ - this is like 500 and very likely won't ever grow above let's say 5k). Also org mode is awesome and why not use it as a configuration format as well. Let's see where this goes. YOLO.
30 lines
1.8 KiB
Org Mode
30 lines
1.8 KiB
Org Mode
* go-org [[https://travis-ci.org/niklasfasching/go-org.svg?branch=master]]
|
|
An Org mode parser in go. And soon a blog generator.
|
|
Take a look at [[https://niklasfasching.github.io/go-org/][github pages]] for some examples and to 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
|
|
go-org
|
|
#+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 install=
|
|
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]]
|