Nabo (Nabo v2.0.0) View Source
Nabo is a simple, fast blog engine written in Elixir.
Nabo is designed to be integrate-able to other components in your application like Phoenix or Plug. It does not include stuff like routing or html generating, but only focuses on one thing and does it well: manages your blog posts.
Post
Post is the heart of Nabo and is represented as Nabo.Post
struct.
You can keep your blog posts in any directories you like in the source code, but all posts should follow this format.
metadata (JSON, mandatory)
---
post excerpt (Markdown, optional)
---
post body (Markdown, mandatory)
Example
{
"title": "First Nabo post",
"slug": "first-post",
"published_at": "2017-01-01T00:00:00Z"
}
---
This is my first blog post created with Nabo.
---
### Section 1
My first blog post created with Nabo.
### Section 2
...
See Nabo.Post
for more information.
Repo
To access your blog posts, you need to create a repo.
defmodule MyRepo do
use Nabo.Repo, root: "priv/posts"
end
To get all posts.
posts = MyRepo.all()
To get a post by its slug.
{:ok, post} = MyRepo.get("first-post")
See Nabo.Repo
for more information.
Compiler
Compiler is where your posts being compiled.
Nabo uses Nabo.Compilers.Markdown
as the default compiler but you're free to have
your own options and compilers. See the documentation of Nabo.Compilers.Markdown
for more options.
If you want to build your own compiler, see Nabo.Compiler
for more information.