Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Responsive blogging engine for ephemeral platforms.
Branch: master

This branch is 199 commits behind brandur:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
db/migrate
lib
models
test
themes
.env
.gitignore
Gemfile
Gemfile.lock
Procfile
README.md
Rakefile
TODO.md
config.ru
hekla.rb

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 -s cedar 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-content:

git clone https://github.com/brandur/the-surf-content.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:

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