Next: Reproducible Research, Previous: Org-Mode as a Day Planner, Up: Mastering Org-Mode [Index]
Anyhow, if it’s any comfort, hugo is a really fast static site generator that live updates the browser as soon as I C-x C-s my Org file (which auto-triggers the export to .md via ox-hugo)
I develop an Org exporter called ‘ox-hugo’ which is basically a Markdown (with bits and pieces of HTML where Markdown falls short) exporter + TOML/YAML front-matter generator for Hugo static sites. In the process of supporting basically the whole of the Org syntax that I know of, and making any Org document exportable almost in par with ox-html, I ended up with this humongous test file. It covers probably every niche of Org syntax that I or folks who filed issues on the repo could think of (a recent one being.. variations in Org syntax for inline vs standalone images, hyperlinked vs not, with/without HTML target attribute being set via ‘#+ATTR_HTML’, with/without captions). I am mentioning that file with hopes that orga is able to support all kinds of Org syntax in that. Many tests in there are for testing the Hugo front-matter export, but majority of that test file should work for your project too. In addition, how does orga support subtree properties, tags, etc which is critical for folks using a single Org file (like that test file) to store all their Org documents organized as subtrees (instead of having a physical Org file for each document)? Once again, great to see more Org mode out in the wild :)
Hugo is a static site generator. It natively supports org-mode, builds fast, and has live reloading.
When this blog was conceived, I decided that I wanted it to be entirely contained in a single org file, and that this would also be my Emacs init file…. Before anything else, it should go without saying that the content of the posts is written in org-mode. The engine I use for exporting is a large wrapper around ox-jekyll, and the posts are all pushed to Github and rendered by their built-in Jekyll support.
First of all because org, once you learn its knobs and bobs, is just plain powerful…. This is a small difference, but it applies all around. If I want to link to a previous post, I find it with C-c C-j and then move back with C-u C-SPC, all without leaving the buffer. When I look at the posts list, the tags are listed right beside the title, I don’t have to open a file to see them…. You see, if posts were separate files I would have to copy the snippets to a separate org file, and then write about them there, and then export them to Jekyll. In this scenario, I just know I would eventually change some snippet (a healthy init file is a fluid creature) and forget to update the corresponding org file, and the thought of leaving out-dated code lying around sent a chill through my spine. Not to mention, this whole flow of “init file → org post → jekyll post” has one layer too many for my taste, and redundancy is an evil I slay with a chainsaw.
Org-octopress is a package to help users those who want to write blog articles in org-style using Octopress (or Jekyll).
All pages of this website has been designed in org-mode. Not just this blog. The repository contain source code for the complete website…. For about a year, I have been trying to find a suitable workflow to blog using Emacs org-mode. My idea was to put all articles (posts) in a single org file, which failed misserably for the following reasons:
This site is now generated through org-mode, an emacs library which is used for outlining. The generation of the HTML lies in the export functionality of outlines. The benefits of this system is that its easy, uses a tool that I’m already familiar with, and extensible.
The heart of my blog lies in org-modes export format. You can find the documentation for it here. This post, currently looks something like the picture above. Standard org-mode stuff.
The exporting stuff lives in a small amount of elisp (which is in a non-exported node of my
index.org
(which turns into index.html
)). When I export my org project, it publishes via
tramp to my server’s web root.
This blog is written with Org-mode from Emacs, and deployed using a git hook.
Org is a very powerful tool, but most of the org setups I’ve seen hasn’t used it to its full potential. This website is one example of a complex, multi-page project built in org. This post is a ’brief’ overview of how it was created.
Obviously, the Org publishing feature was all that I needed. I whipped up a nice little configuration that produces this website from a set of Org source files, some custom CSS and HTML, and some custom Elisp.
This post describes the configuration for this website, which is statically generated using emacs and org-mode. Org-mode’s publishing functionality is used to generate the HTML content from source org files.
Next: Reproducible Research, Previous: Org-Mode as a Day Planner, Up: Mastering Org-Mode [Index]