Soy un gran usuario tanto de Discourse como de Jekyll, y recientemente he estado experimentando con la idea de usar una instancia de Discourse como sistema de gestión de contenidos para un sitio estático de Jekyll. Acabo de empezar a probar esto y una de las razones por las que publico en esta etapa es simplemente para ver si alguien más ya ha hecho algo similar. O quizás tengas una mejor manera y me disuada de perder tiempo en esto ![]()
Cómo imagino que funcionaría
-
El contenido en Markdown se editaría en una instancia de Discourse (ofreciendo a los usuarios no técnicos una interfaz agradable para editar) y se podría volver a editar o actualizar fácilmente. La barra de herramientas de formato y otras comodidades hacen que el usuario no técnico esté mucho más satisfecho.
-
En el sitio de Jekyll habría un archivo YAML que contiene un array de URLs de publicaciones (o IDs de publicaciones si decidimos que la URL base de Discourse es siempre la misma…) que se deberían consultar para obtener contenido.
-
Un plugin sencillo de Jekyll ejecutaría un hook para consultar cada URL (¿en cada reinicio del servidor de Jekyll?) y obtener los datos. (Para muchas instancias “abiertas” de Discourse no sería necesaria ninguna autenticación. En algunas circunstancias sería necesario proporcionar una clave de API).
-
El contenido JSON se descargaría de la URL añadiendo
.json, y la claverawde este objeto JSON contendría el Markdown como una cadena entrecomillada con comillas dobles. -
Se tendría que agregar el front matter YAML de Jekyll al Markdown, y realizar una limpieza como eliminar las comillas de envoltura y reemplazar los saltos de línea
\n. -
Jekyll compilaría estas páginas completas en HTML, o podrías
{{include file | markdownify }}para incluirlas en otras páginas.
¿Por qué molestarse?
-
Facilita enormemente que un editor o mantenedor no técnico actualice un sitio estático.
-
Es ideal si ya tienes un Discourse y quieres crear un sitio web estático, por ejemplo, para una empresa.
-
Los sitios estáticos son económicos, fiables y seguros.
-
¿Por qué no usar Page Publishing? Cuando lo he probado, parece que las páginas requieren mucho trabajo para que se vean bien. Jekyll permite más control y, por supuesto, permite una mezcla de fuentes de contenido gestionadas por Discourse y no gestionadas por Discourse.
¿Qué opina la comunidad? ¿Vale la pena seguir con esto?