Hublo
Hublo provides a way to build a site by publishing pages in different phases. A phase is a barrier that must be reached by all pages before advancing to the next. Each hublo command consists of a list of phases to run through, some shortcuts are defined in hublo-cli.el.
Description | A stand-alone blog and publication tool for org-mode. |
---|---|
Author | pyr |
Maintainer | name of maintainer |
Source | https://github.com/pyr/hublo |
Part of Emacs | no |
For instance, the most common hublo command is publish and translates to the following phases: :bootstrap, :metadata, :route, :content, :augment, :publish, and :clean.
This allows some steps to gather information or metadata from other pages which provides an elegant way to build lists and incrementally produce content.
Hublo uses mustache templates.
Example blog
This is the blog: https://github.com/pyr/blog
This is the output: http://spootnik.org/
Instalation
Configuration
(source-dir "site/sources")
(output-dir "site/out")
(handle! "\\.org$" :org)
(handle! "\\.html$" :noop)
(handle! "\\.css$" :noop)
(handle! "\\.mustache$" :mustache)
(page "/entries/.*"
(slugify)
(route "/entries/{{year}}/{{month}}/{{day}}/{{slug}}.html")
(group-with :entries)
(layout "blog")
(layout "default"))
(page "/index.mustache"
(route "/index.html")
(title "home")
(layout "default"))
(page "/index.xml.mustache"
(title "spootnik")
(metadata :description "my blog")
(route "/index.xml"))
(page "/static/.*")
Writing a Post with Hublo
hublo clean hublo publish hublo phases <phase-list>
Documentation
Documentation is at github: https://github.com/pyr/hublo