Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Documentation for
JavaScript CSS CoffeeScript Other
branch: master
Failed to load latest commit information.
apache_modules Add CORS headers
app Update docs for libsass
config Add CORS headers
lib don't need Topic at all
spec/helpers Initial Commit
vendor Set the app up to publish static HTML pages
.gitignore Initial Commit
.npmignore Initial Commit
Gemfile.lock gemfile
Gruntfile.js Initial Commit
LICENSE add MIT license Update


Official documentation for lineman.js

Getting Started

The primary documentation sections (categories) are defined at the top of app/templates/ This array contains the title form of the category name. The category slugs are generated from the title using underscore.string.slugify(). The categories appear on the site in the same order in which they appear in this array.

For each category, there is a directory under app/pages/. The directory names aren't required to match the category title, but do so by convention. Each sub-section (topic/page) is its own markdown file within said directory. To include a page in a category, the page must include the category attribute in its metadata, which must be the slug form of the category name to which the page belongs.

The pages are ordered within each category according to the ordinal attribute in the page's metadata block. The page heading is taken from the title attribute of the metadata block, or if omitted, derived from the filename.

The navigation is auto-generated based on the category titles and slugs, as well as the page titles and slugs; both of which support deep-linking.

HTML linting and validation

There are two tasks included for validating the generated HTML: grunt-html-validation and grunt-htmlhint. Both tasks are configured to check html pages under generated/. Neither task is added to the lineman build processes, so they need to be run manually: lineman grunt validation and lineman grunt htmlhint.

Something went wrong with that request. Please try again.