How to add more options to color palettes?

I noticed that some palettes have more options to set colors than others.
For example the Dracula palette has way more options than other palettes.

I saw this post, but I don’t know if this is relevant:

This seems related to Themes, but palettes don’t have that option to edit the code and add Color definitions.

1 Like

Yes, a theme can directly override individual colors — this isn’t possible via the color palette admin area

2 Likes

Thank you for sharing that.

So, to someone who’s not yet very familiar with some of the stuff, that means I need to SSH my server (if that’s what the terminology is?) and find that json file, make those changes, and then it would be reflected in the UI?

If so, then we can override the default variables, as well as adding new ones, right?

1 Like

if you did it this way, I think it would probably get overwritten by the next Discourse update… so generally you want to leave the existing palettes alone

If you want to create a new palette with all the extended color overrides, and make it so users can select that palette, the simplest way is to create a theme and upload it.

All you would have to do in the theme itself is edit about.json to contain the color definitions… there’s an example here:

Once the theme is added to the site, the included color palette will be added to admin/customize/colors and you can make that user-selectable

Another way to customize our colors is to override them directly with CSS, this would require using a certain theme rather than a specific color palette… but in the theme’s common file you can do something like:

``css
:root {
--primary-low: red;
--secondary: #ff0000;
}
``
you can see all the available colors to override by opening the browser inspector, clicking the HTML element at the top, and doing some scrolling (we have a lot of variables now)

The benefit of this method is that you can do it via the theme editor in the admin UI

3 Likes

There’s a lot to digest here, but I will definitely take some time to read, analyze it, and test it.

Thank you so much for the detailed reply. I saved it to my notes. :raising_hands: