-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Overview
Introduce a CSS theming system that allows for easily swappable themes, where each theme is read by a common interface and integrates with the template rendering system.
This feature would allow for more structured and maintainable CSS theming, benefiting both developers and designers by improving flexibility and readability.
Problem Statement
Currently, there is no standardised way to declaratively associate styles with SGML elements, making it difficult to manage themes in a structured and reusable manner.
Proposed Solution
- Element-to-style mapping: Define a system where specific SGML elements can be associated with a corresponding CSS class (e.g., tags receiving a "link" class).
- Class-to-class mapping: Allow existing classes to be dynamically extended or modified by themes (e.g., an element with "article" can be targeted to become "article custom-article-blue").
- Theme configuration format: Create a structured format for defining themes that can be easily edited as text documents and translated into Python objects.
- Common interface: Ensure all themes are read by a unified system that integrates smoothly with the template rendering process.
Tasks
- Define a configuration format (e.g., JSON, YAML) for themes.
- Create a Python-based parser to convert theme configurations into usable style mappings.
- Integrate with existing templating engines for seamless adoption.
Metadata
Metadata
Assignees
Labels
FeatureA brand new component or ideaA brand new component or idea