Awesome
Coil
Coil is a minimalistic static content engine written in elixir.
Requirements
You must have the latest stable version of elixir installed, v0.12.5 as of the writing of this.
Install
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
Usage
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
Customize
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
Routes
- Index:
/
- Page:
/title
- Resource:
/assets/example.css
- Article:
/articles/YYYY-mm-dd-article-title
- RSS feed:
/feed
- Archives:
/archives
Templates
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
License
The MIT License, see LICENSE