fairy tale
It's a nice fairy tale.
Purpose:
- Use it to exercise myself
- Get a valuable and light blog engine
Start
Run
-
npm install fairytale -g
to install. -
fairytale -h
to get the command usage.
Structure
Name | Description |
---|---|
Blog.yaml | The config file. |
Public | Any files you like. |
Root | The compiled files. |
Post | The posts. |
Theme | The templet. |
Blog.yaml defines some important varibles. The example is in CLI\blog\blog.yaml . Public directory will be copied to the root directory. Root directory saves deployed files.
Post
Post need to be placed in the Post directory, and the file must be named ".md". If your name of post file is "_", it will be ignored. Every post is composed of the content of Markdown with YAML front matter:
---
title: < title >
slug: < slug >
description: < description > # It's in front of the content.
date: < date > # It's the birth datetime by default.You must fill it in the right format.
category: < category > # It depends on your configs by default.
---
Content
Theme
Every theme is composed of 3 handlebars templates (post.hbs, page.hbs, category.hbs), 1 package file (package.json), and 2 directories (the "partials" and "assets"). All files of the "assets" directory will be copied to the "assets" directory under the "root" directory.
"package.json" describes the name and version of the Theme.
You can also define some varibles by it.
Its struct:
{ "name": "fairytale-theme-casper", "version": "0.1.1", "author": "longque", "variable": {} }
Handlebars provides the power necessary to let you build semantic templates effectively with no frustration.
To get more information, you can see http://handlebarsjs.com/ .
Fairytale provides some helpers: equal,encode,moment,downsize,text,foreach and more. To get more information, you can see my code :)
TODO
- Complete the document
- Provide the API
- Rewrite it in plug-in architecture
Open Source
Git: https://github.com/longque/fairytale
LICENSE: The MIT License