Record
public record ThemeManifest : System.IEquatable<Moka.Docs.Core.Theming.ThemeManifest>

Namespace: Moka.Docs.Core.Theming

Metadata and configuration for an active theme.

Inheritance

Implements: System.IEquatable<Moka.Docs.Core.Theming.ThemeManifest>

Properties

NameDescription
Author Theme author.
CssFiles CSS files to include.
Description Theme description.
JsFiles JavaScript files to include.
Layouts Available layout template names.
Name Theme name.
RootPath Root directory path of the theme.
Variables Theme-configurable variables.
Version Theme version.

Author

string? ThemeManifest.Author { get; init; }

Theme author.

CssFiles

List<string> ThemeManifest.CssFiles { get; init; }

CSS files to include.

Description

string ThemeManifest.Description { get; init; }

Theme description.

JsFiles

List<string> ThemeManifest.JsFiles { get; init; }

JavaScript files to include.

Layouts

List<string> ThemeManifest.Layouts { get; init; }

Available layout template names.

Name

string ThemeManifest.Name { get; init; }

Theme name.

RootPath

string ThemeManifest.RootPath { get; init; }

Root directory path of the theme.

Variables

Dictionary<string, string> ThemeManifest.Variables { get; init; }

Theme-configurable variables.

Version

string ThemeManifest.Version { get; init; }

Theme version.

Methods

NameDescription
ToString() override
Type Relationships
classDiagram
                    style ThemeManifest fill:#f9f,stroke:#333,stroke-width:2px
                    ThemeManifest ..|> ThemeManifest~ : implements
                
View Source
/// <summary>
///     Metadata and configuration for an active theme.
/// </summary>
public sealed record ThemeManifest
{
    /// <summary>Theme name.</summary>
    public required string Name { get; init; }
    /// <summary>Theme version.</summary>
    public string Version { get; init; } = "1.0.0";
    /// <summary>Theme description.</summary>
    public string Description { get; init; } = "";
    /// <summary>Theme author.</summary>
    public string? Author { get; init; }
    /// <summary>Root directory path of the theme.</summary>
    public required string RootPath { get; init; }
    /// <summary>Available layout template names.</summary>
    public List<string> Layouts { get; init; } = [];
    /// <summary>CSS files to include.</summary>
    public List<string> CssFiles { get; init; } = [];
    /// <summary>JavaScript files to include.</summary>
    public List<string> JsFiles { get; init; } = [];
    /// <summary>Theme-configurable variables.</summary>
    public Dictionary<string, string> Variables { get; init; } = [];

    /// <inheritdoc/>
    public override string ToString() => $"Theme({Name} v{Version})";
}
Was this page helpful?