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, and IRedirectable.
Properties
Authorstring- Default:
""Author name shown in the byline and RSS feed. DateSystem.DateTime?- Default:
nullPublication date. Posts are ordered by this date in archives and feeds. Descriptionstring?- Default:
nullShort post description used for meta tags, RSS summary, and archive listings. IsDraftbool- Default:
falseWhen true, the post is skipped during production builds. Llmsbool- Default:
trueWhen false, the post is excluded from the generated llms.txt output. RedirectUrlstring?- Default:
nullWhen set, the post emits a client-side redirect to this URL instead of normal content. Repositorystring- Default:
""URL to the post's source repository or related project (optional). Searchbool- Default:
trueWhen false, the post is excluded from the search index. SectionLabelstring?- Default:
nullSection heading the post belongs under in navigation. Seriesstring- Default:
""Series name grouping related posts together. Tagsstring[]- Default:
[]Tags applied to the post for filtering and the tag index. Titlestring- Default:
"Empty title"Post title. Uidstring?- Default:
nullStable identifier used for cross-references ([text](xref:uid)).
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, and IRedirectable.
public record BlogSiteFrontMatter
{
/// Author name shown in the byline and RSS feed.
public string Author { get; init; } = "";
/// Publication date. Posts are ordered by this date in archives and feeds.
public DateTime? Date { get; init; }
/// Short post description used for meta tags, RSS summary, and archive listings.
public string? Description { get; init; }
/// When true, the post is skipped during production builds.
public bool IsDraft { get; init; }
/// When false, the post is excluded from the generated llms.txt output.
public bool Llms { get; init; } = true;
/// When set, the post emits a client-side redirect to this URL instead of normal content.
public string? RedirectUrl { get; init; }
/// URL to the post's source repository or related project (optional).
public string Repository { get; init; } = "";
/// When false, the post is excluded from the search index.
public bool Search { get; init; } = true;
/// Section heading the post belongs under in navigation.
public string? SectionLabel { get; init; }
/// Series name grouping related posts together.
public string Series { get; init; } = "";
/// Tags applied to the post for filtering and the tag index.
public string[] Tags { get; init; } = [];
/// Post title.
public string Title { get; init; } = "Empty title";
/// Stable identifier used for cross-references ([text](xref:uid)).
public string? Uid { get; init; }
}