Skip to content

feat: allow custom themes via registry extension #132

@rohilsurana

Description

@rohilsurana

Problem

`src/themes/registry.ts` hardcodes two themes (default, paper). There's no way for site owners to register custom themes without modifying Chronicle's source code. The theme type system (`ThemeLayoutProps`, `ThemePageProps`) is well-defined but not exposed for external use.

Suggested Approach

  • Allow `chronicle.yaml` to reference a custom theme module path:
    ```yaml
    theme:
    name: custom
    module: ./themes/my-theme
    ```
  • The module would export `{ Layout, Page, Skeleton }` conforming to the existing theme types
  • Keep default and paper as built-in themes that don't need a module path

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions