Guía ReadMe: Actualización del ecosistema /Learn con GitHub Webhooks
Esta guía describe el proceso para administrar actualizaciones dentro del ecosistema /aprendizaje, nuestro centro de contenido, utilizando Webhooks de GitHub para automatizar las actualizaciones de contenido en nuestro índice de búsqueda de texto completo y representar archivos de markdown en JavaScript.
Descripción general
Cada carpeta dentro del ecosistema /Learn representa una página o una sección. Estas carpetas contienen archivos Markdown (.md) que constituyen el contenido de la página. Cuando se realizan cambios en estos archivos de Markdown, se activa un disparador de GitHub, enviando el archivo actualizado a un webhook predefinido. Este webhook luego actualiza el contenido en nuestro índice de búsqueda de texto completo. Finalmente, el contenido actualizado de Markdown se representa en JavaScript en el sitio web.
Requisitos previos
- Un repositorio de GitHub con su contenido de Markdown estructurado en carpetas.
- Acceso a su servidor web o servicio de alojamiento para configurar un oyente de Webhook.
- Un servicio de búsqueda de texto completo (como Elasticsearch) configurado para indexar su contenido.
- Conocimientos básicos de JavaScript para representar archivos de Markdown en la web.
Paso 1: Organización de su contenido
- Estructure su contenido en carpetas dentro del repositorio de GitHub, donde cada carpeta representa una página o una sección en el ecosistema /Learn.
- Asegúrese de que todo el contenido esté escrito en los archivos de Markdown (.md) y se nombre correctamente para reflejar su propósito o contenido.
Paso 2: Configuración de un webhook de GitHub
- En su repositorio de GitHub, vaya a
Settings > Webhooks > Add webhook . - Ingrese la URL de carga útil. Esta URL debe apuntar al oyente de Webhook en su servidor donde se recibirán actualizaciones.
- Elija el tipo de contenido como
application/json . - Seleccione
Just the push event para el que los eventos activarían este webhook. - Asegúrese de que se seleccione la casilla de verificación
Active y cree el webhook.
Paso 3: Creación del oyente del webhook
- En su servidor, cree un script que escuche las solicitudes de publicación en la URL especificada en la configuración de Webhook de GitHub.
- Cuando se reciba una solicitud de publicación, analice la carga útil JSON para identificar los archivos de Markdown actualizados.
- Para cada archivo actualizado, actualice su contenido correspondiente en su índice de búsqueda de texto completo.
Ejemplo (pseudo-código):
app . post ( '/webhook-url' , ( req , res ) => {
const updatedFiles = req . body . commits . map ( commit => commit . modified ) ;
updatedFiles . forEach ( file => {
updateSearchIndex ( file ) ;
} ) ;
res . status ( 200 ) . send ( 'Update received' ) ;
} ) ; Paso 4: Actualización del índice de búsqueda de texto completo
- Extraiga el contenido de los archivos de Markdown actualizados.
- Actualice el contenido en su índice de búsqueda de texto completo, asegurando que se pueda buscar e indexado correctamente.
Paso 5: Renderizar Markdown en JavaScript
- Use una biblioteca JavaScript como
marked.js para convertir el contenido de Markdown en HTML. - Obtenga el contenido actualizado de Markdown desde su índice de búsqueda de texto completo o directamente desde el repositorio de GitHub si es necesario.
- Renderiza el contenido HTML en la página apropiada dentro del ecosistema /Learn.
Ejemplo (JavaScript):
fetch ( 'path/to/markdown.md' )
. then ( response => response . text ( ) )
. then ( markdown => {
const htmlContent = marked ( markdown ) ;
document . getElementById ( 'content' ) . innerHTML = htmlContent ;
} ) ; Conclusión
Esta guía proporciona un enfoque optimizado para automatizar las actualizaciones de contenido dentro del ecosistema /Learn utilizando GitHub Webhooks, un índice de búsqueda de texto completo y JavaScript. Siguiendo estos pasos, puede asegurarse de que su contenido siempre esté actualizado y fácil de buscar por su audiencia.