O GeSHi (Generic Syntax Highlighter) é um software de formatação de códigos-fonte para a web escrito em PHP. Atualmente, o sistema suporta 132 linguagens de programação, formatação e scripts diferentes como HTML, Java, C++, JavaScript, etc. Neste artigo, abordaremos sua integração com o editor JCE do Joomla.
O GeSHi está disponível para download no site do projeto, http://qbnz.com/highlighter/. Entretanto, o download e instalação do GeSHi são geralmente desnecessários, pois a sua utilização é preferível em conjunto com um plugin para editores online como o JCE Editor ou TinyMCE ou MODs para fóruns phpBB, que já incluem o sistema GeSHi internamente.
Como o código-fonte de qualquer linguagem é, de fato, um texto puro sem formatação, os ambientes integrados de desenvolvimento (IDE) como o NetBeans IDE, Visual Studio, Delphi, etc., desenvolveram o conceito de syntax highlighting para auxiliar a identificação de erros de sintaxe. Nesse conceito, cada palavra ou expressão apresenta uma cor diferente que representa o seu tipo ou função.
Para facilitar o entendimento de códigos-fonte na web também (seja em fóruns phpbb ou gerenciadores de conteúdo como o Joomla ou Drupal), o GeSHi foi idealizado em 2004. Após alguns anos, tornou-se um sistema robusto e conquistou milhões de usuários e vários prêmios.
GeSHi e o JCE Editor
O editor html JCE (Joomla Content Editor), baseado no projeto TinyMCE, é o sistema de editoração mais robusto disponível para o gerenciador de conteúdo web Joomla. O JCE é escrito em JavaScript; portanto, compatível a qualquer navegador web moderno. Mais detalhes sobre JCE podem ser encontrados na página oficial, http://www.joomlacontenteditor.net/.
Com o intuito de facilitar a integração entre os editores JCE e TinyMCE com GeSHi, Ryan Juckett desenvolveu o plugin RJ _InsertCode. Conforme a figura abaixo, esse plugin é muito importante para sites que publicam algum código-fonte:

No modo de formatação, é possível criar o conteúdo HTML referente ao código-fonte inserido no próprio RJ_InsertCode (opção Inline Style Sheets), sem a necessidade de um plugin específico do Joomla. O resultado é muito bom:

O artigo referido já publicado pode ser encontrado clicando-se aqui.
Receber informativos
Informática
-
AJAX Chat - Open Source Web Chat O software livre (código-fonte aberto de qualidade e gratuito) AJAX Chat é um chat desenvolvido...
-
Vídeo-aulas sobre Estruturas de Dados em Java (inglês) A universidade de Berkeley (Califórnia), a exemplo do Massachusetts Institute of Technology (MIT),...
-
Joomla: componente Xmap O termo sitemap denomina arquivos XML enviados a mecanismos de busca para facilitar a indexação...
- 1
- 2
- 3
- 4
- 5
- 6
- 7
Sistemas Elétricos
-
Dispositivo Diferencial Residual (DR) A proteção diferencial-residual consiste no seccionamento do respectivo circuito elétrico em caso...
-
Controle escalar do motor de indução trifásico O controle eletrônico da velocidade e torque desenvolvidos por motores de indução trifásicos possui...
-
Isolamento elétrico: propriedades térmicas Além dos complexos requisitos mecânicos e elétricos que uma máquina elétrica ou transformador...
- 1
- 2
- 3
Eletrônica
-
MPLAB: Code folding para Assembly Code folding é um mecanismo do MPLAB IDE que permite expandir ou esconder um código aninhado. Esse...
-
PIC16: toBCD8 - Hexadecimal para BCD 8 bits A função de conversão de números hexadecimais para BCD de 8 bits em assembly é uma rotina simples...
-
PIC16: mostra4digitos - exibe quatro dígitos em displays multiplexados A seguinte função para a família de microcontroladores PIC16 controla a exibição de 4 dígitos...
- 1
- 2
- 3
- 4
- 5
Comunidade Livre
|
|
Telecomunicações
-
Decibel (dB) O decibel (dB) consiste na mensuração da razão de duas potências na base logarítmica 10. Como...
-
Equação de Shannon A relação de Shannon determina a capacidade do canal C, em bits por segundo, considerando-se a existência...
-
Modulação em amplitude (AM) De acordo com outros artigos disponibilizados, a modulação consiste no deslocamento do conteúdo...
- 1
- 2