Configurando e Executando o Strapi CMS
Este guia descreve como configurar e executar o Strapi Headless CMS, que será utilizado para gerenciar postagens de conteúdo no site do C3SL.
Requisitos
- Node.js v20.16.0.
- npm (gerenciador de pacotes do Node.js).
Instalação
Clonando o repositório do Strapi:
Primeiro, clone o repositório oficial do Strapi no GitHub:
git clone git@github.com:strapi/strapi.git
Criando um novo projeto strapi
Após clonar o repositório, você pode criar um novo projeto Strapi com o seguinte comando:
npx create-strapi-app <nome_do_projeto> --quickstart
Executando o Strapi
Depois que a instalação estiver completa e o projeto criado, você pode iniciar o servidor Strapi com o comando:
npm run develop
Isso fará com que o servidor Strapi seja executado na porta 1337. Agora, você pode acessar o painel de administração do Strapi em:
http://localhost:1337/admin
Na primeira vez que você acessar o painel de administração, será solicitado que você configure um e-mail e uma senha para criar o usuário administrador. Este procedimento é necessário para garantir a segurança e permitir que você gerencie e controle o conteúdo do site. O usuário administrador terá privilégios para criar, editar, publicar e gerenciar todo o conteúdo e configurações do Strapi.
Configuração do Conteúdo
Collection Type
Collection Type é uma estrutura que podemos criar no strapi para armazenar algum tipo de conteúdo específico. Ex: uma notícia, o qual podemos configurar campos como: Titulo, Descrição, data, autor e imagens. Dessa forma, podemos obter uma estrutura, o qual usaremos futuramente para uma publicação.
Essa estrutura poderá ser criada em content type builder e selecionar as opções conforme interesse.
Single Types
As Single Types são informações que podemos armazenar em uma única pagina (uma página simples), o qual o conteúdo não sofre alterações e podemos manté-las estáticas. Aleḿ disso, podem ser criadas na aba content-type builder.
Acessando os dados no Strapi:
Podemos acessar os dados armazenados no strapi por meio da interface gráfica ou por arquivos .JSON. Para visualizar via interface gráfica, basta apenas acessar a aba content manager e verificar. Para conseguir visualizar via JSON, podemos acessar a URL:
http://localhost:1337/api/posts/<id_da_noticia>?populate=*
Webhooks
Strapi permite configurar webhooks para enviar notificações a outros serviços quando eventos específicos ocorrem (como a publicação, atualização e remoção de algum tipo de conteúdo). Assim que é enviado uma requisição para a porta configurada no webhooks (Porta 5000), um script realizado em python recebe essa requisição e as informações sobre o conteúdo, dessa forma, consegue converter os dados do conteúdo em arquivos markdown e envia para a pasta content/noticia do framework Hugo para a futura pulicação do conteúdo. Para configurar um webhook:
No painel de administração, vá para: Settings > Webhooks. Clique em Create New Webhook. Preencha os detalhes como URL e com os eventos selecionados e clique em Save.