Skip to content
Lucas Caton

Refiz meu blog do zero

Lucas Caton

Lucas Caton

@lucascaton
Começei esse blog usando WordPress. Alguns anos depois migrei para Enki (uma engine open-source baseada em Ruby on Rails), mas acabei voltando tudo como era antes depois de apenas 2 semanas e relatando o motivo nesse artigo. Tudo estava relativamente bem desde então; WordPress continua sendo sensacional na minha opinião.
Mas eu queria mudar algumas coisas e abandonar o WordPress é sempre um trade-off. A migração acabou dando mais trabalho do que eu previ, no entanto fiquei muito satisfeito com o resultado. Vou contar um pouco o que foi alterado e porquê:

Nova fase do blog/site

Talvez o motivo mais relevante para eu ter feito todas essas mudanças, é porque pretendo publicar mais conteúdo aqui. Alunos do meu curso me pedem explicações fora do contexto do curso e que eu acho que também seria interessante para quem já me segue aqui.

Páginas estáticas

A maior alteração foi começar usar uma ferramenta que gere arquivos estáticos. Isso significa que nesse exato momento você não está lendo um artigo gerado dinamicamente, são apenas arquivos HTML, CSS e JS pré-compilados (e recompilados quando eu escrevo um novo artigo ou altero um antigo).
Isso tem uma série de vantagens, sendo performance uma das mais importantes. Como o arquivo HTML já está gerado e pronto para ser lido, as páginas abrem muito rápido!
Eu considerei duas ferramentas para isso:

Jekyll vs Hugo

Como já fiz bastante coisa usando o Jekyll, essa seria a escolha mais óbvia. Porém, eu dei uma chance à uma outra ferramenta bastante similar chamada Hugo, principalmente por influência de dois amigos que o usam: Pothix e Diego Eis.
A instalação foi tranquila (apesar dele não vir com um tema padrão), mas acabei tendo alguns problemas e não quis perder mais tempo do que eu já tinha perdido com isso. No final das contas, eu não vi uma real vantagem em relação ao Jekyll: os procedimentos e resultados de ambos são muito parecidos (me avise nos comentários se eu estiver perdendo algo grandioso que eu não sei).
Acho que o Jekyll tem uma comunidade maior (e consequentemente um maior número de gems/plugins) enquanto que o Hugo é absurdamente mais rápido. Fiquei com o Jekyll e estou bastante satisfeito :)

Artigos em Markdown

Muitas pessoas que escrevem frequentemente gostam da sintaxe Markdown e não é a toa: é muito prático formatar texto e usar o editor de textos de sua preferência.
Utilizei o jekyll-import, ferramenta oficial do Jekyll para importar conteúdo de outros gerenciadores de blogs. Fiquei surpreso de quão bem tudo funcionou!
Agora, 90% dos posts estão devidamente migrados para MarkDown, mas a parte bacana é que códigos HTML podem ser inseridos em arquivos MarkDown sem nenhum efeito colateral: tudo funcionará conforme o esperado.

URL

Era hora de eu finalmente mudar a URL também; juntar o blog com outras coisas que eu publicava no domínio principal (www.lucascaton.com.br), o que possivelmente irá melhorar um pouco o SEO.
O subdomínio blog.lucascaton.com.br agora redireciona para o novo endereço www.lucascaton.com.br. O restante do endereço continua exatamente o mesmo, o que facilitou nos redirecionamentos que adicionei ao nginx.

Único repositório

Por causa da mudança da URL, acabei juntando os dois repositórios (blog e meu site) em um só, facilitando as alterações e deployments.

Faxina

Aproveitei para apagar muitos (35 para ser exato) artigos antigos que ou não fazem mais sentido ou não eram tão bons:
35-posts-deleted
Se por qualquer motivo você precisar de um artigo antigo que foi deletado, me avise nos comentários.

Comentários

Utilizo o Disqus para gerenciamento dos comentários e como mudei o domínio, foi necessário uma migração. A boa notícia é que o site oferece uma ótima ferramenta para isso, apesar de ser um pouco confusa:
<blockquote class="twitter-tweet" data-lang="en-gb"><p lang="en" dir="ltr">[@disqus](https://twitter.com/disqus?ref_src=twsrc%5Etfw) hi there. All comments from my website are no longer showing up, could you please shed some light?[https://t.co/O0AhxhnQcX](https://t.co/O0AhxhnQcX)</p>&mdash; Lucas Caton (@lucascaton) [3 October 2017](https://twitter.com/lucascaton/status/915353715783041024?ref_src=twsrc%5Etfw)</blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
Por fim, resolvi o problema seguindo esses passos.

Hospedagem

Uma das vantagens de gerar arquivos 100% estáticos é a facilidade para hospedá-los. Seria bastante simples (e barato) armazená-los no S3, que é como eu faço no blog do Easy Bills. Mas o GitHub Pages é tão simples quanto e ainda é gratuito, o que me fez escolher essa opção.
No momento, os arquivos ainda estão no servidor antigo - no qual eu rodava o WordPress - por um simples motivo: analisar os logs e ver se eu esqueci algum redirect importante. Tudo devidamente migrado e rodando no GitHub Pages agora! \o/

SSL

Eu usava Let's Encrypt para gerar certificados SSL, mas como pretendo mover os arquivos para o GitHub Pages em breve, comecei a usar o Cloudflare, que também é ótimo!

Novo layout

new-layout

É isso! Se tiver qualquer dúvida, me mande nos comentários :)