Readme Guia: Atualizando o ecossistema /aprendê -lou
Este guia descreve o processo de gerenciamento de atualizações no ecossistema /Learn, nosso hub de conteúdo, usando o Github Webhooks para automatizar as atualizações de conteúdo em nosso índice de pesquisa de texto completo e renderizar arquivos de marcação no JavaScript.
Visão geral
Cada pasta dentro do ecossistema /aprende representa uma página ou uma seção. Essas pastas contêm arquivos de marcação (.md) que constituem o conteúdo da página. Quando as alterações são feitas para esses arquivos de marcação, um gatilho do GitHub é ativado, enviando o arquivo atualizado para um webhook predefinido. Este webhook atualiza o conteúdo em nosso índice de pesquisa de texto completo. Finalmente, o conteúdo de marcação atualizado é renderizado em JavaScript no site.
Pré -requisitos
- Um repositório do GitHub com seu conteúdo de marcação estruturado em pastas.
- Acesso ao seu servidor da Web ou serviço de hospedagem para configurar um ouvinte do Webhook.
- Um serviço de pesquisa de texto completo (como o Elasticsearch) configurado para indexar seu conteúdo.
- Conhecimento básico do JavaScript para renderizar arquivos de marcação na web.
Etapa 1: Organizando seu conteúdo
- Estruture seu conteúdo em pastas dentro do repositório do GitHub, onde cada pasta representa uma página ou uma seção no ecossistema /aprendê.
- Verifique se todo o conteúdo está escrito em arquivos de marcação (.md) e nomeado adequadamente para refletir seu objetivo ou conteúdo.
Etapa 2: Configurando um webhook github
- No seu repositório do GitHub, vá para
Settings > Webhooks > Add webhook . - Digite o URL da carga útil. Este URL deve apontar para o ouvinte do Webhook no seu servidor onde as atualizações serão recebidas.
- Escolha o tipo de conteúdo como
application/json . - Selecione
Just the push event para quais eventos acionariam este webhook. - Verifique se a caixa de seleção
Active está selecionada e crie o webhook.
Etapa 3: Criando o ouvinte Webhook
- No seu servidor, crie um script que escuta solicitações de postagem no URL especificado na configuração do Github Webhook.
- Quando uma solicitação de postagem for recebida, analise a carga útil do JSON para identificar os arquivos de marcação atualizados.
- Para cada arquivo atualizado, atualize seu conteúdo correspondente no seu índice de pesquisa de texto completo.
Exemplo (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' ) ;
} ) ; Etapa 4: Atualizando o índice de pesquisa de texto completo
- Extraia o conteúdo dos arquivos de marcação atualizados.
- Atualize o conteúdo no seu índice de pesquisa em texto completo, garantindo que seja pesquisável e indexado adequadamente.
Etapa 5: Renderizando o Markdown em JavaScript
- Use uma biblioteca JavaScript como
marked.js para converter o conteúdo de rekdown em HTML. - Pegue o conteúdo de remarkdown atualizado no seu índice de pesquisa de texto completo ou diretamente do repositório do GitHub, se necessário.
- Renderize o conteúdo HTML na página apropriada no ecossistema /aprenda.
Exemplo (JavaScript):
fetch ( 'path/to/markdown.md' )
. then ( response => response . text ( ) )
. then ( markdown => {
const htmlContent = marked ( markdown ) ;
document . getElementById ( 'content' ) . innerHTML = htmlContent ;
} ) ; Conclusão
Este guia fornece uma abordagem simplificada para automatizar atualizações de conteúdo dentro do ecossistema /Learn usando o Github Webhooks, um índice de pesquisa de texto completo e JavaScript. Seguindo essas etapas, você pode garantir que seu conteúdo esteja sempre atualizado e facilmente pesquisável pelo seu público.