Guide de la lecture: mise à jour de l'écosystème / apprendre avec GitHub WebHooks
Ce guide décrit le processus de gestion des mises à jour dans l'écosystème / Learn, notre Hub Content, en utilisant GitHub WebHooks pour automatiser les mises à jour du contenu dans notre index de recherche complet et rendu les fichiers de démarrage dans JavaScript.
Aperçu
Chaque dossier de l'écosystème / Learn représente une page ou une section. Ces dossiers contiennent des fichiers Markdown (.md) qui constituent le contenu de la page. Lorsque des modifications sont apportées à ces fichiers Markdown, un déclencheur GitHub est activé, envoyant le fichier mis à jour dans un webhook prédéfini. Ce WebHook met ensuite à jour le contenu dans notre index de recherche en texte intégral. Enfin, le contenu Markdown mis à jour est rendu dans JavaScript sur le site Web.
Condition préalable
- Un référentiel GitHub avec votre contenu Markdown structuré dans les dossiers.
- Accès à votre serveur Web ou service d'hébergement pour configurer un écouteur WebHook.
- Un service de recherche en texte intégral (comme Elasticsearch) configuré pour indexer votre contenu.
- Connaissance de base de JavaScript pour rendre des fichiers de démarque sur le Web.
Étape 1: Organisation de votre contenu
- Structurez votre contenu dans des dossiers dans le référentiel GitHub, où chaque dossier représente une page ou une section dans l'écosystème / apprendre.
- Assurez-vous que tout le contenu est rédigé dans des fichiers Markdown (.MD) et correctement nommé pour refléter leur objectif ou leur contenu.
Étape 2: Configuration d'un webhook github
- Dans votre référentiel GitHub, accédez à
Settings > Webhooks > Add webhook . - Entrez l'URL de charge utile. Cette URL devrait pointer vers l'écouteur WebHook sur votre serveur où les mises à jour seront reçues.
- Choisissez le type de contenu en tant
application/json . - Sélectionnez
Just the push event pour lequel les événements déclencheraient ce webhook. - Assurez-vous que la case
Active est sélectionnée et créez le webhook.
Étape 3: Création de l'auditeur Webhook
- Sur votre serveur, créez un script qui écoute les demandes de publication sur l'URL spécifiée dans la configuration GitHub WebHook.
- Lorsqu'une demande de poste est reçue, analysez la charge utile JSON pour identifier les fichiers de démarrage mis à jour.
- Pour chaque fichier mis à jour, mettez à jour son contenu correspondant dans votre index de recherche en texte intégral.
Exemple (pseudo-code):
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' ) ;
} ) ; Étape 4: mise à jour de l'index de recherche en texte complet
- Extraire le contenu des fichiers Markdown mis à jour.
- Mettez à jour le contenu dans votre index de recherche en texte intégral, garantissant qu'il est consultable et correctement indexé.
Étape 5: Rendu Markdown en JavaScript
- Utilisez une bibliothèque JavaScript comme
marked.js pour convertir le contenu de Markdown en HTML. - Reposez le contenu de Markdown mis à jour à partir de votre index de recherche en texte complet ou directement à partir du référentiel GitHub si nécessaire.
- Rendez le contenu HTML sur la page appropriée dans l'écosystème / Learn.
Exemple (javascript):
fetch ( 'path/to/markdown.md' )
. then ( response => response . text ( ) )
. then ( markdown => {
const htmlContent = marked ( markdown ) ;
document . getElementById ( 'content' ) . innerHTML = htmlContent ;
} ) ; Conclusion
Ce guide fournit une approche rationalisée pour automatiser les mises à jour de contenu dans l'écosystème / Learn à l'aide de GitHub WebHooks, un index de recherche en texte complet et JavaScript. En suivant ces étapes, vous pouvez vous assurer que votre contenu est toujours à jour et facilement consultable par votre public.