Coil is a minimalistic static content engine written in elixir.
You must have the latest stable version of elixir installed, v0.12.5 as of the writing of this.
Clone the repo, fetch dependencies and compile:
git clone https://github.com/badosu/coil
cd coil && mix do deps.get, compile
Bootstrap a sample coil blog:
mix coil ../blog
cd ../blog && mix deps.get
Apply your configuration:
$EDITOR config.yml
Add an article: mix post
.
Run (on port 8080): PORT=8080 mix run --no-halt
.
Deploy to Heroku:
heroku create --buildpack "https://github.com/goshakkk/heroku-buildpack-elixir.git"
git push heroku master
If you have a mix.exs
file requiring the coil lib properly, like
this one, you have only to follow the structure
below to get it working:
.
|-- articles
| `-- YYYY-mm-dd-article-title.md
|-- assets
| `-- example.css
|-- config.yml
|-- mix.exs
|-- pages
| `-- title.md
`-- templates
|-- archives.html.eex
|-- article.html.eex
|-- index.html.eex
|-- index.xml.eex
|-- layout.html.eex
`-- page.html.eex
- Index:
/
- Page:
/title
- Resource:
/assets/example.css
- Article:
/articles/YYYY-mm-dd-article-title
- RSS feed:
/feed
- Archives:
/archives
Templates are embedded elixir files (see the EEx docs), and can be customized to suit your design:
layout.html.eex
The template in which all other templates are embeddedindex.html.eex
Renders the home pagearticle.html.eex
Renders the article pagepage.html.eex
Renders the page pagearchives.html.eex
Renders the archives pageindex.xml.eex
Renders the rss feed
The MIT License, see LICENSE