Overview
The generator takes as input a folder structure popoulated with different files. The generator will traverse this structure, and generate an output folder structure that mirrors the input, but where the files have been processed into static HTML. Typically each folder will have one index.html file only.
Input format
- The input folder structure is simple; as many folders as needed are arranged in as many levels as needed.
- Each folder's name is the actual folder name that will be used in the output.
- Each holder must have exactly one index.html file.
- If no index.html file is found then a listing file will be generated in the output.
- All files that are not called index.html will be ignored, except if referenced by the mustache processing of index.html (or any of it's sub pages).
- XXXXX
Content
Content can be expressed as html or as markdown. It is preferable to keep content separate from layout and styling, and so markdown is preferred. But for ease in migration html is supported.
To facilitate a layout that can change over time, content are kept in many files, where each file represents one indivisible piece of content. As an example, in a two column layout, the content for each column is kept in a separate file called column-1.md and column-2.md. These two files will then be referenced by an index.html using mustache (see section on layout).
Layout
Layout is managed through the use of mustache. The index.html file in each folder acts as the "entry point" of each folder's presentation. It will contain the coarse page layout with pockets for such things as page header, main navigation, page content columns, page footer etc. It then uses mustache to reference the content that should fill each pocket.
Styling
Styling of the page is done using CSS. It is up to each index.html which .css files they reference. Typically there will be one top level .css file that is included in all pages (typically called "/style.css") and if a subpage has the need to extend on this, it will add it's own local style (typically called after the change it made "xmas.css") |