Lu-a-Bá - O bê-a-bá de Lua para a comunidade lusófona

Lu-a-Bá reestruturado

Olá novamente, tudo bem? Demorei um tempo para atualizar o Lu-a-Bá, mas não sem um bom motivo. Talvez você tenha reparado nas mudanças que fiz, tanto no estilo das páginas, como na estrutura. Nada que descaracterizasse o site, obviamente. Foram mudanças sutis, até, mas que deram algum trabalho.

Se por fora está parecido com o que era antes, "por dentro", houve mudanças significativas. Mudanças que eu estava adiando justamente por serem trabalhosas e significarem paralisar parcialmente a produção de conteúdo. Ainda assim, mudanças necessárias, pois a abordagem que vinha utilizando já estava mostrando seus limites.

A começar pelo formato utilizado originalmente para produzir os textos: markdown. Um formato que gosto muito pela sua simplicidade, legibilidade e praticidade. Com ele, posso produzir um texto fácil de ler e editar, e ao fim apenas converter para HTML.

Porém, essa conversão cobre apenas um pequeno subconjunto do HTML, o que é uma pena, pois estava perdendo a oportunidade de melhorar a organização e apresentação do conteúdo, utilizando elementos semânticos do HTML5.

Sim, eu sei, é possível embutir código HTML dentro do markdown, mas não gosto dessa abordagem, pois mistura duas sintaxes diferentes em um mesmo documento.

Escrever diretamente em HTML não é uma prática muito ergonômica, admito. Mas não é o fim do mundo, se tivermos alguns mecanismos para facilitar essa criação. Por exemplo, eu uso o editor vi), no qual posso definir atalhos próprios. Os atalhos nativos já facilitam bastante o processo, mas ainda adicionei um atalho para converter um bloco de texto em markdown para HTML.

Esse método tem ainda um bônus, que é produzir um HTML mais legível. Para uma parcela dos visitantes, isso pode ser útil. Explico. Uma prática antiga, que remete aos tempos de Web 1.0, a qual considero muito positiva e produtiva, é a de ler o código-fonte da página visitada para absorver algumas ideias.

Podemos encontrar inspiração desse modo, porém se o código da página estiver bagunçado, confuso ou entulhado, isso acaba perdendo o propósito. Nesse sentido, acredito que produzir um código final mais legível e mais inspecionável é uma contribuição (ainda que singela) para visitantes que partilham desse hábito.

O principal problema de escrever HTML diretamente é ter que reescrever alguns trechos de marcação que se repetem entre vários documentos. Não faz sentido editá-los um por um, mas isso é uma questão com a qual já precisava lidar antes, e aí entramos no segundo ponto: a automatização da construção.

Senti que era inadiável melhorar o gerenciamento da criação das páginas (que até então era feito com base em um Makefile). É sabido que esse tipo de recurso possui severas limitações de portabilidade, pois cada implementação do programa make utiliza extensões próprias.

Existe sim um padrão POSIX para makefiles que eu poderia seguir. Eu tentei seguir, mas não seria prático para o projeto, pois eu teria que listar as regras para cada arquivo e suas dependências. No fim, para manter o padrão POSIX eu teria que antes executar algum outro programa para gerar o makefile, o que pra mim já significaria que a abordagem não está adequada.

Portanto, eu tinha dois problemas para resolver: precisava reduzir o desconforto de escrever em HTML e ao mesmo tempo precisava de um mecanismo mais apropriado para orquestrar a geração das páginas.

Eu não queria nada muito sofisticado e definitivamente nada que fosse "enlatado", entende? Nada muito fechado. Quero ter o meu estilo, manter um modo próprio de construir o Lu-a-Bá, o qual hoje encaro como uma espécie de jardim. Um espaço que vou cultivando e aprimorando.

Pensei em usar algum gerador de site estático. Mas isso pra mim já é sofisticado demais, já abstrai muito o processo (e muitos usam arquivos markdown como entrada, o que me faria voltar à estaca zero, nesse ponto.

Aí me lembrei de algo que já usei no passado, e que se encaixa perfeitamente no meu perfil: um motor de templates (modelos), chamado Template Toolkit (TT2). Ele inclusive já possui um utilitário próprio (ttree) para automatizar a geração de todo um diretório de páginas, o que resolve o meu problema.

Com ele, eu posso definir alguns blocos de código que são comuns, e que posso reaproveitar em várias páginas, reduzindo a quantidade de HTML a ser escrita, e ao mesmo tempo não tira de mim o controle sobre o HTML gerado, pois eu mesmo crio esses modelos.

Para completar, passei a usar também um mecanismo de verificação do HTML gerado, a procura de erros comuns ou falhas de portabilidade. Há um utilitário muito bom para isso, chamado tidy. Eu reviso as páginas criadas com ele, assim garanto que elas estejam sintaticamente corretas.

Desnecessário dizer que mesmo com todos os benefícios, isso levou algum tempo para ser reestruturado. Mas valeu a pena. Isso abriu portas para algumas mudanças positivas, e isso porque estou apenas começando a reestruturação. Com o tempo, acredito que ficará ainda mais prático.

Mudanças perceptíveis

Vamos então falar das mudanças que podem ser percebidas pelo visitante, independente da configuração do Lu-a-Bá.

Por muito tempo relutei em fazer essa mudança, mas já há algum tempo estava incomodado com o nome “Curadoria”. O problema? Bem, por um lado penso que o nome poderia causar alguma confusão. Curadoria remete ao cuidado ou preservação e ao mesmo tempo a uma capacidade de avaliação e apresentação de algo, geralmente por um viés de obras de arte ou artefatos históricos.

Não está totalmente desvinculado do contexto do Lu-a-Bá, pois encaro textos e documentos como uma forma de arte em si, mas não há cuidado ou preservação a ser feita e principalmente, não sinto que estou em posição de “avaliar” esses trabalhos. O que faço aqui é apenas colocar a minha percepção sobre eles, pois contribuíram para o meu aprendizado, e penso que podem também contribuir para o seu.

Ao fim, penso que o termo “bibliografia” faz muito mais sentido nesse contexto, pois nesse caso pode ser interpretado como “a fonte de onde bebi”.

Nunca é demais frisar que os documentos da curadoria bibliografia são externos ao Lu-a-Bá. Friso esse ponto para eliminar qualquer possível confusão sobre a autoria dos documentos, e também para lembrar que esses documentos possuem uma licença de uso própria, possivelmente (e efetivamente) diferente da CC BY SA, usada pelo Lu-a-Bá.

Por este motivo, para cada formato de documento nessa seção (no campo “Baixar/acessar”), resolvi deixar explícito, ao lado do hiperlink de acesso, o domínio que hospeda aquele documento.

Seguindo na mesma linha que a alteração anterior, alterei também o estilo dos hiperlinks que apontam para endereços externos ao Lu-a-Bá, de modo que seja mais fácil distinguir dos hiperlinks internos, isto é, que apontam para o próprio Lu-a-Bá.

Os hiperlinks externos possuem um tom de azul um pouco diferente e são sempre seguidos por uma seta entre colchetes.

Um recurso que eu considero ainda útil, mas que não estava me agradando por algum motivo era uma tabela de conteúdo no início de cada documento. Ela continha um resumo dos tópicos contidos no documento, de modo que poderia facilitar a navegação, pois ao clicar no tópico, o visitante é direcionado para ele. Inegavelmente, isso cumpre uma função importante.

Porém, do modo como estava, eu sinto que não estava totalmente alinhado à semântica do HTML, visualmente não estava muito agradável e acredito que ainda pode ser aprimorado. Além disso, esse recurso agora precisa ser adaptado ao novo esquema de criação com o TT2.

Então por hora eu precisei removê-lo, mas vou colocar de volta assim que puder, e certamente estará melhor encaixado na página quando voltar.

Se por um lado a navegação perdeu um pouco com a remoção da tabela de conteúdo (que vai voltar, prometo), por outro, ganhou com o botão de “voltar ao topo”, que agora fica de modo permanente na lateral direita inferior da tela (ou centralizado, em telas pequenas).

Isso vai permitir que em qualquer ponto que estiver no documento seja possível retornar ao topo da página.

Outra melhoria que visa trazer um pouco mais de conforto na navegação é a substituição das notas de rodapé por notas expandíveis. Notas de rodapé possuem uma inconveniência: é preciso navegar para outra parte do documento, e depois voltar. Isso muitas vezes interrompe o fluxo da leitura e quebra o raciocínio.

Seguindo essa dica, resolvi fazer o mesmo, ou seja, resolvi substituir notas de rodapé por notas expandíveis. E gostei do resultado, realmente acho que fica mais prático ler notas criadas deste modo. Veja um exemplo.

Exemplo de nota expandível

Bem, eu também relutei muito em fazer isto, mas dada a situação atual do Lu-a-Bá, seguindo cada vez mais o modelo de “jardim pessoal”, sinto que não faz mais sentido pensar em construí-lo colaborativamente. Então resolvi adaptar a nota de direitos autorais, até então impessoal (para todos os contribuidores, que na prática era só eu mesmo) para uma referência nominal.

Isto não invalida de modo algum a possibilidade de receber sugestões e críticas, as quais podem sim ter reflexo na construção do site. E além disso, uma forma que acho que pode ser mais produtiva no longo prazo, caso outras pessoas queiram contribuir com seu próprio conteúdo sobre Lua seriam outras páginas pessoais sobre o assunto, para que então pudéssemos formar um webring ou algo semelhante.

O que é um webring?

Um webring de páginas sobre Lua em português não seria nada mal, não acha? Mas é algo que hoje me parece ainda um pouco distante.

Também removi o pequeno logotipo da licença CC BY SA, pelo fato de que ela era obtida externamente, isto é, gerava uma requisição para um domínio externo (possivelmente sem a intenção do usuário). Por isto, decidi deixar apenas o hiperlink. Deixo registrado que isso não altera a licença usada, que segue sendo CC BY SA.

A lista de artigos não estava errada ou mal formatada. Mas apenas pensei que organizar em formato tabular faria mais sentido. Além disso, consegui organizar de modo que reaproveita os mesmos dados usados o web feed Atom, reduzindo o trabalho de atualização dessa lista.

Por falar em web feed Atom, eu já havia criado um na atualização anterior, mas acabei me esquecendo de disponibilizar um hiperlink visível na página para facilitar a sua identificação.

Ele agora aparece no rodapé das páginas do Blog, sob o título “Assinar (atom)”.

Aproveitei para fazer alguns pequenos ajustes nos tutoriais existentes. Infelizmente não deu tempo ainda de trabalhar em novos tutoriais.

Resumo

Bem, eu certamente não fiz tudo o que gostaria de ter feito, mas essa atualização já demorou demais para acontecer, e alguns dos meus planos tiveram que ficar para a próxima. Como eu disse, a reestruturação apenas começou, e ainda tenho muito a fazer.

Além dos planos que já tinha sobre tutorial de nivelamento e ajustar a seção “Versões” (a qual nem consegui parar pra atualizar), preciso agora fazer algumas limpezas no código gerado (organizar mais o HTML), e também nas mudanças que precisei aplicar no estilo (CSS) da página.