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

BlogPostFrontMatter Pennington.DocSite

Front matter for blog posts under the content project's blog folder. Bound by AddDocSite when the blog is active. Implements IFrontMatter, ITaggable, IRedirectable, IStandardSiteDocument, and IHasStructuredData (emits a schema.org Article with the post's date and author).

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 post byline and RSS feed.
Date DateTime?
Publication date. Posts are ordered by this date, newest first.
Description string
Short description used for the meta description and post 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.
Search bool
When false, the post is excluded from the search index.
SearchOnly bool
Always true: posts are indexed for search and llms.txt but kept out of the documentation navigation sidebar. Not author-settable — the blog has its own index and tag pages.
Tags string[]
Tags applied to the post for the tag index and browse-by-tag pages.
Title string
Post title rendered in the browser tab and post heading.
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.DocSite.BlogPostFrontMatter

namespace Pennington.DocSite;

/// Front matter for blog posts under the content project's blog folder. Bound by AddDocSite when the blog is active. Implements IFrontMatter, ITaggable, IRedirectable, IStandardSiteDocument, and IHasStructuredData (emits a schema.org Article with the post's date and author).
public record BlogPostFrontMatter
{
    /// 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 post byline and RSS feed.
public string Author { get; set; }
/// Publication date. Posts are ordered by this date, newest first.
public DateTime? Date { get; set; }
/// Short description used for the meta description and post 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; }
/// When false, the post is excluded from the search index.
public bool Search { get; set; }
/// Always true: posts are indexed for search and llms.txt but kept out of the documentation navigation sidebar. Not author-settable — the blog has its own index and tag pages.
public bool SearchOnly { get; }
/// Tags applied to the post for the tag index and browse-by-tag pages.
public string[] Tags { get; set; }
/// Post title rendered in the browser tab and post heading.
public string Title { get; set; }
/// Stable identifier used for cross-references ([text](xref:uid)).
public string Uid { get; set; }
}