Skip to content

usepennington/pennington

Repository files navigation

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, sitemaps, and RSS feeds
  • 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

Installation

dotnet add package Pennington

Additional packages for specific features:

dotnet add package Pennington.UI            # Razor components
dotnet add package Pennington.MonorailCss   # Utility-first CSS
dotnet add package Pennington.DocSite       # Documentation site template
dotnet add package Pennington.BlogSite      # Blog site template
dotnet add package Pennington.Roslyn        # Roslyn-based code extraction

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

About

A content engine for .NET that turns Markdown into static sites, documentation portals, and blogs.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors