Change theme application mechanic
Right now each theme is applied by switching the class on the <body/>
. So solarized light is body.theme-light
, solarized dark is body.theme-dark
.
This makes it a little tricky to make custom themes as you have to either compromise on only having the style work on 1 official theme, which makes it so you have to inform whoever's using your style in one way or another, or you have to include every class so it works on all themes. This increases the size of custom styles by quite a bit.
For example, my Dracula theme to apply over every official theme takes 36414 characters. Whilst the slimmed down version which just applies to the white theme, takes 14088 characters. Both including whitespace, which can be removed of course. The file size goes from 36.4KB to 14.1KB.