HydeDotNet 0.0.5
dotnet tool install --global HydeDotNet --version 0.0.5
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local HydeDotNet --version 0.0.5
#tool dotnet:?package=HydeDotNet&version=0.0.5
nuke :add-package HydeDotNet --version 0.0.5
Hyde
Hyde is an extendable static site generator written in .NET with support for templating, markdown, frontmatter and SASS via libraries like Scriban, Markdig, YamlDotNet and LibSassHost.
Installation
Hyde is installed as a dotnet tool using the following command:
dotnet tool install HydeDotNet
Note that installing dotnet tools locally requires a dotnet-tools manifest. It can also be installed globally without requiring a manifest file:
dotnet tool install -g HydeDotNet
Usage
Once Hyde has been installed, it can be invoked using the hyde
command if installed globally, or dotnet tool run hyde
from the project directory if installed locally. Hyde takes one argument: the path to the JSON project file with the site settings in it.
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. |
This package has no dependencies.