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
AtprotoRkeystring- Record key of this post's published
site.standard.documentrecord (Standard Site), if any. Authorstring- Author name shown in the byline and RSS feed.
DateDateTime?- Publication date. Posts are ordered by this date in archives and feeds.
Descriptionstring- Short post description used for meta tags, RSS summary, and archive listings.
IsDraftbool- When true, the post is skipped during production builds.
Llmsbool- When false, the post is excluded from the generated llms.txt output.
RedirectUrlstring- When set, the post emits a client-side redirect to this URL instead of normal content.
Repositorystring- URL to the post's source repository or related project (optional).
Searchbool- When false, the post is excluded from the search index.
SearchOnlybool- When true, the post is indexed for search/llms but hidden from the rendered navigation tree.
SectionLabelstring- Section heading the post belongs under in navigation.
Seriesstring- Series name grouping related posts together.
Tagsstring[]- Tags applied to the post for filtering and the tag index.
Titlestring- Post title.
Uidstring- 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
contextStructuredDataContext
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; }
}