BlogFrontMatter
Pennington.FrontMatter
Core-library front matter for blog posts on bare AddPennington hosts. Carries Date, Author, and Series alongside the IFrontMatter defaults, and implements IFrontMatter and ITaggable. Not the record bound by AddBlogSite — see BlogSiteFrontMatter in the Pennington.BlogSite package for that.
Properties
Authorstring- Optional author name rendered in post bylines and feeds.
DateDateTime?- Publication date surfaced in feeds and sitemaps. Also drives scheduled publishing: when this is set to a moment after the build clock, the page is excluded from build output (same dev-vs-build behavior as
IsDraft) until the clock catches up. Descriptionstring- Short summary used in meta descriptions, OpenGraph tags, and listings.
IsDraftbool- True when the page is a draft and should be excluded from builds.
Llmsbool- True when the page should be included in llms.txt output.
Searchbool- True when the page should be included in the search index.
SearchOnlybool- When true, the page is included in indexing channels (search, llms.txt) but excluded from the rendered navigation tree. Useful for FAQ entries, glossary terms, or other content that should be discoverable by search but should not clutter the sidebar.
Seriesstring- Optional series identifier used to group related posts together.
Tagsstring[]- Tags applied to this content.
Titlestring- Page title rendered in the browser tab, navigation, and OpenGraph tags.
Uidstring- Stable cross-reference identifier used by xref links.
Pennington.FrontMatter.BlogFrontMatter
namespace Pennington.FrontMatter;
/// Core-library front matter for blog posts on bare AddPennington hosts. Carries Date, Author, and Series alongside the IFrontMatter defaults, and implements IFrontMatter and ITaggable. Not the record bound by AddBlogSite — see BlogSiteFrontMatter in the Pennington.BlogSite package for that.
public record BlogFrontMatter
{
/// Optional author name rendered in post bylines and feeds.
public string Author { get; set; }
/// Publication date surfaced in feeds and sitemaps. Also drives scheduled publishing: when this is set to a moment after the build clock, the page is excluded from build output (same dev-vs-build behavior as IsDraft) until the clock catches up.
public DateTime? Date { get; set; }
/// Short summary used in meta descriptions, OpenGraph tags, and listings.
public string Description { get; set; }
/// True when the page is a draft and should be excluded from builds.
public bool IsDraft { get; set; }
/// True when the page should be included in llms.txt output.
public bool Llms { get; set; }
/// True when the page should be included in the search index.
public bool Search { get; set; }
/// When true, the page is included in indexing channels (search, llms.txt) but excluded from the rendered navigation tree. Useful for FAQ entries, glossary terms, or other content that should be discoverable by search but should not clutter the sidebar.
public bool SearchOnly { get; set; }
/// Optional series identifier used to group related posts together.
public string Series { get; set; }
/// Tags applied to this content.
public string[] Tags { get; set; }
/// Page title rendered in the browser tab, navigation, and OpenGraph tags.
public string Title { get; set; }
/// Stable cross-reference identifier used by xref links.
public string Uid { get; set; }
}