Customisability in discourse?

Not for everything, but for implementing any more custom design I do think you’d need to write code. My recommended steps would be:

  • Learn how to use the Theme CLI gem that @Canapin already mentioned. This can be a daunting first step, but if anything will make you fall in love with customising Discourse, it’s that little gem! It’s like a magic wand for designers :sparkles: Without it, you will likely feel friction every step of the way.

  • Practice implementing styles using CSS custom properties.

    I think the guides are not up-to-date in this regard. There’s much left to do for a truly consistent system of design tokens, but Discourse has already come a long way! Figuring out where and how custom properties are used will help you a lot to understand best practices for the front of the front-end of Discourse.

    You can find custom properties using your browser inspector, or look at this list for a first impression: Documenting custom properties. And you can style recent templates, like the sidebar, almost entirely with custom properties.

  • As @denvergeeks suggested, you could have a look at the Canvas theme template. What it does is adding a set of custom properties for layout styling that are not available in core.

3 Likes