24/05/2015 Lua eBook

Contei que comprei um leitor digital Lev recentemente. De forma que agora um de meus assuntos de interesse são eBooks. Não me satisfaz simplesmente colocar um arquivo HTML no leitor e ler do jeito que ficar. Quero algo bem feito, que seja prático de consultar. Então não poderia deixar de ter os manuais de referência da minha linguagem de programação favorita: Lua. Converti para formato ePub o Manual de Referência de Lua 5.1 bem como o Manual de Referência de Lua 5.2 ambos em português.

Baixei os manuais no site oficial de Lua. Então usei o Pandoc para converter o arquivo manual.html para o formato ePub. Não converti o arquivo index.html com o índice, pois o formato ePub possui um recurso de índice bem mais interessante. Na verdade, cheguei a experimentar converter o índice e o resultado não ficou muito bom por isso decidi por conservar somente o índice interno do ePub.

Naturalmente, não fiquei satisfeito com o resultado da simples conversão automática. Utilizei o Sigil para editar alguns detalhes, como a capa, o css e retirar algumas seções vazias que o Pandoc gerou. Por fim, usei o Sigil também para recriar o índice (TOC), agora omitindo as seções vazias que retirei. O resultado ficou bastante satisfatório. A única coisa que não gosto é dos exemplos de código em fonte mono-espaçada que ultrapassam o limite da tela. A minha solução foi forçar quebra de linha com o CSS: pre { white-space: pre-wrap; }. No entanto ainda acho que ficaria melhor se pudesse haver uma barra de rolagem.

O mantenedor do Sigil parece fazer birrinha e não gostar de Linux, então não existe uma versão oficial para Linux. Poderia compilar os fontes mas encontrei os binários do Sigil em formato deb sem muita dificuldade. Lidar com uma infinidade de distribuições Linux não é bom, mas eu gosto de como o IUP Lua distribui seus binários de forma não específica a uma distribuição. Possuir os binários para Linux, não implica em suporte no sentido de resolver todos os problemas que os usuários possam ter.

br_lemes, o Imortal insano (Fantasia)