Вызов функции при смене страницы

В зависимости от того, что вы хотите сделать, варианты могут сильно различаться, но для вызова функции или выполнения действий при каждом изменении страницы пользователем можно использовать API плагинов.

Здесь вы можете ознакомиться с руководством для разработчиков по использованию тем и компонентов Discourse (пользовательский JS и т. д.).

Здесь вы найдете информацию о withPluginApi.

Ниже приведен простой пример, где я вывожу в лог текущий URL, а также заголовок страницы.

Я делаю это в файле common/head_tag.html, который можно отредактировать по адресу /admin/customize/themes/9/common/head_tag/edit.

<script type="text/discourse-plugin" version="0.8">
    api.onPageChange((url, title) => {
        console.log(url, title);
    });
</script>