Novo (mentira) Blog

Augusto Pascutti bio photo By Augusto Pascutti Comment
A muito tempo procuro um jeito simples e eficiente de compartilhar algum conhecimento (inútil), mas até então nunca estive feliz com nada. Usei Wordpresse e Habari, o segundo me agradou muito durante muito tempo, mas acabei tendo problemas com o banco de dados em SQLite e acabei perdendo todo conteúdo do blog. Desanimei. A muito tepo também, digo que usar controle de versões pra blogar deveria ser algo simples e eficiente. Isso aliado ao GitHub (me desculpem, mas o Git só é o que é hoje por causa dele. É um ótimo SCM, concordo, mas o GitHub fez toda a diferença) e a minha mania de usar "Textile":http://www.textism.com/tools/textile/ pra escrever as coisas me fez dar uma procurada em como fazer isso de uma maneira relativamente eficiente. O resultado final é isso que vocês estão vendo: Páginas estáticas HTML hospedadas no "GitHub Pages":http://pages.github.com. Eles rodam no servidor uma ferramenta em _Ruby_ chamcada "Jekyl":http://github.com/mojombo/jekyll , que server justamente pra isso: um sistema extremamente simples de blog. O código do blog está no "meu github":https://github.com/augustohp/augustohp.github.com em conjunto com os posts. Tentarei explicar brevemente como esse conjunto funciona. h4. Jekyl Ele parseia tudo e gera os HTMLs que são o que o usuário vê. Pra isso, ele depende basicamente do arquivo _config.yml_, e dos diretórios que iniciam com "__" (underline). O jekkyl funciona basicamente como um ferramenta de template, que lê principalmente o arquivo _index.html_ interpretando o início deste arquivo com informações de layout a ser utilizado e de variáveis específicas. O Jekyl usa o Liquid ainda também para parsear o conteúdo o que permite a utilização e confecção de plugins para seu uso, tornando o modelo flexível o suficiente para se fazer o que vier na cabeça depois de uma noite de insônia ou bebedeira. h4. Textile É uma linguagem de marcação a partir da qual se gera o HTML. Obivamente ele é mais simples de se escrever que o HTML, e a leitura do mesmo também é mais simples. Escrever utilizando ele é uma questão de costume (assim como HTML) e seus modificadores são extremamente simples e diretos. Caso você não saiba, o GitHub suporta já o Textile, para isso é só colocar a extensão _.textile_ no arquivo e ele exibe corretamente o HTML gerado pelo conteúdo. O exemplo mais banal disso são os arquivos README.textile que o GitHub exibe na página inicial dos repositórios. h4. GitHub pages Com ele é possível ter uma página HTML para um repositório hospedado dentro do GitHub. Ele já roda de forma nativa o *Jekyll* por isso todo código hospedado nesse repositório acaba sendo parseado. Essa etapa é relativamente desnecessária, é possível também criar um método de distribuição do seu resultado do parseamento do Jekkel usando o _Apache Ant_ ou (como eu prefiro) o _PHING_. h4. Posts Cada post é um arquivo (no meu caso) _Textile_ cujo nome começa com a data de publicação e termina com um breve título do post. Dentro deste arquivo o conteúdo começa com algumas informações usadas pelo Jekyl a fim dele encontrar o layout que quero utilizar para aquele post, data e título do mesmo. Criar um novo post é tnao complicado quanto escrever um rquivo textile (eu já fazia isso com o Habari) e colocar dentro do diretório _posts_ do Jekyl. Ao submeter pro repositório no GitHub com um _git push_ é só esperar um pouco para que o parseamento seja feito no servidor e pronto. h4. Comentários Para os comentários eu uso uma ferramenta muito competente e gratuita chamada "Disqus":http://www.disqus.com . h4. Conclusão Como puderam ver o modelo é simples e flexível o suficiente. Não escondo que torci um pouco o nariz por deixar isso tudo em cima de ferramentas Ruby (basicamente), mas fazer o que? A tecnologia existe, funciona e é bem competente. Não utilizá-la é burrice. Você pode visitar eu repositório e ver como tudo fei feito. pode forkar e fazer seu próprio blog. As vantagens são inúmeras, a principal? Escreva de forma offline de maneira simples e direta. A segunda mais importante? O backup fica por conta deles e não nossa. Quer mais uma de brinde ainda? O efeito _"Fuck yeah"_ de ter um blog usando Git hospedado no GitHub justifica tudo.
comments powered by Disqus