HydeDotNet 0.0.5

dotnet tool install --global HydeDotNet --version 0.0.5
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local HydeDotNet --version 0.0.5
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=HydeDotNet&version=0.0.5
nuke :add-package HydeDotNet --version 0.0.5

Hyde

Nuget GitHub GitHub Workflow Status Libraries.io dependency status for latest release

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.

See a working example here.

Phases

Hyde has three distinct operating phases:

  1. Read. The site file structure is read and loaded into the domain model.
  2. Mutate. The domain model is passed through a pipeline of mutator objects that handle things like markdown->HTML conversion, link resolution, etc.
  3. 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
0.0.5 331 12/30/2022
0.0.4 284 12/30/2022
0.0.3 276 12/29/2022
0.0.2 285 12/29/2022
0.0.1 251 12/29/2022