ScissorHands.Plugin
Plugin abstractions and Razor component base types for extending ScissorHands.NET.
Install
| Product | Versions |
|---|---|
| .NET |
README
ScissorHands.Plugin
ScissorHands.Plugin provides the contracts and Razor component base type for extending the ScissorHands.NET content generation pipeline.
Install this package when authoring a plugin. Applications that only consume plugins should install ScissorHands.Web.
Install
dotnet add package ScissorHands.Plugin --prerelease
ScissorHands.NET currently targets .NET 10.
Create a content plugin
Start with a ContentPlugin subclass that supplies a stable ID and display name:
using ScissorHands.Plugin;
public sealed class ExamplePlugin : ContentPlugin
{
public override string Id => "example-plugin";
public override string Name => "Example Plugin";
}
This scaffold passes content through unchanged. Override PreMarkdownAsync, PostMarkdownAsync, or PostHtmlAsync to add transformations. IDs must be unique lowercase ASCII kebab-case; names are display-only.
Configure a plugin
Install the plugin assembly in the application and add its manifest to appsettings.json:
{
"Plugins": [
{
"Id": "example-plugin"
}
]
}
The ID must match the installed plugin exactly. Installed plugins without a manifest remain disabled. Declare ordering requirements through stage-scoped DependsOn, not manifest position.
vNext does not support name-only plugin configuration or Razor selection. Review the migration reference before upgrading older plugins.
Learn more
- vNext plugin guide (website handoff)
- vNext migration reference
- Plugin documentation
- Official plugins
- ScissorHands.Web package
- Source code
License
ScissorHands.NET is licensed under the MIT License.
Changes from Previous Version
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.