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
| Name | Description |
|---|---|
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
| Name | Description |
|---|---|
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})";
}