chubi icon indicating copy to clipboard operation
chubi copied to clipboard

Simple and easy to extend elixir phoenix blog app

Chubi

Chubi is a simple blog, it can be easily customize and add new functions.

Demo Document

Demo

This is demo blog

username: admin
password: 123123

I build 2 site with Chubi

Document

  1. About Chubi
  2. Getting started
  3. Start writing
  4. Configuration
  5. Create new theme
  6. Template look up
  7. Template variables and helper functions
  8. Shortcode

1. Install

  1. Clone project with [email protected]:bluzky/chubi.git
  2. Install dependencies with mix deps.get
  3. Create and migrate your database with mix ecto.setup
  4. Install Node.js dependencies with cd assets && npm install && npm run dev
  5. Start Phoenix endpoint with mix phx.server

Now you can visit localhost:4000 from your browser.

2. Write your first post

Visit localhost:4000/admin to use admin functions.

This is login credential

username: admin
password: 123123

Click button New post to start writing a new post This is the format of a post

---
title: this is a title
slug: my-first-post
date: 2019-10-01
categories: CategoryA, CateogryB
tags: Tag1, Tag2
draft: true
cover: "your photo url here"

---

this is excerpt

---

your blog content here

The post has 3 sections separated by ---

Metadata

  • title: your post title
  • slug[optional]: slug in used to access your article, instead of using id. slug will be automatically generated from title if you don't set it.
  • date: published date. It is used to order your posts.
  • categories: List of your post's categorie. If category does not exist, it will be added to database
  • tags: Your post's tags. It will be added to database if not existing.
  • draft: Set it to false to publish your post.
  • cover[optional]: Provide a cover photo for your post if your template use it.

Excerpt[Optional]

The second sections after the Metadata section is post's exerpt

Post content

If there is only 2 sections, the second section will be used as post content. If there are 3 sections, 3rd section is used as post content

3. Features

  • Easy to customize template
  • Simple admin interface
  • Support Page and Post
  • Support Shortcode
  • Support Mardown format
  • Support theme
  • Writing in markdown or html _ Export content and import from zip file

4. What it doesn't support

  • Comment: You can use Disqu or Facebook comment plugin, so I wan to keep it as simple as possible
  • User and permission management: It's not an essential functions of a blog. I use Basic Auth for admin authentication. You can roll out your own user management functions.
  • Media library: it is nice to have, but I don't want to make it too compicated.

5. Credit