ContentRecord Pennington.Content
A source-agnostic, routable content record — the unit every discovery channel reads. Pairs a canonical ContentRoute with its typed IFrontMatter, independent of whether the page came from markdown, a Razor page, or a custom IContentService / endpoint.
Taxonomy, search faceting, and structured-data emission all consume records, so a service that projects records through GetRecordsAsync gets the same browse-by-field, custom-facet, and JSON-LD behavior that markdown has. The capabilities each pillar reads — ITaggable, ISectionable, IHasStructuredData, IHasSearchFacets — ride on Metadata.
Properties
MetadataIFrontMatter- Typed front matter carrying the record's title, dates, indexing flags, and capability mixins.
RouteContentRoute- Canonical route the record is served at.
Constructors
ContentRecord
#public ContentRecord(ContentRoute Route, IFrontMatter Metadata)
A source-agnostic, routable content record — the unit every discovery channel reads. Pairs a canonical ContentRoute with its typed IFrontMatter, independent of whether the page came from markdown, a Razor page, or a custom IContentService / endpoint.
Taxonomy, search faceting, and structured-data emission all consume records, so a service that projects records through GetRecordsAsync gets the same browse-by-field, custom-facet, and JSON-LD behavior that markdown has. The capabilities each pillar reads — ITaggable, ISectionable, IHasStructuredData, IHasSearchFacets — ride on Metadata.
Parameters
RouteContentRoute- Canonical route the record is served at.
MetadataIFrontMatter- Typed front matter carrying the record's title, dates, indexing flags, and capability mixins.
Pennington.Content.ContentRecord
namespace Pennington.Content;
/// A source-agnostic, routable content record — the unit every discovery channel reads. Pairs a canonical ContentRoute with its typed IFrontMatter, independent of whether the page came from markdown, a Razor page, or a custom IContentService / endpoint. Taxonomy, search faceting, and structured-data emission all consume records, so a service that projects records through GetRecordsAsync gets the same browse-by-field, custom-facet, and JSON-LD behavior that markdown has. The capabilities each pillar reads — ITaggable, ISectionable, IHasStructuredData, IHasSearchFacets — ride on Metadata.
public record ContentRecord
{
/// A source-agnostic, routable content record — the unit every discovery channel reads. Pairs a canonical ContentRoute with its typed IFrontMatter, independent of whether the page came from markdown, a Razor page, or a custom IContentService / endpoint. Taxonomy, search faceting, and structured-data emission all consume records, so a service that projects records through GetRecordsAsync gets the same browse-by-field, custom-facet, and JSON-LD behavior that markdown has. The capabilities each pillar reads — ITaggable, ISectionable, IHasStructuredData, IHasSearchFacets — ride on Metadata.
public ContentRecord(ContentRoute Route, IFrontMatter Metadata)
;
/// Typed front matter carrying the record's title, dates, indexing flags, and capability mixins.
public IFrontMatter Metadata { get; set; }
/// Canonical route the record is served at.
public ContentRoute Route { get; set; }
}