Aldeia Numaboa

  • Increase font size
  • Default font size
  • Decrease font size
Home Informática Tutoriais e Programação Joomla O que é o GeSHi e como usá-lo

O que é o GeSHi e como usá-lo

Indique esta página Imprimir PDF
(4 votos, média 3.0 de 5)

Muitos visitantes da Aldeia já fizeram contato perguntando como eu faço para que o código fonte de exemplos de programação fique colorido e destacado. Não são imagens de código, é apenas o GeSHi funcionando sorriso

Lembro que no início tive algumas dificuldades. Pra começar, eu nunca tinha ouvido falar no GeSHi e não sabia que ele fazia parte da instalação padrão do Joomla. Foi a curiosidade que fez com que eu "descobrisse" isto. Aqui vai a história.

Estava dando uma olhada nos plugins (na época em que ainda eram chamados de mambots) quando esbarrei num tal de Code Highlighter (GeSHi). Não tinha a mínima idéia da serventia deste plugin mas, mesmo assim, resolvi ativá-lo. Depois de ativado, dei uma olhada em algumas páginas do site e não vi nada de diferente. Se não mudou nada, pra que serve esta trapizonga? Como era difícil imaginar que o pessoal do Joomla tivesse criado e colocado na instalação padrão um plugin "morto", procurei no Google e achei o site do GeSHi. A partir daí as coisas começaram a fazer algum sentido.

GeSHi vem de Generic Sintax Highlighter. Totalmente escrito em PHP, este aplicativo faz exatamente o que seu nome indica: é um destacador de sintaxe genérico. Compare os exemplos abaixo:

<?php
   $db = new Database( $usuario, 'senha' );
   foreach( $REQUEST as $chave => $valor ) {
      unset( $REQUEST[$chave] );
   }
   ...
Usando o GeSHi
<?php $db = new Database( $usuario, 'senha' ); foreach( $REQUEST as $chave => $valor ) { unset( $REQUEST[$chave] ); } ...

Como gosto mais do código fonte mostrado via GeSHi, passei a usá-lo no site, mas só depois de mais algumas pesquisas, por que não havia (e ainda não há muitas) explicações de como usar este script. Na verdade, o GeSHi não depende do Joomla (e vice-versa), é apenas um script PHP que, ao ser chamado, transforma um bloco de código fonte. Para ser incorporado ao Joomla, criou-se um plugin que, se estiver ativado, substitui o texto colocado entre as tags <pre> e </pre> com os devidos destaques de acordo com a linguagem de programação indicada. Por exemplo:

GeSHi com html4strict
<html> <head> <title>Título da página</title> </head> <body> <p>Este é o texto num parágrafo...</p> </body> </html>

Neste exemplo chamei o GeSHi com o parâmetro lang (linguagem) indicando HTML:

<pre lang="html4strict">...</pre>

Na instalação padrão do Joomla, vários arquivos de linguagem são colocados na pasta /libraries/geshi/geshi. São eles:

  • css.php - para scripts de Cascading Style Sheet - CSS
  • diff.php - para scripts do aplicativo Diff
  • html4strict.php - para scripts HTML
  • ini.php - para arquivos de inicialização
  • javascript.php - para código Javascript
  • mysql.php - para comandos e queries SQL do MySQL
  • php.php - para código PHP
  • php-brief.php - para código PHP
  • sql.php - para comandos e queries SQL
  • xml.php - para código XML

A lista de linguagens disponíveis, além das citadas, é muito extensa e não pára de crescer. Você pode baixar as que precisa no site do GeSHi e, para utilizá-las, basta colocá-las na pasta citada.

Este é o mapa da mina para o GeSHi: habilitar o plugin e depois usar as tags <pre> indicando a linguagem de programação desejada. Se nenhuma for indicada, o padrão é usar o destaque da linguagem PHP.

Só mais uma coisa: o plugin aceita um segundo parâmetro além da linguagem - se é ou não para numerar as linhas de código.

<pre lang="css" lines="true">

Esta tag produz o seguinte resultado:

GeSHi com linhas
  1. .negrito {
  2. font-weight: bold;
  3. font-color: #FF0000;
  4. }

Imagino que você tenha percebido que meus "blocos GeSHi" possuem um título. Se quiser saber como dar um trato no plugin para obter este efeito, leia o tutorial "GeSHi à moda da casa". Se quiser ficar no feijão com arroz, este tutorialzinho basta.

Grande abraço

vó Vicki vovo Vicki

Atualização Qui, 09.07.2009 11:14  

Na Aldeia

Há 113 visitantes online

3630 registros
0 hoje
14 nesta semana
4 neste mês

Boas vindas: flor

Estatística

Membros: 3639
Artigos: 1045
Links: 90
Leituras: 6680830

Login

Kanji da hora




Faça contato







Juro por Deus que estou morta de vergonha. Ao invés do nosso presidente ouvir os apelos e tentar ajudar, ele "tira sarro" de prisioneiros políticos perseguidos pelo seu lunático amigo Castro, apreciador do frango ensopado de dona Letícia.

Leia Mais