1.0.0-alpha.29
Pre-release
Pre-release
- Moved a bunch of
IBootstrapper
extensions to Statiq.Common so they're available from extension libraries in anIInitializer
. - Renamed
IConfigurableBootstrapper
toIBootstrapper
. - Added a new
IInitializer
interface that can be used for library/module initialization (but only when using theBootstrapper
). - Refactored the
RenderRazor
module to use the built-in service collection when possible. - Added a new
IServiceCollection.AddRazor()
extension to register Razor services out-of-band. - Refactored the
ClassCatalog
toStatiq.Common
and exposed it via theIExecutionState
interface. - Added
.WithSource()
to thePaginateDocuments
andGroupDocuments
modules. - Added a new
Keys.Order
key and made theOrderDocuments
module support it. - Added a
keepExisting
parameter to theGenerateExcerpt
module. - Removed some ambiguous
IShortcodeColletion.Add()
extensions. - Added a bunch of
Bootstrapper.AddShortcode()
extensions. - Added a new
ForAllDocuments
module that can act as a parent module to arbitrary child modules. - Added a new
If
shortcode (#789). - Added a new
ForEach
shortcode (#789). - Added a
TypeHelper.TryConvert()
method that takes a targetType
. - Added support for "script strings" to metadata get extensions (if the key starts with "=>" it will be treated as a script and evaluated instead of getting the metadata value directly).
- Refactored
IShortcode
to return multiple shortcode result documents and concatenates their content. - Modified
CreateTree
sort delegate to include theIExecutionContext
and to sort by input document order by default (instead of path/file name). - Added a
IDocument.IdEquals()
extension method. - Added a
IDocument.GetLink()
extension method that callsIExecutionContext.GetLink()
. - Added a
IDocument.HasChildren()
extension method. - Added an empty constructor to
OrderDocuments
that orders documents by theKeys.Index
value and then the file name by default. - Added a
IConfig.Cast<TValue>()
convenience extension method.