Pular para o conteúdo
Ramos da Informática - Comunidade de Desenvolvedores

Torne-se um desenvolvedor FullStack: Pacote completo de formação desenvolvedor Frontend e Backend utilizando as linguagens de programação e frameworks mais procurados no mercado de trabalho. Mais informações, aqui. Faça o download do E-BookGuia Completo Para Se Tornar um(a) Desenvolvedor(a) Full-Stack, Começando do ZERO”.

Engenheiro de Software, autor de livros sobe tecnologia e negócios. É mantenedor do site Ramos da Informática. Hobbies: investir em ações, natação e finanças.

Engenheiro de Software, autor de livros sobe tecnologia e negócios. É mantenedor do site Ramos da Informática. Hobbies: investir em ações, natação e finanças.

admin

Todos os artigos deste autor

Criando sites estáticos com Pelican Framework

Chatbots com Whatsapp e Cielo integrados Nesse curso, eu vou te mostrar como o consumidor poder realizar um pagamento por dentro do aplicativo do WhatsApp, aonde o seu cliente vai entrar numa conversa como entraria numa conversa com qualquer pessoa ou com a sua empresa, navegar entre os produtos/serviços em menus simples enviados pelo chatbot, adicionar esses produtos/serviços no carrinho de compras, e num determinado ponto do chat, um link exclusivo é enviado para o cliente preencher os dados do cartão de crédito. No final, a análise é devolvida para o Whatsapp no qual a conversa foi iniciada. Inscreva-se.

As vezes temos a necessidade de criar algo rápido, como por exemplo um blog ou uma landing page, e não desejamos utilizar ferramentas muito robustas como Django, Web2py, etc. Na verdade eu faço isso mas é um exagero. Em um outro projeto meu queria uma solução muito rápida e simples, e é ai que entrou o Pelican, o framework/gerador de páginas estáticas feito em Python. Existem outros geradores em diversas linguagens, mas como nós sabemos, tudo em python é muito mais divertido.

Configurando o ambiente

Obs: Se já tiver um virtualenv instalado pule esta parte

Instale no seu ambiente o Python Package Index, ou famoso pip:

sudo apt-get install python-pip

Recomendo fortemente o uso do virtualenv, é muito simples de instalar.

pip install virtualenv

E logo vamos instalar o assistente dele, o Virtualenvwrapper (Opcional):

pip install virtualenvwrapper

Crie uma pasta na sua home, como por exemplo, “mkdir .venvs”, e configure também seu ~/.bashrc com as seguintes linhas:

export WORKON_HOME=~/.venvs
source /usr/local/bin/virtualenvwrapper.sh

Depois valide:

. ~/.bashrc

Agora crie seu virtualenv com o seguinte comando:

mkvirtualenv pelican

Instalando o Pelican

Agora que o ambiente está pronto, vamos instalar o Pelican. Basta fazer o seguinte:

pip install pelican markdown

Obs: Por padrão o Pelican utiliza o rst, mas vou utilizar o markdown. Se não quiser, remova o markdown da instalação.

Crie uma pasta separada para trabalhar com o Pelican e iniciarmos nossas tarefas.
Feito isso, vamos iniciar com o comando abaixo:

pelican-quickstart

Este comando lhe fará uma série de perguntas sobre seu site, basta responder de acordo com suas necessidades. As opções em maísculas são as default, veja abaixo:

Where do you want to create your new web site? [.] #pasta onde você quer salvar seu projeto
What will be the title of this web site? #Titulo do site
Who will be the author of this web site? #Seu nome aqui
What will be the default language of this web site? [en] #pt para portugues
Do you want to specify a URL prefix? e.g., http://example.com (Y/n) #Url do seu blog
What is your URL prefix? #www.seublog.dev
Do you want to enable article pagination? (Y/n) #Paginação
How many articles per page do you want? [10] #Itens por paginação
Do you want to generate a Fabfile/Makefile to automate generation and publishing? (Y/n) Sim #Facilita muito
Do you want an autoreload & simpleHTTP script to assist with theme and site development? (Y/n) #Um server para testes
Do you want to upload your website using FTP? (y/N) #Opcional
Do you want to upload your website using SSH? (y/N) #Opcional
Do you want to upload your website using Dropbox? (y/N) #Opcional
Do you want to upload your website using S3? (y/N) #Opcional
Do you want to upload your website using Rackspace Cloud Files? (y/N) #Opcional
Do you want to upload your website using GitHub Pages? (y/N) #Opcional

Feito isso ele irá criar uma estrutura com esta abaixo:

├── content
│ └── teste.md # este arquivo é o que vamos adicionar
├── output
├── develop_server.sh
├── fabfile.py
├── Makefile
├── pelicanconf.py
└── publishconf.py

Seguindo a estrutura acima, dentro da pasta content, crie o arquivo teste.md para iniciarmos
nosso primeiro post.

E vamos digitar o seguinte:

Title: Hello Pelican!
Date: 20140819 17:00
Category: Python
Tags: pelican, markdown
Slug: primeiroartigo
Author: Arthur Alves
Summary: Um resumo sobre o post do Pelican#Testando nosso primeiro post no Pelican

Pelican é um gerador de páginas estáticas criado em python para facilitar nossa vida, na
criação de blogs, landingpages ou site estáticos.

Salve o nosso arquivo, volte para a pasta raiz do projeto e vamos ver o nosso resultado com o seguinte comando:

make html && make serve

ou

./develop_server.sh start

Este último é melhor para se trabalhar, pois a cada alteração ele atualiza automaticamente sem necessidade de reiniciar o comando, que é o caso do make html && make serve.

Se você respondeu “Y”, no pelican-quickstart para gerar seu make file, estes comandos irão funcionar.
E você pode ver seu resultado em http://127.0.0.1:8000/

Mas se não gerou, não tem problema, você pode fazer da seguinte forma: na pasta raiz do projeto digite:

pelican content -s pelicanconf.py -o output

Com este comando você está dizendo para o Pelican que você quer que todos os arquivos da pasta content, seja transformada em html de acordo com o arquivo de configuração pelicanconf.py, (que foi gerado automaticamente pelo pelican-quickstart lembra?) e deverá ser enviado para a pasta output.
Feito isso ele vai gerar os “htmls” na pasta output do projeto. E você pode ver o resultado com o template padrão do Pelican.

Temas e um pouco do arquivo pelicanconf.py.

Abra seu arquivo pelicanconf.py, e veja seu conteudo. Repare que existe algumas variáveis que com a ajuda do Jinja2, ele popula algumas informações no template, vejamos por exemplo abaixo.

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env python
# -*- coding: utf-8 -*- #
from __future__ import unicode_literalsAUTHOR = u‘Arthur Alves’ # Autor do site
SITENAME = u‘Meu Blog Pelican’ # Nome do site
SITEURL = ‘blogdoarthur.dev’ # url do site

TIMEZONE = ‘America/Sao_Paulo’

DEFAULT_LANG = u‘pt’

Altere conforme a sua necessidade. Em TIMEZONE, caso o seu seja diferente, você pode alterar conforme esta página no Wikipedia. Vamos agora instalar um tema, utilizando o comando facilitador pelican-themes, digite no seu terminal:

pelican-themes -l

Repare que ele te apresenta todos os temas que você possui. E se quiser instalar outro tema, recomendo que procure no site pelican-themes do github, veja pelas screenshots qual te agrada mais. Se quiser baixar todos clone o diretório, ou clique em download Zip ou clicando aqui.

Depois de escolhido seu tema, vamos usar o seguinte comando na pasta raiz do seu projeto para instalá-los:

pelican-themes –install caminho/onde/baixou/seu-tema/favorito

Esse comando é muito simples, ele só cria uma pasta com o nome de themes, dentro da raiz do projeto e coloca o tema lá, você pode fazer isso manualmente claro. No seu arquivo pelicanconf.py, crie uma variável como esta abaixo com o caminho:

THEME = u’themes/o-tema-que-escolheu’

Depois disso só digitar novamente:

make html && make serve

E seu tema está instalado. Mais sobre configurações deste arquivo leia na Doc do Pelican.

Curiosidades e erros.

O nome Pelican é um anagrama de calepin, que significa bloco de notas em francês.

O site do Python Club é feito com o framework Pelican.

Se você teve algum erro de encode ou coisa do tipo:

UnicodeEncodeError: ‘ascii’ codec can’t encode character u’xc9′ in position 13: ordinal not in range(128)

Isso significa que sua versão do Pelican é mais antiga, pois isso já foi corrigido e você pode instalar direto do repositório.:

pip install -e “git+https://github.com/getpelican/pelican.git#egg=pelican”

Ou então trocar a variável $LANG, que deu certo com algumas pessoas no github, digite no terminal o seguinte:

export LANG=en.UTF-8

Pois é, funciona. Mas prefira instalar a versão mais nova, já com o patch.

Bem pessoal, é simples, mas espero que ajude o pessoal a ficar mais íntimo do Pelican e ajudar com o pythonclub.

Este artigo foi importado automaticamente por fazer parte do Planetário Dev. Quer fazer parte deste HUB de conteúdos? Faça parte do Planetário e veja as vantagens.

Não tem site ou blog? Seja um autor do site e ainda pode ser remunerado.

Leia também:

Facebook
LinkedIn
Twitter
Pinterest
Reddit
Telegram
WhatsApp
Email
Print

Relacionados

Deixe uma resposta