Home Page do Portal
Brasil, um país de todos

Interpretadores Wiki

Interpretadores são WikiMacros desenvolvidos para prover uma alternativa de formatação de alto nível para o sistema da wiki Trac. Interpretadores podem ser vistos como funções macros para processar a edição de texto dos usuários

O sistema da wiki usa Interpretadores para permitir o uso de Texto Restruturado (RST) e HTML puro em qualquer texto wiki do Trac.

Usando Interpretadores

Para usar um interpretador em um bloco de texto, use um 'blockquote', selecionando um interpretador pelo nome usando uma 'notação hashbang' (#!), familiar para muitos usuários de scripts UNIX.

Exemplo 1 (inserindo HTML puro em um texto da wiki):

{{{
#!html
<h1 style="color: orange">Isto é HTML puro</h1>
}}}

Resulta em:

Isto é HTML puro


Exemplo 2 (Inserindo Texto Restruturado(RST) em textos wiki):

{{{
#!rst
Cabeçalho
--------
Isot é um **texto** com um rodapé [*]_.

.. [*] Isto é um rodapé.
}}}

Resulta em:

Cabeçalho

Este é um texto com rodapé [*].

[*]Isto é um rodapé.

Exemplo 3 (Inserindo código em C em um bloco de texto da wiki):

{{{
#!c
int main(int argc, char *argv[])
{
  printf("Olá Mundo\n");
  return 0;
}
}}}

Resulta em:

int main(int argc, char *argv[])
{
  printf("Olá Mundo\n");
  return 0;
}

Interpretadores disponíveis

Os seguintes interpretador estão incluidos na distribuição do Trac:

Suporte a Código-Fonte

O Trac inclui interpretadores pra prover suporte embutido de destaque para essas linguagens:

  • c -- C
  • cpp -- C++
  • python -- Python
  • perl -- Perl
  • ruby -- Ruby
  • php -- PHP
  • asp --- ASP
  • sql -- SQL
  • xml -- XML

Nota: Trac conta com pacotes de softwares externos para prover a sintacxe colorida. Veja TracSyntaxColoring para maiores informações.

Usando o mime-type como um interpretador, é possível destacar a sintaxe ddas mesmas linguagens que são suportadas quando se navega pelo código-fonte.( A lista de mime-types pode ser encontrada em Mimeview.py).

Por exemplo, você pode escrever:

{{{
#!text/html
<h1>text</h1>
}}}

O resultado será uma sintaxe de código HTML em destaque.O mesmo é válido para todos os outros mime-types suportados.

Para mais interpretadores macros desenvolvidos e/ou contribuidos por usuários, visite o macro bazaar:

http://projects.edgewall.com/trac/wiki/MacroBazaar


Tópicos avançados: Desenvolvendo Interpretadores Macros

Desenvolver interpretadores não é diferente do que WikiMacros. Na verdade, eles trabalham da mesma maneira, somente a sintaxe é diferente. Veja WikiMacros para maiores informações

Example: (Restructured Text Processor): Exemplo: (Processador de Texto Restruturado(RST)):

from docutils.core import publish_string

def execute(hdf, text, env):
    html = publish_string(text, writer_name = 'html')
    return html[html.find('<body>')+6:html.find('</body>')].strip()

Veja também : WikiMacros, WikiHtml, WikiRestructuredText, TracSyntaxColoring, WikiFormatting, TracGuide