<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>:: LeoLuz :: &#187; Git</title>
	<atom:link href="http://leo.classluz.net/tag/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://leo.classluz.net</link>
	<description>já começou..</description>
	<lastBuildDate>Sun, 06 Jun 2010 21:35:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Blogando com Markdown no Github</title>
		<link>http://leo.classluz.net/2009/02/19/blogando-com-markdown-no-github/</link>
		<comments>http://leo.classluz.net/2009/02/19/blogando-com-markdown-no-github/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 03:43:28 +0000</pubDate>
		<dc:creator>LeoLuz</dc:creator>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[jekyll]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[rubygem]]></category>
		<category><![CDATA[textile]]></category>

		<guid isPermaLink="false">http://leo.classluz.net/?p=304</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;">
<p><img class="size-full wp-image-312 alignleft" title="github" src="http://leo.classluz.net/wp-content/uploads/2009/02/github.png" alt="github" width="179" height="179" /></p>
<p>Ultimamente venho fuçando nos repositórios do <a title="github" href="http://github.com" target="_blank">github</a>. Ficou realmente bem legal o lance de misturar comunidades, projetos open source e <a title="git" href="http://git-scm.com/" target="_blank">git</a>. Para quem não sabe, o <a title="git" href="http://git-scm.com/" target="_blank">git</a> é um SCM distribuido criado por Linus Torvalds que segue o conceito de versionadores modernos como o <a title="bazaar" href="http://bazaar-vcs.org/" target="_blank">bazaar</a> e o <a title="mercurial" href="http://www.selenic.com/mercurial/wiki/" target="_blank">mercurial</a>. Se você não conhece nada sobre <a title="git" href="http://git-scm.com/" target="_blank">git</a> mas quer dar uma fuçada no <a title="github" href="http://github.com" target="_blank">github</a> aconselho a ler primeiro o <a title="micro tutorial git" href="http://www.akitaonrails.com/2008/4/3/micro-tutorial-de-git" target="_blank">micro tutorial de git</a> do Akita para dar o ponta-pé inicial.</p>
<p>Atualmente o github é formado basicamente por projetos ruby e isso pode ser verificado <a title="github languages" href="http://github.com/languages" target="_blank">neste</a> 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.</p>
<p>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 <a title="github pages" href="http://pages.github.com/" target="_blank">github pages</a>. O github pages oferece suporte ao <a title="jekyll" href="http://github.com/mojombo/jekyll/tree/master" target="_blank">jekyll</a> que é uma espécie de blog engine que gera páginas estáticas.</p>
<p>Confesso que bati um pouco de cabeça até fazer as coisas funcionarem corretamente com a gem do <a title="jekyll" href="http://github.com/mojombo/jekyll/tree/master" target="_blank">jekyll</a> 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.</p>
<h3>Markdown ou textile?</h3>
<p>O último fator, não menos interessante, que me chamou muito a atenção é que o <a title="jekyll" href="http://github.com/mojombo/jekyll/tree/master" target="_blank">jekyll</a> suporta <a title="markdown" href="http://daringfireball.net/projects/markdown/" target="_blank">markdown</a> e <a title="textile" href="http://textile.thresholdstate.com/" target="_blank">textile</a>. 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 <a title="markdown" href="http://daringfireball.net/projects/markdown/" target="_blank">markdown</a> pois sua linguagem é extremamente limpa, livre de markups e tags. <a title="textile" href="http://textile.thresholdstate.com/" target="_blank">Textile</a> já não é limpo assim. Veja <a title="jekyll textile" href="http://github.com/mojombo/jekyll/raw/master/README.textile" target="_blank">esse</a> exemplo de textile na documentação do próprio <a title="jekyll" href="http://github.com/mojombo/jekyll/tree/master" target="_blank">jekyll</a> e tirem suas conclusões. Estou escrevendo esse post usando o <a title="vim" href="http://www.vim.org/" target="_blank">vim</a> com a syntax <a title="mkd.vim" href="http://www.vim.org/scripts/script.php?script_id=1242" target="_blank">mkd.vim</a> e nesse momento ele está com essa cara:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-313" style="border: 1px dotted white; padding: 3px;" title="vim-markdown" src="http://leo.classluz.net/wp-content/uploads/2009/02/vim-markdown.png" alt="vim-markdown" width="443" height="380" /></p>
<p>Bom chega de contar história e vamos ao que interessa!</p>
<h3>Pré-requisitos</h3>
<p>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:</p>
<div style="border:1px dashed white; padding:8px; text-align: left; font-size: 10pt"><code>$ sudo aptitude install ruby rubygems ruby-dev</code></div>
<p>As gems do ruby instalam um tipo de executável geralmente em: <code>/var/lib/gems/[versão do ruby]/bin</code>. Para não ter dor de cabeça toda vez que for instalar uma gem, adicionei esse caminho na minha variável <code>$PATH</code>.</p>
<p>Pronto.. Esses são os pré-requisitos para começar a brincadeira.</p>
<h3>Setup do seu repo do github pages</h3>
<p>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: <code>http://[seu usuário].github.com</code>.</p>
<p>Você pode sincronizar com esse repo, arquivos html estáticos, e a cada <code>git push</code> 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.</p>
<h3>Criando a estrutura do Jekyll</h3>
<p>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.</p>
<p>Para instalar a gem do jekyll_generator execute:</p>
<div style="border:1px dashed white;padding:8px; text-align: left; font-size: 10pt"><code>$ sudo gem source -a http://gems.github.com/<br />
$ sudo gem install jekyll_generator<br />
</code></div>
<p>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:</p>
<div style="border:1px dashed white;padding:8px; text-align: left; font-size: 10pt"><code>$ git clone git@github.com:[seu usuário]/[seu usuário].github.com.git github-blog<br />
$ cd github-blog<br />
$ jekyll_generator . --title "Meu blog do github" </code></div>
<p>Pronto.. Seu novo blog já está criado. Basta dar o push e tudo já vai automaticamente para o ar:</p>
<div style="border:1px dashed white;padding:8px; text-align: left; font-size: 10pt"><code>$ git add *<br />
$ git commit -am 'estrutura inicial do jekyll'<br />
$ git push<br />
</code></div>
<h3>Escrevendo seus posts</h3>
<p>Perceba que na estrutura do jekyll há um diretório chamado <code>_posts</code>. É 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:</p>
<div style="border:1px dashed white;padding:8px; text-align: left; font-size: 10pt"><code>ano-mes-dia-nome-do-post.markdown<br />
</code></div>
<p>ou</p>
<div style="border:1px dashed white;padding:8px; text-align: left; font-size: 10pt"><code>ano-mes-dia-nome-do-post.textile<br />
</code></div>
<p>No topo do arquivo, é necessário utilizar uma notação <a title="yaml" href="http://www.yaml.org/" target="_blank">yaml</a> para informar ao jekyll qual o template ele deverá usar e qual será o título do post. Por exemplo:</p>
<div style="border:1px dashed white;padding:8px; text-align: left; font-size: 10pt"><code>---<br />
layout: post<br />
title: Blogando com Markdown no Github<br />
---<br />
</code></div>
<p>Para ter uma noção do produto final verifique o meu blog do github <a title="LeoLuz Github Page" href="http://leoluz.github.com" target="_blank">aqui</a> e sinta-se a vontade para fuçar, clonar, etc <a title="LeoLuz Github Repo" href="http://github.com/leoluz/leoluz.github.com/tree/master" target="_blank">esse</a> meu repo.</p>
<p>Até a próxima e qualquer dúvida ou sugestão, estamos ai!</p>
<p>[]&#8216;s<br />
-LeoLuz-</p></div>
]]></content:encoded>
			<wfw:commentRss>http://leo.classluz.net/2009/02/19/blogando-com-markdown-no-github/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
