Script de Conversão de JSON (Strapi) para Markdown (Hugo)
Este script em Python foi desenvolvido para converter o JSON enviado pelo serviço de WebHooks do Strapi em arquivos Markdown, que são armazenados na pasta content/noticia
do Hugo. O script é executado utilizando a biblioteca Flask, que age como um servidor para receber as requisições HTTP enviadas pelo Strapi.
Descrição
O Strapi dispara um webhook sempre que uma notícia (post) é atualizada, publicada ou despublicada. Esse webhook envia uma requisição HTTP para a porta 5000, onde o serviço Flask está em execução.
Ao receber a requisição, o Flask processa o JSON contido nela, converte o conteúdo em um arquivo Markdown, e salva o arquivo na pasta content/noticia
do Hugo. Essa pasta é responsável por armazenar as notícias postadas, que são exibidas no site gerado pelo Hugo.
Funcionamento
-
Recepção do Webhook:
- O Strapi envia um JSON com as informações do post sempre que há uma mudança no estado da notícia (atualização, publicação, despublicação).
- Esse JSON é enviado como uma requisição HTTP para o serviço Flask, que está escutando na porta 5000.
-
Processamento do JSON:
- O Flask recebe o JSON e o converte em um formato apropriado para ser salvo como um arquivo Markdown.
-
Salvamento do Arquivo:
- O conteúdo do JSON é convertido para Markdown e salvo na pasta
content/noticia
do Hugo. - Essa pasta é onde o Hugo armazena as notícias para serem exibidas no site.
- O conteúdo do JSON é convertido para Markdown e salvo na pasta
Requisitos
- Python3: Para rodar o script.
- Flask: Para executar o servidor que recebe os webhooks.
- Hugo: Site do hugo com a pasta contendo as postagens.
-
Strapi: Strapi instalado com a configuração do webHooks com a
URL: http://localhost:5000/run-script.
e com os eventos selecionados: Create; Update; Delete; Publish e Unpublish.
Uso
- Para utilizar este script, certifique-se de que o Strapi está configurado para enviar webhooks para o endereço
http://localhost:5000/run-script
. - Quando uma notícia é atualizada, publicada ou despublicada, o JSON correspondente será automaticamente convertido/removido e salvo na pasta correta do Hugo.
- Para executar o programa, basta realizar:
python3 app.py