Why am I finding Discourse so difficult to customize?

You might need to add !important to your CSS so these rules take priority over others defined elsewhere. This situation is expected when several components are loaded in a specific order. That’s a common problem and not necessarily specific to Discourse. I don’t know if we could have a weighing system to tell “that component should load at the end,” but that sounds really unmanageable.

That’s why it’s important for theme and theme components to not use !important in the CSS unless it’s absolutely necessary.

If you want to edit a remote theme component, feel free to fork it on GitHub and create your version. That’s the easiest way! However, you won’t receive any updates from the original version. You can’t edit remote components because your customization might clash with the updates (and it’s a nightmare to handle).

Customizing Discourse is fairly accessible. It depends on what you’re expecting as customization, though. What are you trying to achieve here? Maybe we can help. The discourse team is usually open if some area welcomes customization facilities.

1 Like