EPS.Extensions.SiteMapIndex 6.1.1

dotnet add package EPS.Extensions.SiteMapIndex --version 6.1.1
NuGet\Install-Package EPS.Extensions.SiteMapIndex -Version 6.1.1
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="EPS.Extensions.SiteMapIndex" Version="6.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EPS.Extensions.SiteMapIndex --version 6.1.1
#r "nuget: EPS.Extensions.SiteMapIndex, 6.1.1"
#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.
// Install EPS.Extensions.SiteMapIndex as a Cake Addin
#addin nuget:?package=EPS.Extensions.SiteMapIndex&version=6.1.1

// Install EPS.Extensions.SiteMapIndex as a Cake Tool
#tool nuget:?package=EPS.Extensions.SiteMapIndex&version=6.1.1

EPS.Extensions.SiteMapIndex

This package was built in an attempt to overcome a specific limitation when it came to other sitemaps - the ability to have large and scalable site maps.

Our code is somewhat simple:

  • SiteMap, which is your basic site map
  • SiteMapIndex, which serves as the 'parent' sitemap
  • SiteMapConfig, which manages some simple settings for site map configuration
  • Location, which is a location entry in the site map

Getting Started

Let's talk sitemap compliance.

You can have 50,000 location entries, or you can have a max file size of 50,000,000 bytes (about ~47 MB). The SiteMap object will monitor these things for you, if you explicitly ask it to.

You can instantiate a SiteMap in one of several different ways according to the constructors:

  • public SiteMap(Uri siteMapPath) (no compliance checking)
  • public SiteMap(Uri siteMapPath, SiteMapConfig siteMapConfig) (your specific compliance params)
  • public SiteMap(Uri siteMapPath, bool stayCompliant) (automatic size limits)

A Stack<Location> is used by the SiteMap object for parsing. In our current library configuration, if compliance specifications are set and they are violated, it will simply stop adding items from the stack, and it will be up to the developer to check for this and manage the stack(s) accordingly.

Releases

6.1.0

In this release we've introduced the LocationBuilder class for speeding up the process of building pages.

SiteMap now has a Load function which uses the LocationBuilder class to quickly add pages to the Locations stack.

Roadmap

Eventually, as this library gets 'smarter', we'll have it set up so you can dump a list of page strings and it will self-map and everything.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

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
6.1.1 155 7/26/2023
6.1.0 138 7/1/2023
6.0.2 115 7/26/2023
6.0.1 255 12/13/2022
5.0.0 314 5/13/2021
0.5.0 470 6/22/2020

A more complete sitemap XML document now comes from this.