Да, мы настоятельно не рекомендуем изменять исходный код Discourse, так как это значительно усложняет обновления и повышает риск возникновения ошибок. Вместо этого следует использовать темы, компоненты тем и плагины.
Существуют готовые #customization:theme-component, которые могут подойти, или как минимум послужить примерами, если вы хотите разработать собственный.
Versatile Banner может подойти вам «из коробки» или потребовать незначительных доработок.
Showcased Categories Theme Component — хороший общий пример того, как отображать пользовательский контент на главной странице.