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
LinkGenerator
to use strings instead ofNormalizedPath
which could result in poor results in some edge cases like trailing slashes (#218). - Added toggle for keeping trailing slash when hiding a page in
LinkGenerator
and related extensions, also exposed via a newKeys.LinkHiddenPageTrailingSlash
setting (#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
HtmlKeys
file not being in the original namespace (#973).
1.0.0-beta.50
- Breaking change: Removed
Statiq.Html
extension and moved all functionality into eitherStatiq.Common
(helpers and utilities) orStatiq.Core
(modules). All modules are still available throughStatiq.Core
and you should remove references toStatiq.Html
. - Added a reference to
AngleSharp
inStatiq.Common
. - Added all keys from
HtmlKeys
toKeys
inStatiq.Common
but keptHtmlKeys
and 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 theHighlightCode
module to avoid time-consuming generation-time code highlighting when the language is unknown (#210, thanks @Turnerj). - Changed the
HighlightShortcode
module to add a<pre>
element when there are new lines in the content or when specified using a newAddPre
shortcode argument (#215).
1.0.0-beta.49
- Breaking change: The
LinkGenerator
class is no longer static and now needs to be accessed through a newIExecutionState.LinkGenerator
orIExecutionContext.LinkGenerator
property. - Added the
cache
directory to the excluded list inStatiq.App.props
. - Fixed a bug with
DocumentFileProvider
and 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.WithClientName
method to allow setting the name of the client object in the generated JavaScript file. - Fixed a bug in
GenerateLunrIndex
when no documents contain a given search field. - Added
GenerateLunrIndex.WithStemming
methods 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.SearchIndex
namespace in theStatiq.Lunr
package toStatiq.Lunr
. - Breaking change: Completely rewrote the
GenerateLunrIndex
module 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
GenerateSiteMap
module when using theLinkRoot
setting 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
MirrorResources
to prevent it from mirroring links with "rel" values that don't specify artifacts (#190). - Fixed a bug in
MirrorResources
to prevent it from mirroring resources from the current host whenHost
is specified (#190). - Added a
ReadExcel
module to Statiq.Tables that can read an Excel file into metadata as aIReadOnlyList<IReadOnlyList<string>>
. - Added a
ReadCsv
module 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
CopyFiles
module (#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 otherIDocument
oriented functionality worked in a layout or partial
when using the@Model
property 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 isdynamic
for layouts and partials
unless explicitly specified. This has the side-effect of making some@Model
access likeIDocument
extension methods that used to work fail.
If you see "does not contain a definition" error messages in Razor compilation, try changing@Model
property access to@Document
in your layouts
and partials, or using an explicit@model
directive 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
CleanMode
setting 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).