Responsive blogging engine for ephemeral platforms.
JavaScript CSS Ruby CoffeeScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Successor to Askja, a very simplistic blogging platform designed specifically for running on ephemeral platforms (like Heroku).

The main features of Hekla:

  • Fast iteration on article versions. Updating an article is done via a simple JSON API, and when hit with a client like Curl an update is possible almost instantaneously.
  • Supports multiple "blogs" in the same repository by creating new directories under themes. These still need to be deployed separately, but can share a common codebase.
  • Not as susceptible to frequent security exploits or outdating (i.e. unlike my previous versions, it's not written in Rails).


Deploy to Heroku:

git clone
cd hekla
heroku create the-surf
export HTTP_API_KEY=$(ruby -e "require 'securerandom'; puts SecureRandom.hex(20)")
heroku config:add THEME=the-surf HTTP_API_KEY=$HTTP_API_KEY
git push heroku
heroku run 'sequel -m db/migrate $DATABASE_URL'

Upload an article using a template like the-surf:

git clone
export THE_SURF_HOST=""
bin/new articles/test-article
bin/create articles/test-article.


Settings are pulled from .env:

bundle install
sequel -m db/migrate $DATABASE_URL
foreman start


Run the test suite with:

createdb hekla-test
bundle exec sequel -m db/migrate "postgres://localhost/hekla-test"