Skip to content

stackoverflow/blode

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 

Blode

A simple static site/blog generator like jekyll but simpler, made in node.js

Install

$npm install blode -g

Structure

.
|-- config.json
|-- static
|-- layouts
|   |-- main.html
|-- pages
|   |-- no-layout-page.md
|   |   main
|   |   |-- page-using-main-layout.md
|-- output

config.json

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"
    }
    

static

All static files like html, images, documents, etc. They'll be copied to the output folder.

layouts

Layout files represented as doT html files (allowed extensions: .htm, .html). You can use the following variables inside a layout:

  • blode.body: this is the main content of the layout
  • blode.posts: an array of all you site's posts. Each one is an object in the form {"path": "/full/path", "link": "post-name.html", "name": "post-name"}

E.g:

<body>
-- header --
{{=blode.body}}
-- footer --
</body>

All files should be utf-8 encoded.

pages

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.

output

The folder where the generated content will be placed.

Usage

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).

About

A simple static site/blog generator like jekyll (made in node.js)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published