Criando e-books com o Bookmaker
08/06/08
Depois de ver o excelente resultado do livro Ruby on Rails 2.1 - O que há de novo?, uma iniciativa de Carlos Brando e Marcos Tapajós, me empolguei e empacotei todo o processo de criação em uma gem chamada Bookmaker.
Pelo que pude perceber, esse já era um projeto que estava em andamento e se eu não me adiantasse e fizesse o desenvolvimento, o Carlos provavelmente o faria. Isso está longe de ser uma competição (eu até fiz uma rídicula contribuição no Github). Na verdade, eu já estava procurando algo simples para criar PDFs mas não tinha encontrado nada.
Como funciona o Bookmaker
O Bookmaker é basedo em um gerador de PDFs chamado Prince, que converte arquivos HTMLs usando CSS-3 e toda a sua especificação para impressão. A idéia é baseada em um artigo publicado originalmente pela A List Apart chamado Printing a Book with CSS: Boom!
Embora o Prince seja pago (495USD por uma única licença de usuário), a versão gratuita disponível em http://www.princexml.com/download/ funciona muito bem e adiciona um pequeno logotipo da empresa na página inicial, que é removido quando é impresso.
Todo o texto do livro é escrito em Markdown, uma linguagem de marcação muito simples. Em breve irei adicionar suporte ao Textile, uma outra linguagem de marcação.
O usuários de Mac têm uma vantagem adicional: todo o código do livro pode ser convertido usando o Textmate, de modo que seu o syntax highlight fica semelhante ao seu tema preferido. Não custa dizer que tudo é feito automaticamente.
Instalando o Bookmaker
Como o Prince está disponível para todos os sistemas operacionais, em tese, está disponível em qualquer plataforma. Em tese. Na realidade, por pura preguiça não adicionei suporte ao Windows, mas isso provavelmente deve acontecer em futuras versões. Se você precisa deste suporte e não quer esperar, faça um fork do projeto no Github e envie um patch.
O primeiro passo é instalar o Prince. Acesse o site http://www.princexml.com/download/ e baixe a versão específica para a sua plataforma. Para àqueles que usam Mac OS X, use os comandos abaixo para fazer a instalação.
cd ~/Downloads
wget -c http://www.princexml.com/download/prince-6.0r6-macosx.tar.gz
tar xzf prince-6.0r6-macosx.tar.gz
cd prince-6.0r6-macosx
sudo sh install.sh
O projeto do Bookmaker ainda não foi aprovado no Rubyforge. Por enquanto, você pode baixar a gem em http://f.simplesideias.com.br/bookmaker-0.0.3.gem.
cd ~/Downloads
wget -c http://f.simplesideias.com.br/bookmaker-0.0.3.gem
sudo gem install bookmaker
Agora, vamos instalar a biblioteca que irá converter nossos arquivos Markdown para HTML.
sudo gem install rubigen
sudo gem install discount
sudo gem install redcloth
Se você é usuário de Mac OS X e usa o Textmate, siga os passos abaixo. Caso contrário, pule para Criando seu livro.
Vamos instalar a biblioteca de expressão regular Oniguruma, disponível em http://www.geocities.jp/kosako3/oniguruma/. Para instalá-la, execute os comandos abaixo.
cd ~/Downloads
wget -c http://www.geocities.jp/kosako3/oniguruma/archive/onig-5.9.1.tar.gz
tar zxf onig-5.9.1.tar.gz
cd onig-5.9.1
./configure
make
sudo make install
Instale também a gem Ultraviolet, responsável por converter seu código usando o Textmate.
sudo gem install ultraviolet
Criando seu livro
Para criar seu livro, execute o comando "bookmaker
Agora é hora de escrever o seu livro. Todo o o conteúdo que você escrever, deve ser colocado no diretório "text". O Bookmaker obriga você a separar o livro em capítulos, que nada mais é que um diretório com diversos arquivos Markdown ou Textile. Como o livro será organizado alfabeticamente, é necessário que você escreva uma sequência númerica para garantir a orderação.
Eventualmente, você irá querer visualizar seu livro. Para gerar um PDF, basta executar o comando "rake pdf" para criar o livro no diretório "output".
E por fim…
É isso! Se você tem sugestões, deixe um comentário. Se quiser colaborar com alguma funcionalidade ou corrigir algum erro, envie um patch pelo Github.
Update: Atualizei a versão da gem para 0.0.2. A maior atualização foi o suporte ao Textile. Adicionei também a dependência das gems Rubigen e RedCloth.
- Permalink
- Trackback
- Comentários (10)
- Ao som de: The Puppini Sisters – In The Mood
Ganhe o livro Agile Web Development With Rails
18/07/07
Quer ganhar o livro Agile Web Development With Rails? É simples!
- Faça um post no seu blog com links para três posts do Simples Idéias que você mais gostou, explicando porque eles foram escolhidos.
- Neste seu mesmo post, indique ao menos um tema que gostaria que eu abordasse (qualquer coisa, relativa ou não a Ruby on Rails: seu tema pode virar um post aqui no Simples Idéias)
- Faça um trackback para o post da promoção — este que você está lendo — ou faça um comentário postando sua URL. Na dúvida, faça os dois (às vezes os trackbacks não chegam). Serão considerados válidos apenas posts enviados até o dia 15/08/2007.
O vencedor será anunciado no dia 16/08/2007. Lembre-se: você só será escolhido caso atenda aos requisitos (links para 3 posts e ao menos 1 sugestão de tema). Boa sorte!
PS: Estou sumido nos últimos dias, sem postar nada, por um motivo nobre: estou de férias! E nada melhor do que se afastar um pouco do computador para recarregar as baterias. Confesso que ultimamente andava meio disperso, sem conseguir me concentrar direito. Assim que minhas férias acabarem, espero voltar com força total!
Update 1: Se você ainda não enviou o seu post, corra. O prazo está terminando!
Update 2: Está acabando! São válidos os posts enviados até antes de eu fazer o sorteio! :)
Update 3: Saiu o resultado! A regra para o sorteio foi a) para quem enviou trackback e comentário, apenas o primeiro foi considerado, b) usei o random.org para gerar o número. Na primeira vez saiu o comentário #4, considerado inválido. Na nova tentativa, saiu o comentário #12. Por isso, quem levou o livro foi o Vinícius. Parabéns ao vencedor e obrigado a todos que participaram!
- Permalink
- Trackback
- Comentários (29)
- Ao som de: B.J. Thomas – Raindrops Keep Falling on My Head
Resenha: Ruby on Rails - Executando
17/04/07
Ganhei o livro Ruby on Rails: Executando, escrito por Bruce Tate e Curt Hibbs, e como já terminei de ler, resolvi escrever esta resenha.
O livro é voltado para pessoas com algum conhecimento em programação e é bastante direto. Ele não fica contando a história da linguagem, nem perdendo tempo com outras coisas "desnecessárias", que irritam quem está começando. Como exercício de fixação, você irá criar um slideshow de fotos, abordando recursos como envio de arquivos, relacionamentos, composição, testes unitários e AJAX, além de toda a base (MVC, validações, etc).
Ruby on Rails: Executando poderia ser um ótimo livro em português, mas peca na tradução. Algumas coisas chegam a ser engraçadas como "Gerente de banco de dados" (database manager), "Valiosas interfaces do usuário" (Rich user interface) e "Banco de dados de apoio" (database support), e outras que não deveriam ser traduzidas como "Serviços web" (webservices) e "Ajudantes" (Helpers). Esses erros de tradução são típicos de quem não conhece muito sobre o assunto, mas no geral não é ruim.
Se você quer um livro que mostre o caminho das pedras de maneira rápida, Ruby on Rails: Executando pode ser perfeito para você. Uma outra coisa que pode fazer comprar este livro é seu preço, por volta de R$45,00, coisa rara de ser encontrada em livros de tecnologia.
- Permalink
- Trackback
- Comentários (6)
- Ao som de: AFI – Affliction
