Hublo

From WikEmacs
Jump to navigation Jump to search
hublo
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

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.

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