Imagem destacada

Prévia do ghost-giscus-plugin

Por padrão, este plugin colocou os comentários desta página logo depois do corpo do artigo. Mude a posição, o espaçamento e se existe uma área de comentários para assinantes no painel à esquerda, e os comentários reais se movem junto.

Introdução

O giscus monta os comentários em qualquer elemento da página que tenha a classe giscus. Este plugin apenas cria esse elemento no lugar que você quiser. Os comentários em si continuam servidos pelo giscus e armazenados no GitHub Discussions, então nada é reimplementado.

Instalação

No Ghost, cole os dois scripts abaixo em Configurações, injeção de código, rodapé do site. O primeiro é este plugin; o segundo é a tag oficial do giscus.

<script src="https://cdn.jsdelivr.net/gh/GreedyLabs/ghost-giscus-plugin@1/giscus-mount.min.js"
        data-target=".gh-content"
        data-place="after"
        data-class="gh-comments gh-canvas"
        data-padding-bottom="48"></script>

<script src="https://giscus.app/client.js"
        data-repo="[YOUR REPO]"
        data-repo-id="[REPO ID]"
        data-category="[CATEGORY]"
        data-category-id="[CATEGORY ID]"
        data-mapping="pathname"
        data-theme="preferred_color_scheme"
        crossorigin="anonymous"
        async></script>

A ordem importa

Este plugin deve vir antes do script do giscus. O giscus decide onde montar no instante em que roda, verificando se há um elemento giscus, então nosso script precisa criar esse lugar primeiro. Inverta a ordem e os comentários acabam na tag do script.

Opções

Tudo é configurado com opções na tag do script: a qual elemento ancorar (data-target), onde ao redor dele anexar (data-place, um entre replace, append, prepend, before, after), a classe ou classes adicionadas ao wrapper de montagem (data-class, separadas por espaço para você colocar várias e herdar o estilo do seu tema) e os quatro lados do espaçamento (data-padding-top, data-padding-right, data-padding-bottom, data-padding-left, em px). Quando o elemento alvo não é encontrado, uma proteção de página remove o script do giscus para os comentários não caírem no lugar errado; desligue-a com data-guard="false".

data-target=".gh-content"
data-place="after"
data-class="gh-comments gh-canvas"
data-padding-bottom="48"

Escolhendo um lugar

Dois formatos cobrem a maioria dos casos: colocar os comentários logo depois do artigo ou substituir um bloco de comentários existente. Os dois são vistos a seguir, um de cada vez.

Colocar depois do artigo

O padrão recomendado é data-target=".gh-content" data-place="after" data-class="gh-comments gh-canvas" data-padding-bottom="48". Ele cria o ponto de montagem logo depois do corpo do artigo (.gh-content) e herda as classes gh-comments gh-canvas do tema, de modo que o espaçamento e a largura parecem nativos. É a escolha mais segura porque o corpo do artigo sempre existe em toda página. Ao contrário de uma área de comentários só para membros, que pode ficar oculta, o alvo nunca some, então o comportamento é o mesmo em todo lugar.

<script src="https://cdn.jsdelivr.net/gh/GreedyLabs/ghost-giscus-plugin@1/giscus-mount.min.js"
        data-target=".gh-content"
        data-place="after"
        data-class="gh-comments gh-canvas"
        data-padding-bottom="48"></script>

Substituir um bloco de comentários existente

Se o seu tema já tem um bloco de comentários, reaproveite o lugar dele com data-target=".gh-comments" data-place="replace". Isso reproduz <div class="gh-comments gh-canvas giscus"></div> apenas com code injection, sem editar o tema, então você herda a posição e o estilo que o tema já definiu. Use quando existir um bloco correspondente. A ressalva: os comentários nativos do Ghost são só para membros, então em sites que os desativam o elemento .gh-comments pode não existir. Nesse caso, use o padrão de colocar depois do artigo acima.

<script src="https://cdn.jsdelivr.net/gh/GreedyLabs/ghost-giscus-plugin@1/giscus-mount.min.js"
        data-target=".gh-comments"
        data-place="replace"></script>

Configuração do giscus

O link do repositório, a categoria e o repo-id vêm do site oficial do giscus. Informe seu repositório lá e ele monta a tag do giscus pronta para colar.

Configurar no giscus.app →

Perguntas frequentes

Os comentários aparecem na tag do script, não onde eu quero.

Seu script do plugin está depois do script do giscus. Troque a ordem para que este plugin venha primeiro.

Só quero comentários em certas páginas.

Aponte a âncora para um elemento que só exista nessas páginas. Quando o seletor não corresponde a nada, o plugin não faz nada, então mirar um elemento exclusivo dos posts mantém os comentários nos posts.

Quero o espaçamento de comentários do meu tema.

Se a regra está na folha de estilos do seu tema, adicione a classe dela com data-class para herdá-la; caso contrário, defina o valor diretamente com data-padding-bottom.

Conclusão

É uma ferramenta enxuta que deixa o giscus oficial intacto e só o posiciona para você. Uma linha e a ordem certa, e ele se comporta igual em qualquer site.