Hiding elements of the interface

(Logan Merriam) #1

I have an ember app, so discourse is a natural pick for the discussion board that I want to integrate into it. But it’s much more full-featured than I need, I’d like to branch a version and trim out some of the interface elements that I don’t want. One basic example would be removing the category, users and views columns in the top-level view.

How tough is it to work with the interface? Sorry if this is a common questions but I couldn’t find other examples.

And if this is something that would be better suited to a another platform, do you know of a good alternative?


(Jeff Atwood) #2

Why don’t you just hide those columns with CSS?

See admin, customize, CSS.

(Logan Merriam) #3

I just wanted to give one example, but I’m really looking to make some pretty big changes to mold it to my app. I think it has to go beyond CSS. Just wondering if it’s especially tough to wrangle (I know it’s a pretty big, complex app) and whether that’s a realistic use for Discourse.

(Jeff Atwood) #4

Why not start with the easier bits first?

(Robin Ward) #5

Removing elements from the DOM is tricky if the app doesn’t support enabling/hiding them via setting already.

You can make a plugin that overwrites the handlebars templates. Unfortunately if you do this you will not pick up any updates to those templates when we make them which will screw you over for future updates.

If you find a feature particularly objectionable and you can’t hide it via CSS, you could put it forward as a pull request to hide it behind a setting. If we think lots of people would want to disable it we might accept it. I realize this answer might not be satisfactory but it’s hard to extend the app in a way that removes things :smile:

(Logan Merriam) #6

That’s exactly what I wanted to know!

I’m playing around with it right now and it’s going pretty well. Predictably, when I remove something I usually have to fix up a few other things, but it hasn’t been bad. Only a tiny bit hacky.

Thanks guys!