Blogando com Markdown no Github

Posted in Git, Linux on February 19th, 2009 by LeoLuz

github

Ultimamente venho fuçando nos repositórios do github. Ficou realmente bem legal o lance de misturar comunidades, projetos open source e git. Para quem não sabe, o git é um SCM distribuido criado por Linus Torvalds que segue o conceito de versionadores modernos como o bazaar e o mercurial. Se você não conhece nada sobre git mas quer dar uma fuçada no github aconselho a ler primeiro o micro tutorial de git do Akita para dar o ponta-pé inicial.

Atualmente o github é formado basicamente por projetos ruby e isso pode ser verificado neste gráfico. Nunca li um único tutorial sobre ruby; não por falta de vontade ou curiosidade, mas estou dando foco em aprender outras coisas ultimamente. Por enquanto, minha postura com ruby é meramente como usuário e isso já é o bastante para tirar proveito de projetos bem interessantes.

Semana passada descobri que o github oferece um serviço para que cada usuário possa publicar um site com as informações sobre seus projetos no formato de blog. Trata-se do github pages. O github pages oferece suporte ao jekyll que é uma espécie de blog engine que gera páginas estáticas.

Confesso que bati um pouco de cabeça até fazer as coisas funcionarem corretamente com a gem do jekyll e entender o seu padrão de diretórios e nomes de arquivos. Mas no final foi até bom porque achei uma outra gem que facilitou e muito a minha vida. Trata-se do jekyll_generator. Irei falar desse generator mais adiante.

Markdown ou textile?

O último fator, não menos interessante, que me chamou muito a atenção é que o jekyll suporta markdown e textile. Ambos provem um formato de texto de fácil leitura por um humano com a capacidade de gerar um documento html. Entre os dois eu particularmente prefiro o markdown pois sua linguagem é extremamente limpa, livre de markups e tags. Textile já não é limpo assim. Veja esse exemplo de textile na documentação do próprio jekyll e tirem suas conclusões. Estou escrevendo esse post usando o vim com a syntax mkd.vim e nesse momento ele está com essa cara:

vim-markdown

Bom chega de contar história e vamos ao que interessa!

Pré-requisitos

Se você usa Ubuntu como SO lembre-se que para poder instalar as gems você precisará de basicamente 3 pacotes: ruby, ruby-dev e o rubygems. Caso você não tenha instalado esses pacotes ou mesmo não sabe se tem ou não, execute:

$ sudo aptitude install ruby rubygems ruby-dev

As gems do ruby instalam um tipo de executável geralmente em: /var/lib/gems/[versão do ruby]/bin. Para não ter dor de cabeça toda vez que for instalar uma gem, adicionei esse caminho na minha variável $PATH.

Pronto.. Esses são os pré-requisitos para começar a brincadeira.

Setup do seu repo do github pages

Crie um novo repo no github com o nome no formato [seu usuário].github.com. O github sempre verifica se você tem um repo com o nome nesse formato e caso encontre, ele automaticamente publica seu conteúdo na respectiva url: http://[seu usuário].github.com.

Você pode sincronizar com esse repo, arquivos html estáticos, e a cada git push que você der, seu site será atualizado automaticamente. Mas até ai não tem muita graça.. É ai que entra o jekyll e as coisas começam a ficar mais interessantes.

Criando a estrutura do Jekyll

Como disse anteriormente o jekyll é uma espécie de blog engine, e para criar esse blog ele se baseia em uma determinada estrutura de arquivos e diretórios. Comecei a dar uma fuçada nesse padrão e a coisa começou a ficar meio chata.. Foi quando achei o jekyll_generator. Ele gera toda a estrutura do jekyll e já disponibiliza um template bem legal.

Para instalar a gem do jekyll_generator execute:

$ sudo gem source -a http://gems.github.com/
$ sudo gem install jekyll_generator

Agora já está tudo devidamente instalado. Basta clonar o seu repo do github e gerar a estrutura do jekyll lá dentro. Para isso faça:

$ git clone git@github.com:[seu usuário]/[seu usuário].github.com.git github-blog
$ cd github-blog
$ jekyll_generator . --title "Meu blog do github"

Pronto.. Seu novo blog já está criado. Basta dar o push e tudo já vai automaticamente para o ar:

$ git add *
$ git commit -am 'estrutura inicial do jekyll'
$ git push

Escrevendo seus posts

Perceba que na estrutura do jekyll há um diretório chamado _posts. É lá que o jekyll busca os arquivos com o texto dos seus posts. Note que esse arquivo deve respeitar um padrão de nome para que ele seja devidamente identificado:

ano-mes-dia-nome-do-post.markdown

ou

ano-mes-dia-nome-do-post.textile

No topo do arquivo, é necessário utilizar uma notação yaml para informar ao jekyll qual o template ele deverá usar e qual será o título do post. Por exemplo:

---
layout: post
title: Blogando com Markdown no Github
---

Para ter uma noção do produto final verifique o meu blog do github aqui e sinta-se a vontade para fuçar, clonar, etc esse meu repo.

Até a próxima e qualquer dúvida ou sugestão, estamos ai!

[]‘s
-LeoLuz-

Tags: , , , , , ,

A polêmica do desenvolvimento Web

Posted in Java, Programação, Python on August 25th, 2008 by LeoLuz

Polêmica“. Sem dúvida uma palavra que me interessa muito. Digo interessa por que assuntos polêmicos geralmente são intrigantes. Sempre que você leitor se deparar com algum assunto polêmico, provavelmente vai tomar algum partido. Isso ocorre por que você certamente terá argumentos racionais ou até mesmo emocionais para acreditar que isso ou aquilo é certo ou não!

No mundo tecnológico temas polêmicos não faltam. Como por exemplo:
Qual é o melhor SO (Windows “afff..”, Linux, MacOS)?
Qual é o melhor browser (IE :(, Opera, Firefox)?
Qual é a melhor distribuição de Linux (Ubuntu, Slackware, Redhat, Suse, Kurumin, Knoppix, Fedora, CentOS, etc…..) ?

Pois é.. Estava navegando por aí e achei um vídeo que me chamou muito atenção por alguns motivos:

  1. Trazer à tona um tema polêmico.
  2. Linguagem simples e muito didática.
  3. Quem fez o vídeo foi um tal de Sean Kelly que trabalha na NASA. A mesma disponibiliza o arquivo para download em seus servidores. :)
  4. Ele não tira nenhuma conclusão. Quem decide que “lado” ficar é você, porém ele te mostra argumentos concretos para que você o faça!

Você deve estar se perguntando:

Mas que p#$@$! de tema polêmico é esse??

Resposta:

Desenvolvimento Web!

Pergunta:

Tá!! Mas e daí?!

Resposta:

Vamos supor que você seja um desenvolvedor Java ou .NET (que nesse contexto na MINHA opinião estão igualados. Calma! Você vai entender porque.).. Você nunca achou que tenha algo de errado no jeito que você desenvolve aplicativos web?! Não?? Então definitivamente esse vídeo não é pra você. Feche essa aba do browser e volte para a seu site de piadas.
Ah!! Você também acha que tenha algo de errado? Por acaso pesquisou o que está ocorrendo em outros cenários de desenvolvimento como Ruby ou Python?! Pois é.. Foi exatamente nesse momento que eu achei esse vídeo:

Rails vs. Zope vs. Django vs. J2EE vs. C++(?!?!)

Título: Better Web Application Development
Tamanho: 316.8 MB (332169335 bytes)
Ano: 2006 (Porém ainda atual!)
Duração: 36:09
Formato: mov
Dimensão: 640 x 480

Caso você não esteja disposto a baixar 300mb ou se sua conexão for muito lenta para isso, aqui você encontra uma versão mais leve, porém com uma qualidade muito inferior.

Obs.: Espero que você entenda inglês se não vai perder..

[ ]‘s
-l30-

Tags: , ,