Blogando no github
Qual a forma mais rápida e com menos dependências de montar um blog usando o github? Essa era uma dúvida que me acompanhava por um bom tempo. Hoje falarei sobre como sanei essa dúvida.
Motivação
Tenho um blog com domínio próprio (http://www.sysincloud.it) que funciona no OpenShift. Usei um cartridge com Ghost, que funciona em Node.JS tendo como banco dados uma instância de MySQL.
Tudo muito bem, mas sempre me incomodei com isso. O maior objetivo era ter um blog mas sem usar WordPress. O Ghost é muito rápido e fácil de configurar e usar.
Mas ainda assim, era uma plataforma em que eu precisava me logar, digitar, ou colar, os textos, preencher alguns formulários... Tudo lindo, o visual é demais, só que feria meu coração de dinossauro acostumado aos terminais emulados.
Primeira tentativa
Pesquisei vários geradores de site estáticos, inclusive o Jenkis recomendado pelo GitHub. Instalei ele e depois de um tempo enorme instalando pacotes (gems) ruby, desesti. Era como usar uma marreta para pregar uma tachinha.
O que estava certo é que iria usar o https://gitbub.io para hospedar meu novo blog.
Pensei em escrever o meu próprio gerador - desesti rápido - e pensei em criar um script com um makefile que agisse como um gerador estático. Foi pensando no makefile que decidi por as mãos na massa.
Anti-SEO
Verificando a origem dos leitores de meus textos percebi que quase 100% vem das publicações que coloco em redes sociais (Linkedin, Twitter e Facebook, aliás, FB é esmagador) e do DevALL, que só perde pro Facebook.
Então não preciso de um blog otimizado para buscas no Google. Minhas referências vem desses sistemas apenas. E isso com quase dois anos de blog.
A solução
escrever na unha!
Estava já acostumado, por questão de organização antes de ter o meu blog, a primeiro salvar meus textos no github, e mandar o link para o responsável pela publicação. Tudo muito simples. E o visual da página do github me agrada. Como escreve basicamente para programadores, é o que preciso.
Migrei todos o s textos, um a um, cuidando de detalhes como data de publicação, imagem associada, e uma rápida revisão. Como já estavam todos em markdown, foi uma transição tranquila.
Mas blog precisa de divulgação :) Eu gosto do DevAll, um agregador de blogs técnicos. Para aparecer por lá tem que ter um feed RSS.
Pensei comigo, porque não fazer meu proóprio RSS? Pesquisei um pouco e não é nada de demais ter um arquivo RSS:
Escrevi um primeiro texto apenas para testar minha ideia, meu MVP de blog. E escrevi o feed, um arquivo em minha página no github. A primeira versão de meu arquivo ficou assim:
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Paulo Henrique Rodrigues Pinheiro</title>
<link>http://paulohrpinheiro.github.io</link>
<description>Programação para programadores: C, Perl, Python, Ruby, Rust. Linux na veia!</description>
<language>pt-br</language>
<item>
<title>Sobre o livro Test-Driven Development: Teste e Design no Mundo Real com Ruby</title>
<link>https://github.com/paulohrpinheiro/artigos/blob/master/resenhas/test-driven-development.md</link>
<description>Divulgando um livro que acabei de ler e que achei legal pra caramba!</description>
<pubDate>Thu, 06 Oct 2016 23:04:54 -0300</pubDate>
</item>
</channel>
</rss>
Agora com esse texto aqui, ele ficará assim:
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Paulo Henrique Rodrigues Pinheiro</title>
<link>http://paulohrpinheiro.github.io</link>
<description>Programação para programadores: C, Perl, Python, Ruby, Rust. Linux na veia!</description>
<language>pt-br</language>
<item>
<title>Blogando no github</title>
<link>https://github.com/paulohrpinheiro/artigos/blob/master/diversos/blogando-no-github.md</link>
<description>Qual a forma mais rápida e com menos dependências de montar um
blog usando o github? Essa era uma dúvida que me acompanhava por um bom tempo.
Hoje falarei sobre como sanei essa dúvida.</description>
<pubDate>Thu, 20 Oct 2016 10:53:32 -0300</pubDate>
</item>
<item>
<title>Sobre o livro Test-Driven Development: Teste e Design no Mundo Real com Ruby</title>
<link>https://github.com/paulohrpinheiro/artigos/blob/master/resenhas/test-driven-development.md</link>
<description>Divulgando um livro que acabei de ler e que achei legal pra caramba!</description>
<pubDate>Thu, 06 Oct 2016 23:04:54 -0300</pubDate>
</item>
</channel>
</rss>
Para "inscrever-se" em meu blog, basta acompanhar o feed em https://paulohrpinheiro.github.io/rss.
Agora, abro qualquer editor, usualmente o vim, ou o atom, digito o que quero, commit & purge, tá no ar. Altero o arquivo de RSS, tá disponível pra quem acompanha meu FEED. Pode-se ainda usar páginas wiki no github, mas preferi fazer simples assim, antipattern :P