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 settingdraft:truein page data files.
This release also changes template data namespace names which are now derived from their file path.
-
Added a new
ht-applydirective 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 newgitprovider. -
Added a new
site.environmentssetting for configuring named hosting environments, consisting of one or more providers: -
Added
page.ugly_urlso pages can generate<path>.htmlpages instead of<path>/index.htmlpages. -
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.