Allow Hakyll to create hierarchical menues from directories.
Hakyll extension which supports the creation of hierarchical menus from source files in a directory structure. Adittionally single page web sites can created by using flattened page id's instead of urls.
hakyll-dir-list
Hakyll extension which supports the creation of hierarchical menus from source files in a directory structure. Adittionally single page web sites can created by using flattened page id's instead of urls.
Build the library
stack build
Usage
The exported dirListField
function is similar to the Hakyll listField
template function but creates additional context information which can be used in the template to create a hierarchical menu.
Context usable inside the template
$begin-tags$
injects<li>
and<ul>
tags if apropriate$end-tags$
contains the corresponding</li>
and</ul>
tags$full-page-id$
is the hyphen seperated path of the page- use configuration to get level dependant structuring tags
Metainformation in the source files
For each subdirectory which should be processed one source file with the same base name should exist which can contain meta information:
pages/a.md
top page for directory apages/a/foo.md
page foo within a
The following meta information can be given
page-id
part of the generated id, if not given the base name of the filepage-order
give an ordering key for sorting in the current directory level, if not given thepage-id
will be used
For a more fine grained control the tags which are used are configurable for each level of the menu.
Example
See the example for an illustration of usage.