Umbraco.Community.HtmlExporter 0.2.0

dotnet add package Umbraco.Community.HtmlExporter --version 0.2.0
                    
NuGet\Install-Package Umbraco.Community.HtmlExporter -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="Umbraco.Community.HtmlExporter" Version="0.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Umbraco.Community.HtmlExporter" Version="0.2.0" />
                    
Directory.Packages.props
<PackageReference Include="Umbraco.Community.HtmlExporter" />
                    
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 Umbraco.Community.HtmlExporter --version 0.2.0
                    
#r "nuget: Umbraco.Community.HtmlExporter, 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 Umbraco.Community.HtmlExporter@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=Umbraco.Community.HtmlExporter&version=0.2.0
                    
Install as a Cake Addin
#tool nuget:?package=Umbraco.Community.HtmlExporter&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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.0 194 8/26/2025