Javascript não reexecutando entre páginas diferentes

Olá a todos,

Desenvolvi um componente de tema que faz rotação usando a biblioteca swiper.js. Na tag head do meu componente, carrego os arquivos JS/CSS do Swiper via CDN e também declaro o elemento na página como um swiper dentro de uma função window.ready.

O problema que estou enfrentando é que a rotação funciona perfeitamente quando você navega diretamente para aquela página, mas, se clicar em qualquer link no site do Discourse que leve a essa página, o primeiro slide é carregado, mas como uma imagem estática, e esse componente não anima (não rotação) até que você atualize a página.

Suspeito que isso se deva ao fato de que o JavaScript não está sendo executado novamente ao navegar entre as páginas no Discourse; em vez disso, o conteúdo é apenas gerado em diferentes páginas. É assim que o Discourse funciona e, se sim, existe alguma solução alternativa para isso?

Você precisa colocar este código em um componente de tema:

<script type="text/discourse-plugin" version="0.8">
    api.onPageChange(() =>{
        callYourFunctionHere();
    });
</script>