Отказ от ответственности для конкретной категории

Привет, добро пожаловать обратно!

Если вы видите пустое место, значит у вас ошибка. find не существует в helper.
Обычно это можно увидеть в консоли браузера (F12).

Вам, скорее всего, нужно что-то вроде этого:

api.decorateWidget('post:before', (helper, args) => {
    if (helper.widget.model.topic.category_id === 51) {
        return helper.h("div.disclaimer", settings.MY_DISCLAIMER)
    }
});

или с использованием сырого HTML:

const RawHtml = require("discourse/widgets/raw-html").default;

api.decorateWidget('post:before', (helper, args) => {
    if (helper.widget.model.topic.category_id === 51) {
         return new RawHtml({html: `<div class="container">${settings.MY_DISCLAIMER}</div>`})
    }
});

Вы можете прочитать этот пост, где объясняется, как работает этот хелпер h.

Если вы хотите добавить HTML перед обработанным содержимым, можно сделать следующее:

api.decorateWidget('post-contents:before', (helper, args) => {
    const { topic } = helper.widget.findAncestorModel();

    if (topic && topic.category_id === 51) {
         return helper.h("div.disclaimer", settings.MY_DISCLAIMER);
    }
});