Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Mão na Massa LDAP - 1 Profissional por Máquina
Configure um serviço de Diretórios baseado no servidor OpenLDAP!
Dia 6 de Dezembro - São Paulo
Saiba mais


 

Aprenda inglês em casa

Baixe gratuitamente as duas primeiras aulas

English for Reading and Listening

Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.

Saiba mais e faça sua inscrição

Você está aqui: Home  → Arquivo Dicas-L

 

Mão na Massa - LDAP

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Publicar em del.icio.us

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

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.99/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (578 votos)

Recomende este site
Recomendar este artigo


Versão para impressão


Opinião dos Leitores

Marcio Belas
01 Fev 2008, 10:10
Marcio - Veja esta solução para o pessoal da Qualidade e outros usuários.
*Nome:
Email:
Me notifique sobre novos comentários nessa pagina
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Mão na Massa LDAP - 1 Profissional por Máquina
Configure um serviço de Diretórios baseado no servidor OpenLDAP!
Dia 6 de Dezembro - São Paulo
Saiba mais

Biblioteca

Redes - Guia Prático
Por Carlos. E. Morimoto

Hardware - o Guia Definitivo
Por Carlos. E. Morimoto

Kurumin 7 - Guia Prático
Por Carlos. E. Morimoto

Linux: Ferramentas Técnicas, 2ed
Por Carlos. E. Morimoto

VPN: Virtual Private Network
Por Lino Sarlo da Silva

MySQL - Guia do Programador
Por André Milani

Sistemas de Banco de Dados
Por Ramez E. Elmasri e Shamkant Navathe

Hardware PC: Guia de Aprendizagem Rápida
Por Carlos E. Morimoto

Extreme Programming
Por Vinicius Manhaes Teles

Google Hacking
Por JOHNNY LONG

Elite da Tropa
Por Luis Eduardo Soares, Andre Batista e Rodrigo Pimentel

Harry Potter e as Relíquias da Morte
Por J.K. Rowling

Manual Completo do Linux: Guia do Administrador
Por Evi Nemeth, Trent R. Hein, Garth Snyder

PHP para Quem Conhece PHP
Por Juliano Niederauer

O Conhecimento em Rede
Por Carlos Nepomuceno e Marcos Cavalcanti

Enterprise Javabeans 3.0
Por Bill Burke, Richard Monson

Redes de Computadores
Por Andrew S. Tanembaum

Marley e Eu: a Vida e o Amor ao Lado do Pior Cão do Mundo
Por John Grogan

Deus, um delírio
Por Richard Dawkins

Java: Como Programar
Por Harvey M. Deitel e Paul J. Deitel

Descobrindo o Linux: Entenda o Sistema Operacional GNU/Linux
Por Joao Eriberto Mota Filho

Use a Cabeça!: JSP & Servlets
Por Brian Bashan, Kathy Sierra, Bert Bates

1808
Por Laurentino Gomes

UML: Guia do Usuário
Por Grady Booch, James Rumbaugh e Ivar Jacobson