SharpDocs

A reusable ASP.NET Core library that turns a folder of markdown and a folder of nupkgs into a branded docs site with a built-in NuGet v3 feed and search.


SharpDocs is a NuGet package you drop into an ASP.NET Core app. Point it at a folder of markdown and a folder of .nupkg files, and it serves:

  • A branded docs site with a sidebar, article pages, and htmx-powered navigation
  • Multi-language support via a sparse-overlay model — translate what you can, fall back automatically for the rest
  • A full-text search endpoint over your markdown (per locale)
  • A NuGet v3 feed (/v3/index.json) that dotnet restore can consume directly

It runs in two shapes:

  • Single-project — one library, one site, one sidebar. The default.
  • Multi-project — N libraries under one site, one feed, with a per-project sidebar each. Add a projects array to sharpdocs.json.

No build step. No static site generator. Content is scanned once at startup.

Why SharpDocs

Small libraries don't need a full docs platform. They need a page that renders their README, a sidebar of how-tos, and somewhere to host the nupkg while they stabilize. SharpDocs is exactly that, and nothing more.

What it isn't

  • Not a static site generator. The site is served live by your ASP.NET Core host.
  • Not a production NuGet gallery. The feed is read-only and scoped to one folder of artifacts (or N folders, in multi-project mode).
  • Not a CMS. Edit markdown, restart the host.