Pennington 0.2.0
dotnet add package Pennington --version 0.2.0
NuGet\Install-Package Pennington -Version 0.2.0
<PackageReference Include="Pennington" Version="0.2.0" />
<PackageVersion Include="Pennington" Version="0.2.0" />
<PackageReference Include="Pennington" />
paket add Pennington --version 0.2.0
#r "nuget: Pennington, 0.2.0"
#:package Pennington@0.2.0
#addin nuget:?package=Pennington&version=0.2.0
#tool nuget:?package=Pennington&version=0.2.0
Pennington
A content engine for .NET that turns Markdown into static sites, documentation portals, and blogs.
Features
- Markdown processing with front matter, syntax highlighting, tabbed content, and GitHub-style alerts
- Static site generation with automatic navigation and sitemaps (RSS feeds ship with the DocSite blog folder and the BlogSite template)
- Razor component library for navigation trees, code blocks, badges, and cards
- Utility-first CSS via MonorailCSS integration
- Documentation site template with built-in layouts, search, and content areas
- Blog site template for content-driven blogs
Mental model
Pennington is an ASP.NET content engine. In development it serves your site as a normal web app; in build mode it crawls that same app in process and writes the responses as static files.
There are three entry points:
| Package | Use it when |
|---|---|
Pennington.DocSite |
You want a documentation site with sidebar navigation, search, styling, and static output wired for you. |
Pennington.BlogSite |
You want a content-driven blog as the whole site. |
Pennington |
You want the lower-level engine and will bring your own layout, routing, and styling. |
Most documentation projects should start with Pennington.DocSite. Drop down to Pennington when the template shape no longer fits.
Installation
Pennington targets .NET 10 and .NET 11. Using the packages needs only the .NET 10 SDK; building Pennington from source needs the .NET 11 SDK, because its net11.0 build uses C# 15 union types.
For the DocSite quick start:
dotnet add package Pennington.DocSite
Additional packages for specific features:
dotnet add package Pennington # Core content engine
dotnet add package Pennington.UI # Razor components
dotnet add package Pennington.MonorailCss # Utility-first CSS
dotnet add package Pennington.BlogSite # Blog site template
Quick Start
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDocSite(() => new DocSiteOptions
{
SiteTitle = "My Docs",
Description = "Project documentation",
});
var app = builder.Build();
app.UseDocSite();
await app.RunDocSiteAsync(args);
Add Markdown files to a Content/ directory with YAML front matter:
---
title: Getting Started
order: 1
---
# Welcome
Your documentation content goes here.
Build a static site with:
dotnet run -- build
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. net11.0 is compatible. |
-
net10.0
- AngleSharp (>= 1.5.2)
- DeweySearch (>= 0.2.0)
- Markdig (>= 1.6.0)
- Mdazor (>= 0.2.0)
- Microsoft.AspNetCore.TestHost (>= 10.0.15)
- SharpYaml (>= 3.13.0)
- System.CommandLine (>= 2.0.0)
- System.ServiceModel.Syndication (>= 10.0.15)
- Testably.Abstractions (>= 10.2.0)
- TextMateSharp (>= 2.0.4)
- TextMateSharp.Grammars (>= 2.0.4)
-
net11.0
- AngleSharp (>= 1.5.2)
- DeweySearch (>= 0.2.0)
- Markdig (>= 1.6.0)
- Mdazor (>= 0.2.0)
- Microsoft.AspNetCore.TestHost (>= 11.0.0)
- SharpYaml (>= 3.13.0)
- System.CommandLine (>= 2.0.0)
- System.ServiceModel.Syndication (>= 11.0.0)
- Testably.Abstractions (>= 10.2.0)
- TextMateSharp (>= 2.0.4)
- TextMateSharp.Grammars (>= 2.0.4)
NuGet packages (11)
Showing the top 5 NuGet packages that depend on Pennington:
| Package | Downloads |
|---|---|
|
Pennington.UI
Razor component library for Pennington — navigation, code blocks, and content display |
|
|
Pennington.MonorailCss
MonorailCSS integration for Pennington providing utility-first CSS generation |
|
|
Pennington.DocSite
Documentation site template for Pennington with layouts, pages, and content resolution |
|
|
Pennington.ApiMetadata.Reflection
Reflection-backed IApiMetadataProvider for Pennington — reads a compiled assembly plus its companion xmldoc XML file and surfaces them through the neutral API-metadata abstractions. |
|
|
Pennington.BlogSite
Blog site template for Pennington |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.0 | 82 | 11/11/2026 |
| 0.1.12-alpha.0.6 | 51 | 11/11/2026 |
| 0.1.11 | 242 | 10/14/2026 |
| 0.1.11-alpha.0.1 | 110 | 10/14/2026 |
| 0.1.10 | 196 | 10/8/2026 |
| 0.1.10-alpha.0.2 | 110 | 10/8/2026 |
| 0.1.9 | 177 | 10/7/2026 |
| 0.1.9-alpha.0.5 | 104 | 10/7/2026 |
| 0.1.9-alpha.0.3 | 92 | 7/26/2026 |
| 0.1.9-alpha.0.1 | 90 | 7/24/2026 |
| 0.1.8 | 250 | 7/12/2026 |
| 0.1.8-alpha.0.1 | 88 | 7/12/2026 |
| 0.1.7 | 504 | 7/10/2026 |
| 0.1.6 | 153 | 7/10/2026 |
| 0.1.6-alpha.0.32 | 94 | 7/10/2026 |
| 0.1.6-alpha.0.31 | 95 | 7/10/2026 |
| 0.1.6-alpha.0.30 | 102 | 7/10/2026 |
| 0.1.6-alpha.0.29 | 93 | 7/10/2026 |
| 0.1.6-alpha.0.28 | 103 | 7/7/2026 |
| 0.1.6-alpha.0.27 | 89 | 7/7/2026 |