você está aqui: Home  → Arquivo de Mensagens

Como é feito o site da Dicas-L - a ferramenta txt2tags

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 09 de Janeiro de 2004

Publicado originalmente na Revista do Linux: http://www.revistadolinux.com.br/ed/045/assinantes/capa.php3

Todo usuário de um sistema operacional tem suas preferências. Dentre os milhares de aplicativos livres disponíveis em qualquer sistema GNU/Linux, a nossa preferência recai em alguns poucos. Editores de texto, aplicativos multimídia, jogos e assim por diante.

Como webmaster de alguns sites web, surpreendentemente, a minha aplicação essencial não é uma ferramenta sofisticada de edição de páginas, mas sim uma ferramenta simples, flexível e fácil de usar, chamada txt2tags.

Como o nome diz, a ferramenta faz a conversão de marcações inseridas no texto em diretivas utilizadas por diversas linguagens de marcação (markup languages), como HTML, SGML e outras.

Mas como trabalha o txt2tags? Por exemplo, para inserirmos um cabeçalho em um documento HTML, utilizamos as marcações <Hn>, onde n varia de 1 a 6. Com a ferramenta txt2tags, basta delimitarmos o texto que será o cabeçalho pelo caractere =. Um caractere = indica <H1>, dois indicam <H2> e assim por diante. Vejam o exemplo a seguir:

  =Título de Primeiro Nível=

torna-se

  <H1>Título de Primeiro Nível</H1>

Vejam a economia: reduzimos a nossa digitação de 9 caracteres (<H1> e </H1>) para apenas dois, com o = no começo e fim da frase. Sem contar que a possibilidade de errar é infinitamente menor.

O txt2tags oferece marcações para praticamente qualquer elemento da linguagem HTML, como por exemplo, listas numeradas ou não, tabelas, texto pré-formatado, com fonte de tamanho fixo e citações.

A marcação HTML gerada é simples, e exatamente neste ponto reside sua grande vantagem. O webmaster tem toda a liberdade de definir os elementos visuais como bem entender. Nos meus sites, toda a parte visual é formatada através do uso de folhas de estilo (Cascading Style Sheets).

Elementos adicionais, como cabeçalhos e rodapés, são adicionados ao texto básico posteriormente, através de outro shell script que faz a junção de todos os elementos.

Desta forma, a essência do site, seu conteúdo é criado com a ferramenta txt2tags. Os demais elementos são criados separadamente. A página final é montada através do recurso SSI (Server Side Includes). Vejam um exemplo:

  <!-#include virtual="/inc/head-root.inc" -->
  <!-#include virtual="/inc/secoes.inc" -->
  <!-#include virtual="/artigos/inc/navbar.inc" -->
  <table cellpadding="3">
  <tr>
  
  <td valign="TOP" WIDTH="30%" bgcolor="#FFFFFF">
  <!-#include virtual="/dicas-l/dicadodia.inc" -->
  </td>
  
  </tr>
  </table>
  <!-#include virtual="/artigos/inc/navbar.inc" -->
  <!-#include virtual="/inc/rodape.inc" -->
  </body>
  </html> 

Todas as diretrizes

  <!-#include virtual=

sinalizam ao servidor Web para inserir o arquivo especificado. Desta forma, o site inteiro pode ter o seu visual completamente modificado em questão de minutos.

O site Dicas-L veicula uma mensagem diariamente. Tudo que preciso escrever, na sintaxe do txt2tags, é algo como na Lista 1.

Cada arquivo recebe um nome como "20030815", ou seja, este arquivo deverá ser publicado no site no dia 15 de agosto de 2003. Na data correta, o arquivo codificado com as marcações do txt2tags será formatado como html e publicado.

Quando escrevo a mensagem não preciso me preocupar com marcação HTML; tenho que digitar menos caracteres e posso me concentrar no essencial, no conteúdo. O resto, eu deixo para o computador, que irá usar o txt2tags e algumas shell scripts para alcançar o resultado final.

O programa txt2tags vem com uma excelente documentação e faz muito mais do que é possível mostrar neste artigo. A opção de help do programa nos dá uma boa idéia de suas funcionalidades:

  $ txt2tags -h 
  
  txt2tags version 1.5 <http://txt2tags.sf.net> 
  
  Usage: txt2tags -t <type> [OPTIONS] file.t2t
  
    -t, -type         set target document type. actually supported:
                       txt, sgml, html, pm6, mgp, moin, man, tex
  
    -o, -outfile=FILE set FILE as the output filename ('-' for STDOUT)
        -stdout       same as '-o -' or '~Woutfile -' (deprecated option)
    -H, -noheaders    suppress header, title and footer information
    -n, -enumtitle    enumerate all title lines as 1, 1.1, 1.1.1, etc
        -maskemail    hide email from spam robots. x@y.z turns <x (a) y z>
  
        -toc          add TOC (Table of Contents) to target document
        -toconly      print document TOC and exit
        -toclevel=N   set maximum TOC level (deepness) to N
  
        -gui          invoke Graphical Tk Interface
        -style=FILE   use FILE as the document style (like Html CSS)
  
    -h, -help         print this help information and exit
    -V, -version      print program version and exit
  
  Extra options for HTML target (needs sgml-tools):
        -split        split documents. values: 0, 1, 2 (default 0)
        -lang         document language (default english)
  
  By default, converted output is saved to 'file.<type>'.
  Use -outfile to force an output filename.
  If input file is '-', reads from STDIN.
  If outfile is '-', dumps output to STDOUT. 

Mas não é só isto. A partir do mesmo arquivo o txt2tags gera também saída no formato mgp (ver a tela de ajuda acima), do aplicativo Magic Point. Este programa é utilizado para apresentações. É extremamente leve E oferece muitos recursos, porém a sintaxe é um pouco mais complexa. O txt2tags, com a mesma marcação usada para criar arquivos HTML, gera também arquivos no formato mgp. Exemplos de minhas apresentações criadas por meio do txt2tags e do software mgp podem ser encontradas em http://www.dicas-l.com.br/cursos.

Eu uso o txt2tags também para criar documentos no formato TeX, um sistema de editoração eletrônica de grande popularidade no meio acadêmico.

Enfim, a mágica do programa txt2tags é que, a partir de apenas um arquivo de origem, que usa uma marcação extremamente simples e fácil de usar e memorizar, se consegue gerar arquivos em diversos formatos.

Como extras, são incluídos arquivos de configuração para o editor vim, que permitem destacar a marcação em conformidade com a sintaxe do programa.

O txt2tags é produto genuinamente nacional, escrito pelo Aurélio Marinho Jargas. Além do txt2tags, o Aurélio é também autor do livro "Expressões Regulares: Guia de Consulta Rápida", publicado pela editora Novatec, do excelente SED HOWTO, totalmente em português, e de diversas outras ferramentas e artigos. Não deixem de visitar aurelio.net, o site onde tudo isto pode ser consultado. O txt2tags pode ser baixado diretamente de txt2tags.sourceforge.net.

Para saber mais sobre o recurso de inclusão de arquivos em páginas Web, com "Server Side Includes", um bom ponto de partida é o endereço http://www.apache.org/docs/howto/ssi.html.

Lista 1

  =Como usar o sed para substituição de texto=
  
  Caso queiramos trocar todas as ocorrências do nome "www.acme.com" por
  "www.acme.com.br", em todos os arquivos de um diretório, basta criar
  algo parecido com a seqüência de comandos abaixo:
  
  
  #!/bin/bash
  
  for file in *
  do
    sed 's/www.acme.com.br/www.acme.com.br.br/'g $file \
          > $file.$$ && mv $file.$$ $file
  done 

O txt2tags também pode exportar o mesmo arquivo para o formato do magic point.



Veja a relação completa dos artigos de Rubens Queiroz de Almeida

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script