Sekmen.StaticSiteGenerator 0.2.0

dotnet add package Sekmen.StaticSiteGenerator --version 0.2.0
                    
NuGet\Install-Package Sekmen.StaticSiteGenerator -Version 0.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sekmen.StaticSiteGenerator" Version="0.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sekmen.StaticSiteGenerator" Version="0.2.0" />
                    
Directory.Packages.props
<PackageReference Include="Sekmen.StaticSiteGenerator" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sekmen.StaticSiteGenerator --version 0.2.0
                    
#r "nuget: Sekmen.StaticSiteGenerator, 0.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sekmen.StaticSiteGenerator@0.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sekmen.StaticSiteGenerator&version=0.2.0
                    
Install as a Cake Addin
#tool nuget:?package=Sekmen.StaticSiteGenerator&version=0.2.0
                    
Install as a Cake Tool

Sitemap Website Exporter (.NET)

A simple application that reads sitemap.xml, downloads all listed pages, and saves each page's HTML along with its CSS, JavaScript, image, and inline background image resources to a local folder — preserving the original structure.


📦 Features

  • Parses URLs from a sitemap XML
  • Downloads HTML pages
  • Extracts and downloads:
    • <link rel="stylesheet"> CSS files
    • <script src="..."> JS files
    • <img src="..."> image files
    • Inline styles like style="background-image: url(...)" in HTML
  • Skips downloading if a file already exists with the same size
  • Creates local folder structure to match the site

🛠 Technologies

  • .NET 6+
  • HttpClient for HTTP requests
  • HtmlAgilityPack for HTML parsing
  • System.Xml.Linq for reading sitemap.xml

🚀 Getting Started

1. Clone the project

git clone https://github.com/your-repo/sitemap-exporter.git
cd sitemap-exporter

2. Build the project

dotnet build

3. Run the app

dotnet run

4. Test project credentials

admin@test.com
123qwe123qwe

By default, it will:

  • Load sitemap from https://example.com/sitemap.xml
  • Save the downloaded content to the ExportedSite/ folder

To use your own sitemap and output directory, edit these lines in Program.cs:

string sitemapUrl = "https://yourdomain.com/sitemap.xml";
string outputFolder = "ExportedSite";

📁 Output Structure

The tool saves the website to a folder like this:

ExportedSite/
└── yourdomain.com/
    ├── index.html
    ├── styles/
    │   └── main.css
    ├── scripts/
    │   └── app.js
    └── media/
        └── header-bg.jpg

✅ TODO / Improvements

  • Rewrite HTML to point to downloaded assets
  • Parse @import and url(...) in CSS files
  • CLI argument support (--sitemap, --output)
  • Parallel downloads
  • Retry and timeout settings
  • Save metadata (ETags, hashes) for smarter caching

🧑‍💻 License

MIT – Free to use, modify, and distribute.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Sekmen.StaticSiteGenerator:

Package Downloads
Umbraco.Community.HtmlExporter

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.0 452 8/26/2025