Skip to content

1.0.0-alpha.29

Pre-release
Pre-release
Compare
Choose a tag to compare
@daveaglick daveaglick released this 27 Mar 02:39
  • Moved a bunch of IBootstrapper extensions to Statiq.Common so they're available from extension libraries in an IInitializer.
  • Renamed IConfigurableBootstrapper to IBootstrapper.
  • Added a new IInitializer interface that can be used for library/module initialization (but only when using the Bootstrapper).
  • 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 to Statiq.Common and exposed it via the IExecutionState interface.
  • Added .WithSource() to the PaginateDocuments and GroupDocuments modules.
  • Added a new Keys.Order key and made the OrderDocuments module support it.
  • Added a keepExisting parameter to the GenerateExcerpt 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 target Type.
  • 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 the IExecutionContext 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 calls IExecutionContext.GetLink().
  • Added a IDocument.HasChildren() extension method.
  • Added an empty constructor to OrderDocuments that orders documents by the Keys.Index value and then the file name by default.
  • Added a IConfig.Cast<TValue>() convenience extension method.