This site provides a machine-readable index at /llms.txt.

Skip to main content Skip to navigation

IContentPipeline Pennington.Pipeline

The content processing pipeline.

Methods

DiscoverAsync

#
IAsyncEnumerable<ContentItem> DiscoverAsync();

Entry: content services produce discovered items.

Returns

IAsyncEnumerable<ContentItem>

GenerateAsync

#
Task<BuildReport> GenerateAsync(IAsyncEnumerable<ContentItem> items, OutputOptions options);

Exit: generate output files.

Parameters

items IAsyncEnumerable<ContentItem>
options OutputOptions

Returns

Task<BuildReport>

ParseAsync

#
IAsyncEnumerable<ContentItem> ParseAsync(IAsyncEnumerable<ContentItem> items);

Transform: parse items (read files, extract YAML + body).

Parameters

items IAsyncEnumerable<ContentItem>

Returns

IAsyncEnumerable<ContentItem>

RenderAsync

#
IAsyncEnumerable<ContentItem> RenderAsync(IAsyncEnumerable<ContentItem> items);

Transform: render items (Markdig pipeline to HTML).

Parameters

items IAsyncEnumerable<ContentItem>

Returns

IAsyncEnumerable<ContentItem>

Pennington.Pipeline.IContentPipeline

namespace Pennington.Pipeline;

/// The content processing pipeline.
public interface IContentPipeline
{
    /// Entry: content services produce discovered items.
    
IAsyncEnumerable<ContentItem> DiscoverAsync();
/// Exit: generate output files.
Task<BuildReport> GenerateAsync(IAsyncEnumerable<ContentItem> items, OutputOptions options);
/// Transform: parse items (read files, extract YAML + body).
IAsyncEnumerable<ContentItem> ParseAsync(IAsyncEnumerable<ContentItem> items);
/// Transform: render items (Markdig pipeline to HTML).
IAsyncEnumerable<ContentItem> RenderAsync(IAsyncEnumerable<ContentItem> items);
}