A seconda di ciò che vuoi fare, questo può variare notevolmente, ma per chiamare una funzione o eseguire un’azione ad ogni cambio di pagina da parte dell’utente, puoi utilizzare la plugin API.
Qui puoi consultare una guida per sviluppatori all’uso dei temi/componenti di Discourse (JS personalizzato, ecc.).
Qui puoi trovare le informazioni su withPluginApi.
Questo è un semplice esempio in cui registro l’URL corrente e il titolo della pagina.
Sto facendo questo nel file common/head_tag.html, che può essere modificato in /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>