This documentation is also published as Markdown for efficient machine reading: the whole site is indexed at /llms.txt, and every page has a clean Markdown copy under /_llms/. These are generated from the same source and cost far fewer tokens to read than this rendered HTML.

Skip to main content Skip to navigation

StandardSiteUriResolver Pennington.StandardSite

Resolves Standard Site AT-URIs: the site-wide publication URI (config only) and a per-page site.standard.document URI (joining the request path to the content registry, then reading the page's rkey via DocumentRkeyResolver). Registered transient so it captures the current file-watched ContentRecordRegistry.

Properties

PublicationUri string
The publication AT-URI (at://{Did}/site.standard.publication/{PublicationRkey}).

Constructors

StandardSiteUriResolver

#
public StandardSiteUriResolver(StandardSiteOptions options, ContentRecordRegistry records)

Creates the resolver from the Standard Site options and the record registry.

Parameters

options StandardSiteOptions
records ContentRecordRegistry

Methods

DocumentUriAsync

#
public Task<string> DocumentUriAsync(string fullPath)

The site.standard.document AT-URI for a request path, or null when the page resolves to no record or declares no rkey. Keys the registry on fullPath.Trim('/') — identical to the structured-data join.

Parameters

fullPath string

Returns

Task<string>

Pennington.StandardSite.StandardSiteUriResolver

namespace Pennington.StandardSite;

/// Resolves Standard Site AT-URIs: the site-wide publication URI (config only) and a per-page site.standard.document URI (joining the request path to the content registry, then reading the page's rkey via DocumentRkeyResolver). Registered transient so it captures the current file-watched ContentRecordRegistry.
public class StandardSiteUriResolver
{
    /// The site.standard.document AT-URI for a request path, or null when the page resolves to no record or declares no rkey. Keys the registry on fullPath.Trim('/') — identical to the structured-data join.
    
public Task<string> DocumentUriAsync(string fullPath)
; /// The publication AT-URI (at://{Did}/site.standard.publication/{PublicationRkey}).
public string PublicationUri { get; }
/// Creates the resolver from the Standard Site options and the record registry.
public StandardSiteUriResolver(StandardSiteOptions options, ContentRecordRegistry records)
; }