Skip to content

Latest commit

 

History

History

docs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Conventions

Extension conventions for content files

The files in the content directory must follow some conventions in the file extensions:

  • *.md: Web site pages.
  • *.text: Partial MarkDown to be included and other unrelated MarkDown files.

The files in the data directory must follow some conventions in the file extensions:

  • *.md: MarkDown snippets in front-matter.
  • *.csv: CSV data files.
  • *.json: JSON documents.
  • *.yaml: YAML documents.

Variables

Capitalized names are for global predefined variables.

Site variables

All members defined in the configuration file, except defaults, and the predefined variables:

  • .site.Assets
  • .site.Blocks
  • .site.Content
  • .site.Data
  • .site.Root
  • .site.Layouts
  • .site.Meta
  • .site.Styles

In the configuration file you can assign new values to all predefined variables except Meta, with default value defined in the file make.d/Makefile.make. You can modify this variable at the very beggining of your Sakefile.

Page variables

Front-matter members and the predefined variables.

Read only variables

  • .page.Base
  • .page.Date
  • .page.Filename
  • .page.Id
  • .page.Layout
  • .page.Path
  • .page.Section
  • .page.Slug
  • .page.Source
  • .page.URL

Variables merged with defaults

  • .page.Datasets
  • .page.Dependencies
  • .page.Flags

Source for pathname related variables

          Slug
        |---^---|
content/name.html
        |-^|
         Id

        Section  Slug
        |--^-| |--^----|
content/extras/name.html
        |-------v-|
        |--v--| Id
          Path

            Section      Slug
        |------^-----| |---^---|
content/extras/indexes/name.html
        |---------------v-|
        |-----v-------| Id
             Path

Sake: static site build automation system

Sakefile

Sake managed projects must have a makefile named Sakefile, and this makefile must contain the following include:

include $(SAKE)/make.d/main.make

Current Sake commands

Usage: sake [command] [[options] [variable=definition] ...]
Commands:
build        clobber      dag          h5.lint      help     new
clean        configure    depend       h5.valid     list     nuke

Autocompletion

Hint (on Fedora): to enable autocompletion for sake do this:

    $ cd /usr/share/bash-completion/completions
    $ sudo sed -i make -e '/^complete -F/s/$/ sake/'
    $ sudo ln -s make sake