Informática Numaboa - Tutoriais e Programação
O que é o GeSHi e como usá-lo
Ter 7 Jul 2009 14:33 |
- Detalhes
- Categoria: Joomla
- Atualização: Segunda, 02 Julho 2012 19:38
- Autor: vovó Vicki
- Acessos: 6641
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 :smile:
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] ); } ...
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:
Este é o texto num parágrafo...
Neste exemplo chamei o GeSHi com o parâmetro lang (linguagem) indicando HTML:
...
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.
Esta tag produz o seguinte resultado:
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: