StandardSiteOptions
Pennington.StandardSite
Configures the Standard Site (AT Protocol long-form publishing) integration. The verification surface — the well-known files and per-page site.standard.* head links — needs only Did and PublicationRkey and writes nothing to any PDS. When either is blank the feature emits nothing (fail-safe). Records themselves are authored out-of-band (an editor such as standard.horse); this engine only publishes the proof that points at them.
Properties
Didstring- requiredAuthor/owner DID, e.g.
did:plc:abc123. Required for any output. DocumentRkeyResolverFunc<ContentRecord, string>- Resolves a page's
site.standard.documentrecord key from its content record. Defaults to readingAtprotoRkeyoff the front matter, so hosts that don't implement that capability can map the rkey from their own metadata instead. EmitAtprotoDidbool- When true, also emit
/.well-known/atproto-didso the site's domain doubles as the author's atproto handle. Defaultfalse: this is a stronger, separate claim than publication verification, and a mismatched DID can break an existing domain handle. EmitPublicationLinkbool- When true (the default), emit the site-wide
<link rel="site.standard.publication">discovery hint in every page head — what a Bluesky card reader looks for. IsConfiguredbool- True when both
DidandPublicationRkeyare set. PublicationPathstring- Path the publication is served under, with a leading slash and no trailing slash (default
""= domain root). Appended to the publication well-known suffix. PublicationRkeystring- requiredRecord key of the
site.standard.publicationrecord in the author's repo. The publication AT-URI isat://{Did}/site.standard.publication/{PublicationRkey}.
Pennington.StandardSite.StandardSiteOptions
namespace Pennington.StandardSite;
/// Configures the Standard Site (AT Protocol long-form publishing) integration. The verification surface — the well-known files and per-page site.standard.* head links — needs only Did and PublicationRkey and writes nothing to any PDS. When either is blank the feature emits nothing (fail-safe). Records themselves are authored out-of-band (an editor such as standard.horse); this engine only publishes the proof that points at them.
public record StandardSiteOptions
{
/// Author/owner DID, e.g. did:plc:abc123. Required for any output.
public string Did { get; set; }
/// Resolves a page's site.standard.document record key from its content record. Defaults to reading AtprotoRkey off the front matter, so hosts that don't implement that capability can map the rkey from their own metadata instead.
public Func<ContentRecord, string> DocumentRkeyResolver { get; set; }
/// When true, also emit /.well-known/atproto-did so the site's domain doubles as the author's atproto handle. Default false: this is a stronger, separate claim than publication verification, and a mismatched DID can break an existing domain handle.
public bool EmitAtprotoDid { get; set; }
/// When true (the default), emit the site-wide <link rel="site.standard.publication"> discovery hint in every page head — what a Bluesky card reader looks for.
public bool EmitPublicationLink { get; set; }
/// True when both Did and PublicationRkey are set.
public bool IsConfigured { get; }
/// Path the publication is served under, with a leading slash and no trailing slash (default "" = domain root). Appended to the publication well-known suffix.
public string PublicationPath { get; set; }
/// Record key of the site.standard.publication record in the author's repo. The publication AT-URI is at://{Did}/site.standard.publication/{PublicationRkey}.
public string PublicationRkey { get; set; }
}