A simple static site/blog generator like jekyll but simpler, made in node.js
$npm install blode -g
.
|-- config.json
|-- static
|-- layouts
| |-- main.html
|-- pages
| |-- no-layout-page.md
| | main
| | |-- page-using-main-layout.md
|-- output
Main site configuration.
The possible keys are:
port (number): the default server port (--server).
url (string): the site's url.
rss (object): if you specify this object in the config an RSS will be created everytime you regenerate the site (--gen). The object format:
{
"title": "a title",
"description": "a description",
"feed_url": "http://example.com/rss.xml",
"site_url": "http://example.com",
"image_url": "http://example.com/icon.png",
"author": "Test Jones"
}
All static files like html, images, documents, etc. They'll be copied to the output folder.
Layout files represented as doT html files (allowed extensions: .htm, .html). You can use the following variables inside a layout:
E.g:
<body>
-- header --
{{=blode.body}}
-- footer --
</body>
All files should be utf-8 encoded.
The dynamic content. They should be markdown files (extension .md). If you put a page inside a subfolder called X then X is the name of the layout (without extension) to use for this page. All files should be utf-8 encoded.
The folder where the generated content will be placed.
You can use -v
or --verbose
to execute the commands in verbose mode.
blode --help
Show the help.
blode --new /my/new/site
Creates a new site skeleton at /my/new/site
or at the current working dir if none is specified.
blode --gen
Generates the site at current dir (must be a valid blode directory).
blode --server 3000
Starts a web server at port 3000 (default: 4000) to test the site (must be a valid blode directory).