v1.2.0

Posted on 9/11/2023 to release/v1

We are very pleased to announce the release of fusion.ssg v1.2.0.

As we continue in our endeavor to provide you with the best tools available for creating resilient static HTML documents and websites, we do so with the great pleasure of knowing that fusions.ssg is being adopted by creators from all over the world ❤️.

Sincerely,

The Team

Breaking Changes

New Features

Tokenization Metric Reporting

fusion.ssg will now include metrics for tokenization.

Exposing More Post Metadata As Simple Token Values

When tokenizing a post, fusion.ssg will expose a post's post date, categories, and tags as simple token values, allowing them to be used as simple tokens in your templates, pages and includes. This will serve to mitigate the need of having to use a component just to include these in your HTML documents.

WIPS Reporting During Release Builds

fusion.ssg will now report all WIPS for each release build cycle. These warnings will serve to prevent the unintended updating of websites with missing HTML documents that should have been included but aren't because they are still marked as WIPS.

imgage

Cache Busting

image

When building for release, fusion.ssg will optionally cache bust your site's assets (e.g. css, media, scripts, .etc), allowing your site's visitors to immediately experience its latest changes. Specifically, to opt in to cache busting your release builds, you will need to append --cache-bust to the release:fusion script located in your project's package.json file. Once appended, the release:fusion script should look exactly like the following:

"release:fusion": "fusion release --cache-bust",

fusion.ssg handles all the details, so no additional configuration or changes to your projects other than the above change to your package.json file's release:fusion script is required to enhance your sites with cache busting.

fusion.ssg relies on Buster, which is a very capable and resilient cache busting tool developed by the same team that brings you fusion.ssg, to implement its cache busting.

Conditional Includes

Conditional includes allow you to designate that an include's content is relevant only for release builds or is relevant only for development builds.

Why would you might use this? For example, suppose your site includes some content that is only relevant in a release build, such as Google analytics for example, you will now be able to exclude this content when building your site for development.

To support this feature, fusion.json will now support the following property:

"conditionalIncludes": {
    "developmentOnly": ["path/to/include/relative/to/src/includes", ...],
    "releaseOnly": ["path/to/include/relative/to/src/includes", ...],
}

If an include's path matches one of these conditions, its content will only be included for the targeted build strategy.

Bug Fixes