problem description
Currently, the zkThemeTemplate https://github.com/zkoss/zkThemeTemplate project only contains the default theme. If users want to create a customized theme based on another theme e.g. sapphire, they have to copy another theme's source files from another repository.
We should provide an easy way for users to create a customized theme based on any of built-in themes. Since rare users create a theme from nothing, they usually choose a theme whose style is closest to what they want and just modify several settings in a theme e.g. main color, font size, border...
Requirement
The provided approach should fulfill the following requirements:
1. works for all standard themes and compact themes
2. can track/merge change with git
3. reduce manual actions to minimal steps e.g. a setup script
proposed solution
For example, we can put
- each theme in a different folder
- one theme for one branch
in zkThemeTemplate repo.
- import different LESS file for different theme
- run a script to override all necessary files instead of copying files manually for compact theme