This documentation is also published as Markdown for efficient machine reading: the whole site is indexed at /llms.txt, and every page has a clean Markdown copy under /_llms/. These are generated from the same source and cost far fewer tokens to read than this rendered HTML.

Skip to main content Skip to navigation

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

Metadata IFrontMatter
Typed front matter carrying the record's title, dates, indexing flags, and capability mixins.
Route ContentRoute
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

Route ContentRoute
Canonical route the record is served at.
Metadata IFrontMatter
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; }
}