Releases: statiqdev/Statiq.Framework
Releases · statiqdev/Statiq.Framework
1.0.0-beta.52
- Made it easier to override certain interfaces used by the engine by registering alternate implementations in the service collection passed to the engine. Alternate implementations of the following can now be provided:
IApplicationState,IMemoryStreamFactory,ILinkGenerator,INamespacesCollection,IScriptHelper,IDocumentFactory, andIFileCleaner. In addition, the default implementations of these interfaces have been refactored to make deriving from them easier (I.e. marked interface members asvirtual). - Refactored the default
LinkGeneratorto use strings instead ofNormalizedPathwhich could result in poor results in some edge cases like trailing slashes (#218). - Added toggle for keeping trailing slash when hiding a page in
LinkGeneratorand related extensions, also exposed via a newKeys.LinkHiddenPageTrailingSlashsetting (#218). - Updated Spectre.Console reference in Statiq.App to 0.43.0.
1.0.0-beta.51
- Fixed a bug with backwards compatability of the
HtmlKeysfile not being in the original namespace (#973).
1.0.0-beta.50
- Breaking change: Removed
Statiq.Htmlextension and moved all functionality into eitherStatiq.Common(helpers and utilities) orStatiq.Core(modules). All modules are still available throughStatiq.Coreand you should remove references toStatiq.Html. - Added a reference to
AngleSharpinStatiq.Common. - Added all keys from
HtmlKeystoKeysinStatiq.Commonbut keptHtmlKeysand marked it obsolete for backwards-compatibility. - Changed the behavior of HTML parsing and formatting (I.e. both reading and writing) to preserve any originally encoded character references (#213).
- Added a new
IExecutionContext.GetContentProvider()extension that accepts an AngleSharpIMarkupFormattable(such asIHtmlDocument). - Added
WithAutoHighlightUnspecifiedLanguage()to theHighlightCodemodule to avoid time-consuming generation-time code highlighting when the language is unknown (#210, thanks @Turnerj). - Changed the
HighlightShortcodemodule to add a<pre>element when there are new lines in the content or when specified using a newAddPreshortcode argument (#215).
1.0.0-beta.49
- Breaking change: The
LinkGeneratorclass is no longer static and now needs to be accessed through a newIExecutionState.LinkGeneratororIExecutionContext.LinkGeneratorproperty. - Added the
cachedirectory to the excluded list inStatiq.App.props. - Fixed a bug with
DocumentFileProviderand documents with a nullDestination. - Fixed a bug in the Razor engine when run under .NET 6 RC runtimes (#204, thanks @phil-scott-78).
- Updated several dependencies (#199, #201, #202, thanks @devlead).
- Added the ability to cache Razor partials using new
CachedPartial()andCachedPartialAsync()HTML helpers. (#205)
1.0.0-beta.48
- Added
GenerateLunrIndex.WithClientNamemethod to allow setting the name of the client object in the generated JavaScript file. - Fixed a bug in
GenerateLunrIndexwhen no documents contain a given search field. - Added
GenerateLunrIndex.WithStemmingmethods to control stemming behavior and changed default to no stemming. - Added support for typeahead style searching to the generated client JavaScript search file by default (I.e. automatically adds trailing wildcards).
1.0.0-beta.47
- Breaking change: Renamed the erroneous
Statiq.SearchIndexnamespace in theStatiq.Lunrpackage toStatiq.Lunr. - Breaking change: Completely rewrote the
GenerateLunrIndexmodule to build and output a search index at generation time and add a bunch of new features (#192). - Fixed a bug with the reflected namespace collection when dealing with objects in the global namespace (#191).
- Fixed a bug when getting outputs from a valid pipeline that didn't produce any (it now returns an empty collection instead of throwing and exception) (#172).
- Fixed a bug in the
GenerateSiteMapmodule when using theLinkRootsetting that included the link root twice (#158, #193, thanks @kkato233). - Added support for named strongly-typed pipelines (#173).
1.0.0-beta.46
- Fixed a bug in
MirrorResourcesto prevent it from mirroring links with "rel" values that don't specify artifacts (#190). - Fixed a bug in
MirrorResourcesto prevent it from mirroring resources from the current host whenHostis specified (#190). - Added a
ReadExcelmodule to Statiq.Tables that can read an Excel file into metadata as aIReadOnlyList<IReadOnlyList<string>>. - Added a
ReadCsvmodule to Statiq.Tables that can read a CSV file into metadata as aIReadOnlyList<IReadOnlyList<string>>.
1.0.0-beta.45
- Fixed several bugs related to caching in the
CopyFilesmodule (#189).
1.0.0-beta.44
- Breaking change: Fixed a bug with Razor layouts and partials and explicit model types. Previously all layouts and partials were assuming
the model type was anIDocument. This meant that extension methods and otherIDocumentoriented functionality worked in a layout or partial
when using the@Modelproperty to access the document, but it also meant they didn't work for alternate models. Layouts and partials are
supposed to generally handle all model types (since different views can call them), so now the model isdynamicfor layouts and partials
unless explicitly specified. This has the side-effect of making some@Modelaccess likeIDocumentextension methods that used to work fail.
If you see "does not contain a definition" error messages in Razor compilation, try changing@Modelproperty access to@Documentin your layouts
and partials, or using an explicit@modeldirective at the top of the layout pr partial file to explicitly specify the model type for that layout or partial. - Fixed a bug when changing the
CleanModesetting via the bootstrapper. - Improved compilation failure exception messages for Razor layouts and partials.
1.0.0-beta.43
- Fixed a bug with using statements not being added to Razor layouts and partials (#953).