Skip to content

1.0.0-beta.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@daveaglick daveaglick released this 09 Apr 03:11
  • Added Statiq.Handlebars and a RenderHandlebars module (#67, #90, thanks @mholo65).
  • Refactored the OptimizeFileName module and added some extra configuration methods.
  • Added NormalizedPath.OptimizeFileName() as both an instance method and static helper to clean up and optimize file names for the web.
  • Moved ForEachDocument and ForAllDocuments modules to Statiq.Common so they can be used as base module classes for extensions.
  • Fixed a bug with the SetDestination module when a string-based path is used that starts with a "." but isn't an extension.
  • Fixed an unusual edge-case bug when evaluating scripts with assemblies that have the same simple name (I.e. LINQPad queries).
  • Added IHtmlHelper.DocumentLink() HTML helper extensions to Statiq.Razor.
  • Removed "theme" from the set of default input paths (added by default only in Statiq Web).
  • Changed CommandUtilities in Statiq.App public.
  • Moved the serve command to Statiq Web.
  • Moved the preview command to Statiq Web.
  • Moved Statiq.Hosting to Statiq Web as Statiq.Web.Hosting.
  • Moved Statiq.Aws to Statiq Web as Statiq.Web.Aws.
  • Moved Statiq.Azure to Statiq Web as Statiq.Web.Azure.
  • Moved Statiq.Netlify to Statiq Web as Statiq.Web.Netlify.
  • Moved Statiq.GitHub to Statiq Web as Statiq.Web.GitHub.
  • Moved ActionFileSystemWatcher to Statiq.Common and made it public.
  • Moved InterlockedBool to Statiq.Common and made it public.
  • Added ShortcodeHelper static class to Statiq.Common and moved shortcode argument parsing helper method there.
  • Moved HTML-based shortcodes to Statiq.Web.
  • Removed the need to pass IExecutionContext to a bunch of different extension methods that can rely on IExecutionContext.Current.
  • Added IExecutionContext.HasCurrent to check if a current execution context is available.
  • Changed IExecutionContext.Current to throw if no execution context is available.
  • Added IDocument extensions to clone documents from string or Stream content.
  • Added IExecutionContext extensions to create documents from string or Stream content.
  • Added DocumentShortcode and SyncDocumentShortcode as base classes for single document-based shortcodes.
  • Added ContentShortcode and SyncContentShortcode as base classes for simple string-based shortcodes.
  • Renamed IMetadata.GetDocumentList() to IMetadata.GetDocuments() and added a new IMetadata.GetDocumentList() that returns a DocumentList<IDocument>.
  • Changed IPipelineOutputs and IEnumerable<IDocument> extensions to return DocumentList<TDocument>.
  • Added DocumentList<TDocument> which wraps a set of documents, eliminating nulls, and provides an indexer for filtering destinations.
  • Added IEnumerable<IDocument>.FirstOrDefaultSource() and IEnumerable<IDocument>.FirstOrDefaultDestination() extensions.