Releases: statiqdev/Statiq.Web
Releases · statiqdev/Statiq.Web
1.0.0-beta.9
- Updated Statiq Framework to version 1.0.0-beta.25.
- Lots of bug fixes for the
ValidateAbsoluteLinks
andValidateRelativeLinks
analyzers.
1.0.0-beta.8
- Updated Statiq Framework to version 1.0.0-beta.24.
- Breaking change: Removed the
ValidateAbsoluteLinks
,ValidateRelativeLinks
, andValidateLinksAsError
settings in favor of the new analyzers.
For example, to turn on absolute link validation with an error log level, setAnalyzers: ValidateAbsoluteLinks=Error
in your configuration file (or bootstrapper, etc.) - Added new
ValidateAbsoluteLinks
andValidateRelativeLinks
analyzers (replaces theValidateLinks
pipeline). - Removed the
ValidateLinks
pipeline. - Added a new
AnalyzeContent
pipeline. - Added base
HtmlAnalyzer
andSyncHtmlAnalyzer
classes for analyzing HTML content. - Added
Bootstrapper.AnalyzeHtml()
extensions for defining delegate-based HTML analyzers. - Made the
PreviewCommand
andServeCommand
in Statiq.Web.Hosting public so you can callIBootstrapper.AddCommand<PreviewCommand>()
directly without Statiq.Web.
1.0.0-beta.7
- Updated Statiq Framework to version 1.0.0-beta.23.
1.0.0-beta.6
- Updated Statiq Framework to version 1.0.0-beta.22.
- Added base Markdown analyzers
MarkdownAnalyzer
andSyncMarkdownAnalyzer
. - Added
Bootstrapper.AnalyzeMarkdown()
extensions for defining delegate-based Markdown analyzers. - Fixed a bug in the preview server related to non-ASCII paths (#918, thanks @Vladekk).
- Fixed some bugs in the preview server related to cache reset (#914, thanks @Backs).
1.0.0-beta.5
- Some tweaks to the new .NET template to prefer the directory name.
1.0.0-beta.4
- Updated Statiq Framework to version 1.0.0-beta.21.
- Breaking change: Removed the
IBootstrapper.SetDefaultTemplate()
extension given more general use of templates. The "default" template should now be specified
by setting a templates for the HTML media type (by default it's still Razor, so this breaking change won't really affect anyone right now). - Breaking Change: Removed the
AssetFiles
,DataFiles
, andContentFiles
settings and replaced with a singleInputFiles
setting for finding all input files.
The target pipeline and content type are now determined from the media type and metadata of the document instead of via globbing patterns for each pipeline.
If you previously had asset files that started with an underscore (such as a_redirects
file), you will need to explicitly add those to theInputFiles
patterns
along with the default pattern:.AddSetting(WebKeys.InputFiles, new [] { "**/{!_,}*", "_redirects" })
. - Added a
ClearDataContent
document setting that clears content from data documents (for example, to support passing the data file to layouts).
Set this for a single data document to clear it's content or globally with.AddSetting(WebKeys.ClearDataContent, true)
to clear the content of all data files. - Made the concept of "templates" more general. They now essentially use the media type of a document (typically inferred from file extension) to determine which pipeline to
process the document in and what module to use for processing. Templates can now be defined for assets, data, and content and for theProcess
andPostProcess
phases for each. - Added a
ContentType
document setting to override the calculated pipeline and processing for a document (values areAsset
,Data
, andContent
).
For example, setting theContentType
of a file named "foo.json" toAsset
will treat the file as an asset and will not process it's content as data. - Added a
MediaType
document setting to override the media type calculated from the file extension. - Added a
RemoveScriptExtension
document setting that will convert script file names like "foo.json.csx" to "foo.json" and reset their media types so the script output can be seamlessly
processed by the appropriate pipeline and modules (for example, "foo.json.csx" will get processed by theData
pipeline while "foo.md.csx" will get processed by theContent
pipeline).
The default value istrue
. - Removed the
Isolated
flag from theAssets
pipeline so the set of copied assets can be retrieved from other pipelines (I.e. to generate a list of images in a directory). - Added support for script files (
.csx
or.cs
) to theArchive
pipeline (I.e. to generate JSON APIs from a collection of documents or data). - Added a
Script
document setting that will treat a file as a C# script, even if the extension is not.cs
or.csx
. - Added a common
Inputs
pipeline that consolidates directory metadata, sidecar, and front matter parsing and supports evaluating scripts with a.csx
or.cs
extension.
Detailed script usage will be documented on the site, but generally if the script returns null the original input document is returned, if the script returns a string the content
of the document will be changed to the return value, or if the script returns a document(s) those will be added to the appropriate pipeline. - New
Statiq.Web.Templates
project with a Statiq Web templates for thedotnet new
CLI command (#915, thanks @devlead).
1.0.0-beta.3
- Breaking change: Updated Statiq Framework to version 1.0.0-beta.20.
This version of Statiq Framework contains breaking changes which Statiq Web will inherit. - The
Content
pipeline no longer creates any metadata-based tree structure (I.e. the metadata keyChildren
is no longer set). Instead, consider
using methods fromOutputs
such asOutputs.GetChildren(doc)
or the newOutputPages
property (see the Statiq Framework 1.0.0-beta.20 release notes for more details). - Added a new
MinimumStatiqWebVersion
key to perform a check for the minimum allowed version of Statiq Web. If this is set to something higher than the current version
of Statiq Web, an error will be logged and execution will stop. Any setting that starts will this key will be considered, so it's recommended the use of this key be
suffixed with a unique identifier to avoid conflicts between components (for exampleMinimumStatiqWebVersion-MySite
). While not required or typically necessary for sites,
it's recommended that themes set this in their theme settings file (for exampleMinimumStatiqWebVersion-CleanBlog
).
1.0.0-beta.2
- Updated Statiq Framework to version 1.0.0-beta.19.
This version of Statiq Framework includes internal refactoring that provides a big performance boost. - Added a
AssetFiles
settings to configure the globbing patterns used for copying assets.
1.0.0-beta.1
- Breaking change: Updated Statiq Framework to version 1.0.0-beta.18.
This version of Statiq Framework contains breaking changes which Statiq Web will inherit. - Breaking change: The
Content
pipeline no longer nests output documents and instead all documents are now output.
IEnumerable<IDocument>.FilterDestinations("*.html")
orOutputs["*.html"]
can be used to get "root" documents. - Added a
MakeLinksAbsolute
setting to rewrite relative links to be absolute. - Added a
MakeLinksRootRelative
setting to rewrite relative links to be root-relative. - Suppressed archive output when there's no documents to archive.
- Added the
CacheDocuments
module to additional pipelines for faster rebuild times. - Added an
ArchiveKeyComparer
metadata that allows specifying a specific comparer for use with archive groups (usually with script metadata). - Added ability for all pipelines to ensure every document gets a
Published
value, either from an existing value or from the file name or modified date. - Added a
PublishedUsesLastModifiedDate
setting to control whether a file modified date should be used for getting published dates. - Added
settings
as a default settings file name in themes (with support for JSON, YAML, or XML formats). - Added support for sidecar files in other input directories at the same relative path (I.e. themes).
- Added support for
themesettings
andstatiq
YAML (.yml
and.yaml
) and XML (.xml
) configuration files in themes. - Fixed a bug on engine reruns (I.e. the preview command).
1.0.0-alpha.21
- Updated Statiq Framework to version 1.0.0-beta.17.