IFrontMatter
Pennington.FrontMatter
Minimum: every content page has a title. Default members provide sensible opt-out values so implementations only declare properties they actually parse from front matter.
Properties
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.
Titlestring- Page title rendered in the browser tab, navigation, and OpenGraph tags.
Uidstring- Stable cross-reference identifier used by xref links.
Pennington.FrontMatter.IFrontMatter
namespace Pennington.FrontMatter;
/// Minimum: every content page has a title. Default members provide sensible opt-out values so implementations only declare properties they actually parse from front matter.
public interface IFrontMatter
{
/// 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; }
/// Short summary used in meta descriptions, OpenGraph tags, and listings.
public string Description { get; }
/// True when the page is a draft and should be excluded from builds.
public bool IsDraft { get; }
/// True when the page should be included in llms.txt output.
public bool Llms { get; }
/// True when the page should be included in the search index.
public bool Search { get; }
/// 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; }
/// Page title rendered in the browser tab, navigation, and OpenGraph tags.
public string Title { get; }
/// Stable cross-reference identifier used by xref links.
public string Uid { get; }
}