Este blog é aberto à colaboração e qualquer membro da comunidade pode produzir conteúdo e enviar para que seja publicado aqui. Uma vez que o material não viole o Código de Conduta da Comunidade, a solicitação será processada por um dos membros da equipe do GitHub. Mostraremos a seguir como proceder para ter seu conteúdo publicado aqui.

O Que é o Pelican

Veremos um tutorial para aqueles que desconhecem o Pelican. Mostraremos como criar o virtual env, instalação das dependẽncias, criação do conteúdo, teste local e envio das modificações ao GitHub.

O Pelican é um gerador de site estático multiplataforma (GNU/Linux, Mac OS e Windows), facilitando a publicação através do GitHub Pages. Um site estático não precisa de nenhum servidor de aplicação (backend) em execução. Ele é composto apenas de arquivos HTML, CSS e JavaScript. Todo o código é gerado pelo Pelican. Ganhamos em performance, hospedagem, segurança e versionamento.

Como este site receberá publicações de várias pessoas, resolvemos usar as Pull Requests do GitHub para controlar os artigos que serão publicados. Desta forma não limitamos as publicações apenas a quem tem permissão no repositório e/ou é membro do PUG-PB. Qualquer pessoa com uma conta no GitHub poderá solicitar um Pull Request e ter seu conteúdo publicado.

Obtendo Uma Cópia dos Fontes do Site

Para obter uma cópia dos fontes do site você vai precisar do Git na sua máquina e de uma conta no GitHub. Primeiramente acesse o repositório do site e crie um fork para o seu usuário. Uma vez criado o fork, clone o site em um diretório qualquer da sua máquina (no exemplo está na raiz do usuário):

    cd ~
    git clone https://github.com/<troque_pelo_nome_do_seu_usuario>/pug-pb-site.git
    cd pug-pb-site

O repositório é composto de alguns diretórios principais:

    pug-pb-site
    │
    ├── content
    │   ├── articles
    │   ├── images
    │   └── pages
    ├── .plugins
    └── themes

O diretório content possui todos os conteúdos, como artigos, imagens, pdfs e páginas, o .plugins contém todos os plugins do Pelican, e o diretório themes possui o tema que utilizamos no site. Vamos nos focar apenas no diretório content.

Agora temos que preparar o ambiente.

Preparando o Ambiente

Criar o ambiente de uso do Pelican é muito simples, pra isso você vai precisar de:

  • Python 3.6 ou superior;
  • Conexão de internet;
  • Um terminal;
  • Um editor de texto, preferencialmente com suporte a Markdown;
  • Um navegador;

Este tutorial é direcionado para o shell Linux. Se você utiliza Windows, os comandos são os mesmos, mas a indicação de diretórios é feita com a barra invertida ().

Uma vez clonado o repositório do site, abra um terminal e crie um ambiente virtual para o Python 3 (note que este passo não é obrigatório, mas é uma boa prática):

    cd ~/pug-pb-site
    python3 -m venv pugpb_venv

Você pode chamar seu ambiente virtual com qualquer nome que queira, e colocar em qualquer outra pasta. Uma vez criado este ambiente virtual, ative-o:

    source ~/pug-pb-site/pugpb_venv/bin/activate

Uma vez ativado o ambiente virtual basta instalar todas as dependências. Para isso utilize o seguinte comando:

    pip install -r requirements.txt

Após instaladas todas as dependências, faça a geração de teste do site, com o comando make html. É criado um diretório output, com o conteúdo gerado. Este diretório já está no .gitignore e não deverá entrar no seu commit. Para visualizar o site localmente rode o comando make serve (sua linha de comando ficará "presa" pois ela está servindo as páginas neste momento) e acesse a URL http://localhost:8000. Para sair do "modo servidor" pressione Ctrl+C e a linha de comando retornará ao normal.

Após algum tempo de uso, é costume sempre executar uma cadeia de comandos para evitar que arquivos de compilações prévias interfiram com a visualização atual: make clean html serve. Apenas esta linha de comando limpa o conteúdo do diretório output, gera o site novamente, e entra no modo servidor. Novamente, para sair do modo servidor pressione Ctrl+C.

Note que todos estes comandos devem ser executados na raiz do repositório, onde se encontra o arquivo de "receitas" do make, isto é, o arquivo Makefile. Se você estiver usando Windows, em que não há o comando make, os comandos equivalentes seriam:

1) make clean: del output 2) make html: pelican 3) make serve: pelican -l

Escrevendo Seus Próprios Artigos

Para escrever seus próprios artigos, a maneira mais simples é copiar o arquivo content/articles/padrao-artigo.md para a mesma pasta, abrir o novo arquivo criado e digitar seu artigo. Sugiro olhar o tutorial da linguagem de marcação Markdown, utilizada para produzir as páginas HTML. Também é possível olhar exemplos dos artigos já publicados, no diretório contents/articles. Um artigo tem um cabeçalho fixo, conforme abaixo:

    Title: Como Publicar No Blog
    Date: 2015-07-22 14:57
    Author: Guido
    Category: Blog
    Tags: tutorial, tecnico, pelican, site
    image: /images/monty-python-knights.jpg

Coloque o título do seu artigo, seguido da data de publicação (no formato YYYY-MM-DD HH:MM). Logo abaixo temos o nome do autor, categoria e uma lista de tags. A palavra-chave image faz referência à imagem de capa do artigo, que também fica no "cabeçalho" do artigo. A imagem deve ser colocada na pasta content/images.

Após este cabeçalho fixo, basta escrever o texto de acordo com a linguagem de marcação. Uma vez concluído o artigo, teste a compilação novamente com o comando make clean html serve e acesse a URL http://localhost:8000/blog/index.html para ver como ficou. Os artigos mais recentes aparecem no início do blog.

Enviando Sua Contribuição

Uma vez concluído o artigo, vamos realizar o commit da alteração:

    git add content/article/<substitua-pelo-nome-do-seu-artigo.md>
    git add content/images/<substitua-pelo-nome-da-sua-imagem-do-artigo.png>
    git commit -m "Adicionado novo artivo '<substitua pelo nome descritivo do seu artigo>'"

Com o commit realizado com sucesso, você pode realizar o push pro seu repositório remoto (GitHub):

    git push origin master

Agora basta enviar um Pull Request do seu repositório, através da interface do GitHub, e os gestores do site irão aprovar sua contribuição.

A fonte da Ilustração utilizada: