Following is a glossary of terms that have special meaning under pagd and more specifically pagd’s myblog layout. In general, other layout plugins are encouraged to be consistent with myblog layout’s design concepts.
Every page content can have associated context description. For eg, let us say there is a content-page called mycompany/contactus.md containing a description of company location. Context can be associated to this page by describing them in a file, mycompany/contactus.json.
Note that context information for each and every page can be stored in a corresponding <pagename>.json file.
If content page, for eg. rst, markdown, html, supports metadata information as part of the page content, then the metadata found as part of page-content will override page-context from other sources.
It is possible to associate a set of context attributes for all content-pages under a subdirectory. For eg, context attributes in mycompany/_context.json will be associted with all content-pages under subdirectory mycompany/.
Note that _context.json under a sub-directory will be associated with content-pages under the sub-directory tree. Attributes described in _context.json file are overridable by _context.json file described further down under sub-directories. And finally context attributes that are directly associted with content-page will override default-context.
Contains source tree to generate static web site. A layout typically contains a source tree of page contents, associated context attributes for each page, collection of templates and a collection of media / web files.
Layouts are implemented as plugins, like pagd.myblog, that directly interfaces with sub-commands from command-line-interface (CLI). Most commonly used sub-commands are create to create a source tree of new layout, gen to generate a static web-site from layout source tree.