Funcionalidade de comentários para blog no GitHub implementada sem JS no frontend
(github.com/nemorize)Comecei com o objetivo de ter um blog que não servisse nenhum código JS no frontend.
Como o blog existente já tinha uma funcionalidade de comentários usando giscus,
implementar comentários sem JS era um grande obstáculo.
Implementei a funcionalidade de comentários usando Cloudflare Workers e GitHub Actions.
Ela funciona conforme o fluxo abaixo.
- Exibe um formulário de comentários hospedado em um Cloudflare Worker.
- O usuário faz login com a conta do GitHub por meio desse formulário e envia o comentário.
- O Worker faz o escape do conteúdo enviado e o encaminha ao GitHub por meio da API de workflow dispatches do GitHub Actions.
- O GitHub Actions, com base no conteúdo recebido, adiciona o código do comentário ao arquivo HTML do post e faz commit dessa alteração.
- O resultado comitado é refletido em produção de acordo com o processo de deploy do GitHub Pages Actions.
Há um pequeno atraso até que a alteração seja refletida seguindo as etapas 3 a 5...
Resolvi isso simplesmente adicionando uma mensagem de aviso. Em plataformas de blog como WordPress, recursos como "comentário publicado após revisão do administrador" são comuns, então tratei esse atraso como se o administrador estivesse analisando o comentário. Só você, que está lendo este texto, precisa fingir que não percebeu.
Em termos de UX, ficou re??solvido hehe
É uma abordagem que só faz sentido quando se tem, num blog pequeno e pessoal, o objetivo muito específico de não usar JS de jeito nenhum, então espero que vejam isso apenas como uma curiosidade divertida 😅
Você pode testar diretamente no link abaixo!
https://nemorize.me/blog/202507/blog-renewal
4 comentários
É um gênio mesmo..? kkkkkkkkkk
De repente, fiquei curioso para saber se um llm também conseguiria fazer isso kkk
A forma de resolver a latência é original e divertida 👏
É uma espécie de CMS headless? Interessante.