This is a skeleton app

Stuff Available to the View
kindThe type of document. post or page

This document is a page.

Here is it's content:

This is a skeleton app. You will find the overall style and layout (including this text) in _inc/layout.jade. Other places of interest:

config.json

Overall site configuration. Some of these keys are required, but you can populate it with whatever you need to render your views.

For example, the PORT key is used to run the development server are likely viewing right now.

But you'll notice that the scripts key is simply used in the head of layout.jade to write out script tags. You could choose a different approach or strategy if you wanted, like even just hard-coding the script tags, thus making the key not required.

custom.js

Since config.json is truly a JSON file, it cannot include functions. So consider custom.js to be the function part of your configuration. Specify here any functions you want available to your pages/posts and to the layout.

Included in this skeleton app are two examples. A helper for outputting a gist, and a helper for linking to another post by permalink.

Follow the same format and write whatever functions you will need.

etc/

Simply a place to put other stuff you may need. Maybe you want to deploy this to a webserver which requires a pem key? Or maybe you want to write a script for some reason? etc is a perfect place to put that stuff.

build/

Where the built site, the result of the generation, will be placed, served from in development mode and eventually deployed from.

_styles/

Put .less files in here, they will be processed, and you can refer to their eventual .css name in your config or in your views.

Eg. If you write a mysite.less, then you'll want to refer to /css/mysite.css somewhere in your config/pages/posts.

Regular .css files in _styles are simply copied over. So feel free to write plain CSS if you like.

_scripts/

Basically as above but with .less replaced with .coffee and .css and CSS replaced with .js and JavaScript :)

_posts/ and _pages/

Blog posts and pages! Either is optional. You can have no pages or no posts (making what is not really a blog, of course).

The general idea is to put at the top of each one a JSON block that describes it:

  {
    "title": "POST TITLE",
    "description": "POST DESCRIPTION",
    "date": "DD.MM.YYYY",
    "draft": true|false
  };

Posts don't require a date, and the draft field is optional in both cases.

Read more about posts.

Read more about pages.

Pages:

Posts: