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

BlogSiteFrontMatter Pennington.BlogSite

Front matter bound by AddBlogSite. Consolidates all post-authoring fields (Author, Repository, Series, Date, RedirectUrl) in one contract. Implements IFrontMatter, ITaggable, ISectionable, IRedirectable, and IHasStructuredData (emits a schema.org Article).

Properties

AtprotoRkey string
Record key of this post's published site.standard.document record (Standard Site), if any.
Author string
Author name shown in the byline and RSS feed.
Date DateTime?
Publication date. Posts are ordered by this date in archives and feeds.
Description string
Short post description used for meta tags, RSS summary, and archive listings.
IsDraft bool
When true, the post is skipped during production builds.
Llms bool
When false, the post is excluded from the generated llms.txt output.
RedirectUrl string
When set, the post emits a client-side redirect to this URL instead of normal content.
Repository string
URL to the post's source repository or related project (optional).
Search bool
When false, the post is excluded from the search index.
SearchOnly bool
When true, the post is indexed for search/llms but hidden from the rendered navigation tree.
SectionLabel string
Section heading the post belongs under in navigation.
Series string
Series name grouping related posts together.
Tags string[]
Tags applied to the post for filtering and the tag index.
Title string
Post title.
Uid string
Stable identifier used for cross-references ([text](xref:uid)).

Methods

GetStructuredData

#
public IEnumerable<JsonLdEntity> GetStructuredData(StructuredDataContext context)

Returns the schema.org entities to emit on the page. Implementations typically yield one Article/Recipe/Product/etc. built from front matter values, plus the CanonicalUrl the template supplies.

Parameters

context StructuredDataContext

Returns

IEnumerable<JsonLdEntity>

Pennington.BlogSite.BlogSiteFrontMatter

namespace Pennington.BlogSite;

/// Front matter bound by AddBlogSite. Consolidates all post-authoring fields (Author, Repository, Series, Date, RedirectUrl) in one contract. Implements IFrontMatter, ITaggable, ISectionable, IRedirectable, and IHasStructuredData (emits a schema.org Article).
public record BlogSiteFrontMatter
{
    /// Record key of this post's published site.standard.document record (Standard Site), if any.
    
public string AtprotoRkey { get; set; }
/// Author name shown in the byline and RSS feed.
public string Author { get; set; }
/// Publication date. Posts are ordered by this date in archives and feeds.
public DateTime? Date { get; set; }
/// Short post description used for meta tags, RSS summary, and archive listings.
public string Description { get; set; }
/// Returns the schema.org entities to emit on the page. Implementations typically yield one Article/Recipe/Product/etc. built from front matter values, plus the CanonicalUrl the template supplies.
public IEnumerable<JsonLdEntity> GetStructuredData(StructuredDataContext context)
; /// When true, the post is skipped during production builds.
public bool IsDraft { get; set; }
/// When false, the post is excluded from the generated llms.txt output.
public bool Llms { get; set; }
/// When set, the post emits a client-side redirect to this URL instead of normal content.
public string RedirectUrl { get; set; }
/// URL to the post's source repository or related project (optional).
public string Repository { get; set; }
/// When false, the post is excluded from the search index.
public bool Search { get; set; }
/// When true, the post is indexed for search/llms but hidden from the rendered navigation tree.
public bool SearchOnly { get; set; }
/// Section heading the post belongs under in navigation.
public string SectionLabel { get; set; }
/// Series name grouping related posts together.
public string Series { get; set; }
/// Tags applied to the post for filtering and the tag index.
public string[] Tags { get; set; }
/// Post title.
public string Title { get; set; }
/// Stable identifier used for cross-references ([text](xref:uid)).
public string Uid { get; set; }
}