Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Responsive blogging engine for ephemeral platforms.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 db
Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 themes
Octocat-spinner-32 .env
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 Procfile
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 TODO.md
Octocat-spinner-32 config.ru
README.md

Hekla

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).

Deployment

Deploy to Heroku:

git clone https://github.com/brandur/hekla.git
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'
heroku addons:add memcache:5mb

Upload an article using a template like the-surf:

git clone https://github.com/brandur/the-surf.git
export THE_SURF_HTTP_AUTH_KEY=$HTTP_API_KEY
export THE_SURF_HOST="https://the-surf.herokuapp.com"
bin/new articles/test-article
bin/create articles/test-article.

Local

Settings are pulled from .env:

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

Testing

Run the test suite with:

createdb hekla-test
bundle exec sequel -m db/migrate "postgres://localhost/hekla-test"
rake
Something went wrong with that request. Please try again.