[hyperctl] version 0.20.0 is now available

hyperctl v0.20.0 is a substantial release that adds support for a new ht-apply directive, template variables, templating plugins (!), computed template data, git-based hosting providers, multi-provider hosting environments, and more.

BREAKING: hyperctl v0.20.0 drops support for the site.config.drafts_dir – drafts are now defined by setting draft:true in page data files.
This release also changes template data namespace names which are now derived from their file path.

  • Added a new ht-apply directive to perform variable substitution. HyperTemplates now supports ${ ... } variables, which can be used in element attributes and element text nodes.

  • Added support for a --ht-value( ... ) variable substitution in layout <style> elements.

  • Added support for extending HyperTemplates with plugins, including template variable plugins, and computed namespace plugins. A plugin is a Javascript file that exports a default function, accepts positional arguments, and has access to predefined local bindings.

  • Added builtins for providing automated templating features powered by layout fragments. Builtins can be disabled and/or overriden by adding layout fragments to your theme.

  • Added new site.providers (plural) setting for configuring named providers, and HyperTemplates now supports git-based hosting services using the new git provider.

  • Added a new site.environments setting for configuring named hosting environments, consisting of one or more providers:

  • Added page.ugly_url so pages can generate <path>.html pages instead of <path>/index.html pages.

  • Added support for CSV template data files. Delimited data must contain a header row, and header rows must have unique non-empty column names.

Please visit the CHANGELOG for a complete list of improvements.