Quickly host Umbraco content on cheap / global static hosting providers (GitHub Pages, Netlify, Cloudflare Pages, Azure Static Web Apps, S3 + CloudFront) for speed, cost and resilience, while continuing to author content in Umbraco.
$ dotnet add package Umbraco.Community.HtmlExporterMonorepo containing:
Sekmen.StaticSiteGenerator – Core engine that crawls a dynamic Umbraco / HTML site and exports a static snapshot.Umbraco.Community.HtmlExporter – Umbraco backoffice dashboard + API that wraps the core engine so editors can trigger exports.
Quickly host Umbraco content on cheap / global static hosting providers (GitHub Pages, Netlify, Cloudflare Pages, Azure Static Web Apps, S3 + CloudFront) for speed, cost and resilience, while continuing to author content in Umbraco.
| Package | NuGet | Description |
|---|---|---|
| Core | Sekmen.StaticSiteGenerator | Programmatic API to export a site to a folder. |
| Plugin | Umbraco.Community.HtmlExporter | Adds a backoffice dashboard + secured API endpoints. |
sitemap.xml + internal <a> linksindex.html where neededSee detailed API docs inside the core package's own readme.md (packed with the NuGet). Quick taste:
await Functions.ExportWebsite(new HttpClient(), new ExportCommand(
SiteUrl: "example.com",
AdditionalUrls: new []{"/404"},
TargetUrl: "https://static.example.com/",
OutputFolder: "./out"
));
Deploy the ./out directory.
After installing Umbraco.Community.HtmlExporter into your Umbraco project:
GET /umbracocommunityhtmlexporter/api/v1.0/get-dataPOST /umbracocommunityhtmlexporter/api/v1.0/export-websiteExportCommand parameters (multipart/form-data).dotnet add package Sekmen.StaticSiteGenerator
dotnet add package Umbraco.Community.HtmlExporter
Build the project; MSBuild targets will auto restore & build the embedded client assets (via NPM in Client).
Currently the export logic:
https:// when constructing the source URL from SiteUrl.TargetUrl ends with a trailing slash for clean concatenation.sitemap.xml (enhancement planned for optional mode)Roadmap ideas tracked inside the core package README.
git clone https://github.com/sekmenhuseyin/Sekmen.StaticSiteGenerator.git
cd Sekmen.StaticSiteGenerator
dotnet restore
dotnet build
cd Umbraco.Community.HtmlExporter/Client
npm install
npm run build
UmbracoTestProject to experiment.dotnet pack -c Release
Produces .nupkg files for both packages with embedded README + icon.
PRs welcome:
Please keep dependencies minimal and avoid introducing heavy frameworks.
MIT © Hüseyin Sekmenoğlu
Screenshot.png in repoHappy exporting! 🎉