HydeDotNet 0.0.3
See the version list below for details.
dotnet tool install --global HydeDotNet --version 0.0.3
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local HydeDotNet --version 0.0.3
#tool dotnet:?package=HydeDotNet&version=0.0.3
nuke :add-package HydeDotNet --version 0.0.3
Hyde
An extendable static site generator written in .NET
Phases
Hyde has three distinct operating phases:
- Read. The site file structure is read and loaded into the domain model.
- Mutate. The domain model is passed through a pipeline of mutator objects that handle things like markdown->HTML conversion, link resolution, etc.
- Serialize. The final domain model is serialized to disk.
Pipelines and Mutators
The site domain model is just a series of directory and file objects with some standard functionality like metadata and the ability to remove/rename/change file extensions. Once the site domain model has been loaded, it is then passed through the mutation pipeline to produce the final site that is then written to disk.
The mutation pipeline is made up of a series of Independent but composable pieces of functionality called 'mutators' that are run in serial to build up the site in layers. Mutators typically recurse through each file in the site, look at the contents, make any appropriate changes, then move on, but they can also make changes to the structure of the site, adding or removing files and directories.
See Mutators for more info.
Extension
TODO: Describe the ISiteMutator
interface and the base classes: FileMutator
, CollectorMutator
and AggregateMutator
.
Options
TODO: Describe how the IOptions pattern is used to load mutator settings.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
This package has no dependencies.