Función de comentarios para un blog en GitHub implementada sin JS en el frontend
(github.com/nemorize)Empecé con el objetivo de tener un blog que no sirviera ningún código JS en el frontend.
Como el blog existente tenía una función de comentarios usando giscus,
implementar comentarios sin JS era un gran obstáculo.
Implementé la función de comentarios usando Cloudflare Workers y GitHub Actions.
Funciona según el siguiente flujo.
- Se muestra un formulario de comentarios alojado en un Cloudflare Worker.
- El usuario inicia sesión con su cuenta de GitHub a través de ese formulario de comentarios y envía su comentario.
- El Worker escapa el contenido del comentario recibido y lo envía a GitHub mediante la API de workflow dispatches de GitHub Actions.
- GitHub Actions, con base en el contenido recibido, agrega el código del comentario al archivo HTML de la publicación y hace commit de ese cambio.
- El resultado comiteado se refleja en producción según el proceso de despliegue de GitHub Pages Actions.
El pequeño retraso que toma reflejarse siguiendo los pasos 3 al 5...
Lo resolví simplemente agregando un mensaje informativo. En plataformas de blogs como WordPress es común tener funciones como "publicar el comentario después de la revisión del administrador", así que decidí hacer como si ese retraso fuera por una revisión del administrador. Solo tú, que estás leyendo esto, tienes que hacer como que no lo sabes.
En términos de UX, quedó re??suelto jaja
Solo tiene sentido como enfoque cuando tienes el objetivo, muy específico, de no usar JS a toda costa en un blog pequeño y personal, así que espero que lo vean simplemente como algo curioso 😅
¡Pueden probarlo directamente en el siguiente enlace!
https://nemorize.me/blog/202507/blog-renewal
4 comentarios
¿Es un genio, no? jajajajaja
De repente me da curiosidad si un LLM también podría lograr algo así jaja
La forma de resolver la latencia es original y muy divertida 👏
¿Es una especie de CMS headless? Está interesante.