HaXtatic Docs

Basics

This material may appear "unduly exhaustive" at first glance, but this is all blatantly-simple-stuff and mostly just spelled out in (almost) every last minor detail for completeness and future reference.

Notably no article on "how to author pages". That's because there's nothing to it once a quick note is made of where to place them, which outer-template is applied during processing & how, as well as the diverse range of haXtags that any page (indeed any user-authored/-customized file in a project) may embed and combine in any manner.

Topics

  • The project directory
    Any project resides in its own project-directory with a predefined (auto-generated) minimal-structure of 4-5 standard folders and 3-4 standard files. Just the usual, bog-standard "content/templates/static/config" stuff! But here's some more color on the finer details, starting with the standard folders belonging to the project-directory:
  • Bloks: sections-of-pages
    A collection of related pages sharing a common path prefix can be associated together via the notion of the "Blok": a lightweight set of a handful of shared meta-data and processing properties. For example, in this site the Bloks are Basics, haXtags and X-renderers.
  • Page date & date-time formats
    For some projects it seems prudent to display or otherwise utilize "the Page Date": moreover, specifically a custom, explicitly-set one (effectively equivalent to "this is hereby decreed to have really been authored/published on..") rather than one blindly parroting the OS-set file-last-modified timestamp (often de-facto equivalent to "this minor typo of no substantive import was belatedly fixed up quickly on..").
  • Templates and snippets in tmpl/
    When processing a content source file to generate its corresponding output file, HaXtatic's first step is always determining the appropriate tmpl/*.haxtmpl.* file to apply.
  • Project setup: *.haxproj files
    A near-empty default.haxproj was created during project creation. This plain-text file exists to contain any number of (fairly trivial) "directives" — lean-yet-expressive statements that may: define reusable micro-contents, fine-tune the overall processing flow, associate certain content pages with one another, or compose and direct custom rendering logic.
  • Named setups & multiple *.haxproj
    A near-empty default.haxproj file was created during project creation, as were a pre-authored tmpl/default.haxtmpl.html file and a default-build directory. Here's why they all share default in their names and how "setup names" can be leveraged for more finegrained project experiments / variations.
  • Syntactic rules (in places)
    Certain directives (placed in *.haxproj files or implied in *.haxsnip.htmls' headers) and certain haXtags (placed anywhere) — specifically:
  • Additional XML output files
    During processing, HaXtatic may generate (when so set up and fresh content changes indicate the need) additional XML output files of 2 kinds: sitemap.xml and *.atom feeds.
  
…Scroll to: