HopHop

Mi plugin Grav para el Fediverse: integración con Bridgy Fed

grav fediverse plugin bridgy-fed webmention activitypub mastodon open-source

En mi artículo sobre la elección de mi stack de blog, mencioné que quería conectar este blog al Fediverse. La idea: que la gente pueda seguirme desde Mastodon o Bluesky, y recibir sus interacciones directamente en mis artículos. Sin sistema de comentarios que gestionar, sin spam, sin dolores de cabeza con el RGPD. Solo conversaciones.

Y aquí vamos de nuevo: desarrollé un plugin Grav para esto con mucha ayuda de Claude. Se basa en Bridgy Fed y se encarga de toda la parte técnica. Os explico cómo funciona y los problemas que encontré por el camino.

En resumen

Para los que tienen prisa, aquí está el recorrido:

  • Crear una cuenta en Bridgy Fed vinculando tu dominio
  • Instalar el plugin en tu Grav
  • Cuando publicas un artículo, el plugin notifica a Bridgy Fed que crea un post en el Fediverse
  • Cuando alguien interactúa (like, boost, respuesta), Bridgy Fed te envía la info vía Webmention
  • El plugin almacena y muestra estas interacciones en tu artículo

¿Qué es Bridgy Fed?

Bridgy Fed es un servicio gratuito creado por Ryan Barrett. Su propósito: conectar tu sitio web al Fediverse (Mastodon, Bluesky, etc.) sin tener que alojar un servidor ActivityPub tú mismo.

Concretamente, Bridgy Fed:

  • Crea una identidad Fediverse para tu dominio (como @trucs.hophop.be@trucs.hophop.be)
  • Convierte tus artículos en posts ActivityPub que la gente puede ver en Mastodon
  • Te devuelve las interacciones (likes, boosts, respuestas) vía el protocolo Webmention

Bastante elegante. Mantienes tu contenido en tu propio servidor, y el Fediverse viene a buscarlo.

Qué hace el plugin

El plugin grav-plugin-bridgyfed se encarga de toda la integración:

Inyección de Microformats2 — Bridgy Fed necesita entender la estructura de tu página. El plugin añade automáticamente las clases h-card, h-entry, p-author, etc. a tu HTML. No necesitas tocar tus templates.

Redirecciones well-known — Para que el Fediverse te descubra, necesitas responder a ciertas peticiones (/.well-known/webfinger, /.well-known/host-meta...). El plugin redirige todo eso a Bridgy Fed.

Envío de Webmention — Cuando publicas un artículo y marcas "Publicar en Fediverse", el plugin envía una notificación a Bridgy Fed.

Recepción y visualización — Cuando alguien interactúa con tu post, Bridgy Fed envía un Webmention a tu blog. El plugin lo almacena y lo muestra al final del artículo (likes, boosts, respuestas con avatares). Puedes ver un ejemplo concreto en mi artículo de prueba que muestra interacciones recibidas del Fediverse.

Cómo funciona en la práctica

Cuando publico un artículo

Mi artículo Grav
      │
      ▼
Plugin Bridgy Fed (Webmention saliente)
      │
      ▼
fed.brid.gy recibe la notificación
      │
      ▼
Bridgy Fed lee mi artículo (gracias a Microformats)
      │
      ▼
Creación del post ActivityPub
      │
      ▼
Visible en Mastodon, Bluesky, etc.

Cuando alguien responde

Usuario de Mastodon responde/da like/hace boost
      │
      ▼
La instancia Mastodon notifica a Bridgy Fed
      │
      ▼
Bridgy Fed me envía un Webmention
      │
      ▼
Mi plugin recibe y almacena la interacción
      │
      ▼
Visualización en el artículo (facepile, comentarios)

Es elegante. Todo pasa por estándares abiertos (ActivityPub, Webmention, Microformats2), y mi blog sigue siendo el punto central.

Instalación y configuración

Paso 1: Crear tu cuenta Bridgy Fed

Ve a fed.brid.gy e introduce la URL de tu sitio. Bridgy Fed verificará que te pertenece (vía un enlace en tu homepage o redirecciones well-known).

Una vez validado, tendrás una identidad Fediverse como @tudominio.com@tudominio.com. La gente puede buscarte y seguirte desde Mastodon.

Paso 2: Instalar el plugin

cd user/plugins
git clone https://github.com/ndieschburg/grav_plugin_bridgyfed.git bridgyfed
cd bridgyfed
composer install

Luego actívalo en el admin de Grav (Plugins > Bridgy Fed).

Paso 3: Configurar

En el admin, configura como mínimo:

  • Tu nombre y foto de perfil — Importante para la visualización en Fediverse
  • Templates de artículos — Por defecto: item, blog-item, post

En el lado del artículo, aparece una nueva pestaña "Fediverse" en el editor. Marca "Publicar en Fediverse" y guarda.

Los problemas (porque los hubo)

Como dice el refrán: "en casa del herrero, cuchillo de palo". Y me encontré con varios palos.

Problema 1: Nadie podía seguirme

Después de configurar todo, intenté seguirme desde mi cuenta de Mastodon. Error. Pedí a amigos que probaran. Lo mismo. Imposible suscribirse a mi perfil Bridgy Fed.

Lo complicado es que sin seguidores, tus artículos no se distribuyen a nadie. Las instancias del Fediverse solo descargan posts si al menos uno de sus usuarios sigue al autor. Así que tenía un blog conectado al Fediverse... hablando al vacío.

Contacté a Ryan Barrett (el desarrollador de Bridgy Fed) en GitHub. Identificó un bug en el manejo de ciertos dominios. Unos días después, estaba arreglado. ¡Gracias Ryan!

Problema 2: Mis interacciones nunca llegaban

Una vez arreglado lo de seguir, probé: di like a mis propios artículos desde Mastodon, respondí, hice boost. Nada. Ni un solo Webmention de vuelta.

Mismo procedimiento, contacté a Ryan. Después de investigar, me señaló la documentación: las interacciones de usuarios sin foto de perfil se ignoran. Estaba escrito en blanco y negro en la documentación de Bridgy Fed. Simplemente me había saltado ese detalle.

Mi cuenta de prueba de Mastodon no tenía avatar. Una vez añadí una foto, todo funcionó. Joder, debería haber leído la documentación con más cuidado...

Conclusión

El plugin es funcional y está disponible en GitHub: grav-plugin-bridgyfed.

Es open source, así que si usas Grav y el Fediverse te tienta, no dudes en probarlo. Issues y PRs son bienvenidos.

Esperando que esto ayude a alguien peleándose con la misma idea. Por cierto, si también quieres controlar tu blog Grav con Claude, echa un vistazo a mi plugin MCP. Y si me sigues desde Mastodon... bueno gracias, ¡eso hace al menos 5 personas ahora!


Este artículo fue escrito originalmente en francés. Esta traducción fue generada automáticamente con ayuda de IA.

Interactions du Fediverse

4

Entrada Anterior Siguiente Entrada