DEV Community

Felipe Arcaro
Felipe Arcaro

Posted on

Introdução ao Pelican

TL;DR

Para criar um site estático com Pelican, siga os passos a seguir:

  • Crie uma pasta do projeto
  • Instale o Pelican e os pacotes Markdown executando pip install "pelican[markdown]"
  • Execute pelican-quickstart e responda às perguntas que aparecerão
  • Crie um artigo chamado meu_artigo.md com o seguinte conteúdo:
Title: This is my first article
Date: 2010-12-03 10:20
Category: Cool

Cool content goes here.
Enter fullscreen mode Exit fullscreen mode
  • Execute pelican -r -l, abra um navegador e acesse http://localhost:8000/ para ver o site funcionando localmente.

O que é Pelican?

O Pelican é um gerador de site estático escrito em Python.

Aqui estão algumas coisas que gosto sobre o Pelican:

  • Podemos escrever conteúdo nos formatos reStructuredText ou Markdown usando a ferramenta com a qual estamos familiarizados (eu uso o Obsidian, a propósito)
  • Ele inclui uma ferramenta de linha de comando simples para gerar nosso site e realizar algumas outras coisas interessantes
  • Ele gera um site estático que pode ser facilmente hospedado em qualquer lugar (até mesmo no AWS S3 (Simple Storage Service)!)
  • Possui temas e plugins de código aberto feitos pela comunidade

O que é um site estático?

Ok, mas o que é um site estático?

Um site estático é um tipo de site que não altera seu conteúdo - não se atualiza com base em interações do usuário ou dados em tempo real (sem bancos de dados!). Geralmente é composto por arquivos HTML, CSS e, às vezes, arquivos JavaScript.

Para pessoas não técnicas, um site estático pode ser entendido como um folheto impresso. É como uma imagem de informações que não muda a menos que alguém fisicamente altere as palavras ou imagens no papel (o programador, no caso).

Por ser tão simples, normalmente é mais rápido, mais confiável, seguro e com certeza divertido de construir.

Por que Pelican?

Sempre tive dificuldades para escolher a melhor ferramenta de escrita. Experimentei o MailChimp, o Medium, o Ulysses, o Evernote, o Notion, o Google Docs e outros, e muitas vezes me vi alternando entre eles - acabando por gastar mais tempo fazendo isso do que escrevendo efetivamente.

Outra coisa com a qual tive dificuldade foi decidir a melhor maneira de salvar e possivelmente controlar versões das minhas notas, porque, no final do dia, todas essas outras ferramentas ainda seriam responsáveis por armazenar meus dados.

Decidi escrever minhas notas e artigos como arquivos Markdown (uso o Obsidian para isso) e armazenar esses arquivos automaticamente com o iCloud no Mac.

E quando termino um artigo ou preciso editar um artigo que já publiquei, posso simplesmente usar o Pelican para (re)gerar as páginas do blog a partir dos meus arquivos Markdown.

Configurando o Pelican

Como mencionei anteriormente, o Pelican é construído em Python, portanto, precisamos apenas instalá-lo como um pacote no PyPI (Python Package Index) e executar alguns comandos de linha de comando (CLI). Aqui estão os passos que precisamos seguir:

  • Crie uma pasta de projeto
  • Instale os pacotes Pelican e Markdown (recomendado fazer isso em um ambiente virtual Python)
# Crie um ambiente virtual para o Python
python -m venv env-pelican

# Ative o ambiente virtual no Linux/Mac
source env-pelican/bin/activate

# Ative o ambiente virtual no Windows
./env-pelican/Scripts/activate

# Instale o pacote do Pelican
python -m pip install "pelican[markdown]"
Enter fullscreen mode Exit fullscreen mode
  • Execute pelican-quickstart e responda às perguntas que aparecerão
  • Crie um artigo chamado meu_artigo.md com o seguinte conteúdo (você pode aprender mais sobre os metadados suportados pelo Pelican aqui)
Title: This is my first article
Date: 2010-12-03 10:20
Category: Cool

Cool content goes here.
Enter fullscreen mode Exit fullscreen mode
  • Execute pelican -r -l, abra um navegador e acesse http://localhost:8000/ para ver o site em funcionamento localmente
    • A opção -r reinicializa o Pelican sempre que uma modificação ocorre nos arquivos de conteúdo
    • A opção -l serve os arquivos de conteúdo via HTTP na porta 8000

Você vai ver algo muito parecido com a imagem abaixo:

pelican-website

Top comments (0)