Extensão:SyntaxHighlight
![]() Estado da versão: estável |
|
---|---|
![]() |
|
Implementação | Marcação |
Descrição | Permite que o código-fonte tenha a sintaxe destacada nas páginas wiki |
Autor(es) |
|
Última versão | atualizações contínuas |
Política de compatibilidade |
Master maintains backward compatibility. |
MediaWiki | 1.25+ |
Modifica o banco de dados |
Não |
Licença | GNU GPL (Licença Pública Geral) 2.0 ou superior |
Download | README |
|
|
<syntaxhighlight> |
|
Public wikis using | 11,760 (Ranked 8th) |
Translate the SyntaxHighlight extension | |
Problemas | Tarefas em aberto · Relatar um bug |
A extensão SyntaxHighlight, anteriormente conhecida como SyntaxHighlight_GeSHi, fornece formatação rica de código-fonte usando a marcação <syntaxhighlight>
.
Ela é "alimentada" pela biblioteca Pygments e suporta centenas de diferentes linguagens de programação e formatos de arquivos.
Assim como as marcaçõess <pre>
e <poem >
, o texto é renderizado exatamente como foi digitado, preservando qualquer espaço em branco.
The SyntaxHighlight extension does not work on wiki installations hardened using Hardened-PHP due to the lack of proc_open
, shell_exec
and other functions.
Veja tarefa T250763.
A marcação (tag) <syntaxhighlight>
se tornou cara desde a versão 1.39 para 5.000 ou alguma outra quantidade extrema de marcações (tags) de realce de sintaxe em uma única página, como para a Wikilivros.
Aumente o valor do tempo limite do servidor web em ambientes em casos extremos.
(Veja tarefa T316858.)
Uso
Uma vez instalada, você pode usar marcações "syntaxhighlight" nas páginas wiki. Por exemplo,
def quick_sort(arr):
less = []
pivot_list = []
more = []
if len(arr) <= 1:
return arr
else:
pass
é o resultado da seguinte marcação de wikitexto:
<syntaxhighlight lang="python" line>
def quick_sort(arr):
less = []
pivot_list = []
more = []
if len(arr) <= 1:
return arr
else:
pass
</syntaxhighlight>
Em versões mais antigas (antes do MediaWiki 1.16), a extensão usava a marcação <source>
.
Isso ainda é suportado, mas está obsoleto. <syntaxhighlight>
deve ser usada em seu lugar.
Estilo
Se o código exibido for muito grande, você pode ajustá-lo colocando o seguinte na página MediaWiki:Common.css em sua wiki (crie-a se não existir):
/* O código para folhas de estilos em cascatas (F.E.C., C.S.S.) colocado aqui será aplicado a todos os temas (aparências, skins) */
.mw-highlight pre {
font-size: 90%;
}
Encapsular blocos de código em bordas pode ser feito inserindo uma linha como border: 1px dashed blue;
na seção acima.
O controle sobre a família de fontes (font family) usada também pode ser exercido inserindo uma linha como font-family: "Courier New", monospace;
na seção acima.
Categoria de erro de realce de sintaxe
A extensão adiciona páginas que possuem um atributo lang
inválido em uma marcação <syntaxhighlight>
a uma categoria de rastreamento.
A chave de mensagem MediaWiki:syntaxhighlight-error-category determina o nome da categoria; nesta wiki é Category:Pages with syntax highlighting errors.
O erro mais comum que faz com que as páginas sejam marcadas com esta categoria é uma marcação <syntaxhighlight>
sem nenhum atributo lang
, porque as versões mais antigas desta extensão suportavam a definição de $wgSyntaxHighlightDefaultLang
.
Normalmente, elas podem ser substituídas por <pre>
, ou lang="bash"
ou lang="text"
podem ser adicionados à marcação.
A categoria também pode ser adicionada, e o conteúdo não será destacado, se houver mais de 1000 linhas ou mais de 100 kB de texto.[1]
Parâmetros
lang
O atributo lang="name"
define qual analisador sintático (lexical, "lexer") deve ser usada.
A linguagem afeta como a extensão realça o código-fonte.
Consulte a seção #Linguagens suportadas para obter detalhes sobre as linguagens suportadas.
def quick_sort(arr):
less = []
<syntaxhighlight lang="python">
...
</syntaxhighlight>
A especificação de um nome inválido ou desconhecido marcará a página com uma categoria de rastreamento. Consulte a seção #Categoria de erro de realce de sintaxe nesta página para obter detalhes.
line
O atributo line
permite números de linhas.
def quick_sort(arr):
less = []
<syntaxhighlight lang="python" line>
...
</syntaxhighlight>
start
O atributo start
(em combinação com line
) define o número da primeira linha do bloco de código.
Por exemplo, line start="55"
fará com que a numeração das linhas comece em 55.
def quick_sort(arr):
less = []
<syntaxhighlight lang="python" line start="55">
...
</syntaxhighlight>
highlight
O atributo highlight
especifica uma ou mais linhas que devem ser marcadas (destacando essas linhas com uma cor de fundo diferente).
Você pode especificar vários números de linhas separados por vírgulas (por exemplo, highlight="1,4,8"
) ou intervalos usando dois números de linhas e um hífen (por exemplo, highlight="5-7"
).
start
.def quick_sort(arr):
less = []
pivot_list = []
more = []
if len(arr) <= 1:
return arr
é o resultado de
<syntaxhighlight lang="python" line start="3" highlight="1,5-7">
...
</syntaxhighlight>
inline
Versão MediaWiki: | ≥ 1.26 |
O atributo indica que o código-fonte deve estar embutido como parte de um parágrafo (em vez de ser seu próprio bloco). Esta opção está disponível desde a versão 1.26 de MediaWiki.
class="nowrap"
(nas wikis que o suportam; veja abaixo) ou style="white-space:nowrap"
.Por exemplo:
O lambda x: x * 2
a seguir é uma expressão lambda (em inglês) em Python.
É o resultado de:
O <syntaxhighlight lang="python" inline>lambda x: x * 2</syntaxhighlight> a seguir é uma [[w:Lambda (programming)|expressão lambda (em inglês)]] em Python.
class
Quando inline
é usado, class="nowrap"
(nas wikis que o suportam; não no próprio MediaWiki) especifica que as quebras de linhas não devem ocorrer em espaços dentro do bloco de código.
Por exemplo:
Sem class="nowrap"
:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxlambda x: x * 2
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Com style="white-space:nowrap"
:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxlambda x: x * 2
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
style
O atributo style
permite que atributos de folhas de estilos em cascatas (F.E.C., C.S.S.) sejam incluídos diretamente.
Isso é equivalente a colocar o bloco em uma marcação <div>
(não <span>
).
O atributo tab‑size
não pode ser especificado dessa forma; ele requer uma marcação <span>
envolvente conforme descrito abaixo em Avançado.
Por exemplo:
def quick_sort(arr):
less = []
pivot_list = []
more = []
if len(arr) <= 1:
return arr
else:
pass
É o resultado de:
<syntaxhighlight lang="python" style="border: 3px dashed blue;">
def quick_sort(arr):
less = []
pivot_list = []
more = []
if len(arr) <= 1:
return arr
else:
pass
</syntaxhighlight>
Línguagens suportadas
A Pygments fornece suporte para realçar a sintaxe de centenas de linguagens de computador e formatos de arquivo por meio de vários "analisadores sintáticos" (lexicais, "lexers") incluídos na biblioteca.
Na maioria dos casos, o atributo lang=
a ser usado com esta extensão é a versão minúscula do nome da linguagem.
No entanto, muitos têm pseudônimos, ou "nomes curtos", como são chamados na documentação da Pygments; veja "analisadores sintáticos (lexicais, "lexers") disponíveis" para obter detalhes completos.
Algumas linguagens anteriormente suportadas por GeSHi foram mapeadas para os analisadores sintáticos (lexicais, "lexers") da Pygments; veja SyntaxHighlightGeSHiCompat.php
para detalhes.
A partir de janeiro de 2020, a lista completa de linguagens suportadas pela Pygments é:
Linguagens de programação
- ActionScript
- Ada
- Agda (incl. literate)
- Alloy
- AMPL
- ANTLR
- APL
- AppleScript
- Assembly (various)
- Asymptote
- Augeas
- AutoIt
- Awk
- BBC Basic
- Befunge
- BlitzBasic
- Boa
- Boo
- Boogie
- BrainFuck
- C, C++ (incl. dialects like Arduino)
- C#
- Chapel
- Charm++ CI
- Cirru
- Clay
- Clean
- Clojure
- CoffeeScript
- ColdFusion
- Common Lisp
- Component Pascal
- Coq
- Croc (MiniD)
- Cryptol (incl. Literate Cryptol)
- Crystal
- Cypher
- Cython
- D
- Dart
- DCPU-16
- Delphi
- Dylan (incl. console)
- Eiffel
- Elm
- Emacs Lisp
- Erlang (incl. shell sessions)
- Ezhil
- Factor
- Fancy
- Fantom
- Fennel
- FloScript
- Forth
- Fortran
- FreeFEM++
- F#
- GAP
- Gherkin (Cucumber)
- GLSL shaders
- Golo
- Gosu
- Groovy
- Haskell (incl. Literate Haskell)
- HLSL
- HSpec
- Hy
- IDL
- Idris (incl. Literate Idris)
- Igor Pro
- Io
- Jags
- Java
- JavaScript
- Jasmin
- Jcl
- Julia
- Kotlin
- Lasso (incl. templating)
- Limbo
- LiveScript
- Logtalk
- Logos
- Lua
- Mathematica
- Matlab
- Modelica
- Modula-2
- Monkey
- Monte
- MoonScript
- Mosel
- MuPad
- NASM
- Nemerle
- NesC
- NewLISP
- Nimrod
- Nit
- Notmuch
- NuSMV
- Objective-C
- Objective-J
- Octave
- OCaml
- Opa
- OpenCOBOL
- ParaSail
- Pawn
- PHP
- Perl 5
- Pike
- Pony
- PovRay
- PostScript
- PowerShell
- Praat
- Prolog
- Python (incl. console sessions and tracebacks)
- QBasic
- Racket
- Raku a.k.a. Perl 6
- REBOL
- Red
- Redcode
- Rexx
- Ride
- Ruby (incl. irb sessions)
- Rust
- S, S-Plus, R
- Scala
- Scdoc
- Scheme
- Scilab
- SGF
- Shell scripts (Bash, Tcsh, Fish)
- Shen
- Silver
- Slash
- Slurm
- Smalltalk
- SNOBOL
- Snowball
- Solidity
- SourcePawn
- Stan
- Standard ML
- Stata
- Swift
- Swig
- SuperCollider
- Tcl
- Tera Term language
- TypeScript
- TypoScript
- USD
- Unicon
- Urbiscript
- Vala
- VBScript
- Verilog, SystemVerilog
- VHDL
- Visual Basic.NET
- Visual FoxPro
- Whiley
- Xtend
- XQuery
- Zeek
- Zephir
- Zig
Template languages
- Angular templates
- Cheetah templates
- ColdFusion
- Django / Jinja templates
- ERB (Ruby templating)
- Evoque
- Genshi (the Trac template language)
- Handlebars
- JSP (Java Server Pages)
- Liquid
- Myghty (the HTML::Mason based framework)
- Mako (the Myghty successor)
- Slim
- Smarty templates (PHP templating)
- Tea
- Twig
Outras marcações
- Arquivos de configuração do Apache
- Apache Pig
- BBCode
- CapDL
- Cap'n Proto
- CMake
- Csound scores
- CSS
- Arquivos de controle do Debian
- Diff files
- Dockerfiles
- DTD
- EBNF
- Cabeçalhos de e-mail
- Extempore
- Flatline
- Gettext catalogs
- Gnuplot script
- Groff markup
- Hexdumps
- HTML
- HTTP sessions
- IDL
- Inform
- INI-style config files
- IRC logs (irssi style)
- Isabelle
- JSGF notation
- JSON, JSON-LD
- Lean theorem prover
- Arquivos de configuração do Lighttpd
- Registro do núcleo do Linux (dmesg)
- LLVM assembly
- LSL scripts
- Makefiles
- MoinMoin/Trac Wiki markup
- MQL
- MySQL
- NCAR command language
- Arquivos de configuração do Nginx
- Nix language
- NSIS scripts
- Notmuch
- POV-Ray scenes
- Puppet
- QML
- Ragel
- Redcode
- ReST
- Roboconf
- Robot Framework
- RPM spec files
- Rql
- RSL
- Scdoc
- SPARQL
- SQL, também MySQL, SQLite
- Configuração do Squid
- TADS 3
- Terraform
- TeX
- Thrift
- TOML
- Treetop grammars
- USD (Universal Scene Description)
- Varnish configs
- VGL
- Vim Script
- WDiff
- Arquivos de lote do Windows
- XML
- XSLT
- YAML
- Arquivos de registro do Windows
- ansys
- apdl
- asc
- gcode
- golang === go
- gsql
- jslt
- julia-repl
- kuin
- meson
- nestedtext
- nodejsrepl
- nt
- omg-idl
- output
- pem
- procfile
- pwsh
- smithy
- teal
- thingsdb
- ti
- wast
- wat
Analisadores sintáticos (lexicais, "lexers") suportados anteriormente por GeSHi
Abaixo está uma lista parcial de linguagens que GeSHi poderia destacar, com tachado para linguagens que não são mais suportadas após a mudança para a Pygments.
Analisadores sintáticos (lexicais, "lexers") anteriormente suportados por GeSHi | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Instalação
python3
) para ser instalada no servidor. Esta é uma mudança da versão empacotada com MediaWiki 1.30, que usava o Python versão 2 (python
). Observe que o binário python3
deve ser instalado no PATH de execução do interpretador PHP.- Baixe e coloque o(s) arquivo(s) num diretório chamado
SyntaxHighlight_GeSHi
na sua pastaextensions/
.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/SyntaxHighlight_GeSHi - Se estiver instalando a partir do git, execute o Composer para instalar as dependências PHP através de
composer install --no-dev
no diretório da extensão. (Veja tarefa T173141 para possíveis complicações.) - Adicione o seguinte código ao final do seu arquivo LocalSettings.php :
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
- No Linux, configure as permissões de execução para o binário pygmentize. Você pode usar um cliente de protocolo de transferência de arquivos (P.T.A., F.T.P.) ou o seguinte comando de shell para fazer isso:
chmod a+x /path/to/extensions/SyntaxHighlight_GeSHi/pygments/pygmentize
- Concluído – Navegue à página Special:Version em sua wiki para verificar se a instalação da extensão foi bem sucedida.
Instalação com Vagrant:
- Se estiver usando o Vagrant , instale com
vagrant roles enable syntaxhighlight --provision
Portanto, após a instalação a partir do Git, mude para o diretório que contém a extensão, por exemplo
"../extensions/SyntaxHighlight_GeSHi/"
e execute composer install --no-dev
, ou ao atualizar: composer update --no-dev
.Alternativamente, bem como de preferência, adicione a linha
"extensions/SyntaxHighlight_GeSHi/composer.json"
ao arquivo "composer.local.json" no diretório raiz de sua wiki, como por exemplo
{
"extra": {
"merge-plugin": {
"include": [
"extensions/SyntaxHighlight_GeSHi/composer.json"
]
}
}
}
composer update --no-dev
. Voilà!
Configuração
$wgSyntaxHighlightMaxLines
and $wgSyntaxHighlightMaxBytes
(optional): For performance reasons, blobs or pages (JS, Lua and CSS pages) larger than these values will not be highlighted. (since 1.40)
- Linux
$wgPygmentizePath
(opcional): Caminho absoluto para o pygmentize do pacote da Pygments. A extensão agrupa o pacote da Pygments e$wgPygmentizePath
aponta para a versão agrupada por padrão, mas você pode apontar para uma versão diferente, se desejar. Por exemplo:$wgPygmentizePath = "/usr/local/bin/pygmentize";
.
- Windows
- Se você estiver hospedando sua MediaWiki em uma máquina com Windows, você deve definir o caminho para o Pygmentize.exe
$wgPygmentizePath = "c:\\Python27\\Scripts\\pygmentize.exe";
- Se não houver
pygmentize.exe
, executeeasy_install Pygments
na linha de comando dentro da pastaScripts
para gerar o arquivo.
- Se não houver
Se você estiver usando o binário pygmentize incluído (extensions/SyntaxHighlight_GeSHi/pygments/pygmentize), certifique-se de que seu servidor da web tenha permissão para executá-lo.
Se o sua hospedagem (host) não permitir que você adicione executáveis ao seu diretório da web, instale python-pygments e adicione $wgPygmentizePath = pygmentize
a LocalSettings.php
.
- Resolução de problemas
Depois de atualizar para MediaWiki v1.26 e superior, alguns usuários começaram a relatar problemas com a extensão. Pode haver casos em que algumas linguagens, como Lua, podem não ser destacadas e, ao ativar a depuração, a MediaWiki lançaria o erro Notice: Failed to invoke Pygments: /usr/bin/env: python3: No such file or directory
.
- Tente apontar
$wgPygmentizePath
emLocalSettings.php
para um binário pygmentize externo.
- Em ambientes de hospedagem compartilhada com cPanel, isso pode ser feito configurando um novo aplicativo Python por meio do menu "Configurar aplicativo Python" ("Setup Python app") e ativando o ambiente virtual do aplicativo por meio de shell seguro (Sh.S., S.Sh.) (
source /virtualenv/python/3.5/bin/activate
). Depois disso, o módulo da Pygments pode ser adicionado ao aplicativo Python, para o qual navegue até o caminho do ambiente virtual (cd virtualenv/python/3.5/bin/
), baixe e instale a Pygments (./pip install Pygments
) e ative o módulo adicionando "Pygments" no campo "Aplicativos existentes" ("Existing applications") do menu "Configurar aplicativo Python" ("Setup Python app"). Isso criará o arquivo necessário no caminho:virtualenv/python/3.5/bin/pygmentize
- Em ambientes de hospedagem compartilhada com cPanel, isso pode ser feito configurando um novo aplicativo Python por meio do menu "Configurar aplicativo Python" ("Setup Python app") e ativando o ambiente virtual do aplicativo por meio de shell seguro (Sh.S., S.Sh.) (
- Veja phab:T128993 sobre isso para mais sugestões e informações.
- O SELinux também pode impedir que a extensão seja executada com um erro semelhante a
type=AVC msg=audit(1609598265.169:225924): avc: denied { execute } for pid=2360888 comm="bash" name="pygmentize" dev="dm-0" ino=50814399 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_user_content_t:s0 tclass=file permissive=0
em seu audit.log. Isso pode ser permitido comsetsebool -P httpd_unified 1
- Em versões anteriores dessa extensão, o Windows às vezes falhava com um erro _Py_HashRandomization_Init. Esta foi uma falha (bug) com o ambiente do Windows não sendo passado para execuções do python. Uma correção foi lançada na 1.40, com compatibilidade (backports) para a 1.38 e a 1.39.
Integração com o VisualEditor
O plug-in permite edição direta com o VisualEditor.
Uma pop-up é aberta quando um usuário deseja editar as seções da syntaxhighlight
.
Para que isso funcione, o VisualEditor deve ser instalado e configurado a partir da versão mais recente do Git, o mesmo para o Parsoid.
O recurso pode não funcionar com versões mais antigas do Parsoid.
Veja Extension:SyntaxHighlight/VisualEditor para detalhes
Avançado
Diferentemente das marcações <pre>
e <code>
, entidades de caracteres da linguagem de marcação de hipertexto (L.M.Ht., Ht.M.L.) como
não precisam (e não devem) ter o caractere &
escapado como &
.
Como a marcação <pre>
, mas diferentemente da marcação <code>
, as marcações dentro do intervalo (além de sua própria marcação de fechamento) não precisam ter o símbolo <
escapado como <
, nem o wikitexto precisa ser escapado com uma marcação <nowiki>
.
Além disso, enquanto <pre>
assume paradas de tabulação a cada 8 caracteres e renderiza tabulações usando espaços reais quando o texto renderizado é copiado, <syntaxhighlight>
usa paradas de tabulação de 4 espaços (exceto Internet Explorer, que usa 8) e preserva os caracteres de tabulação no texto renderizado ; o último pode ser alterado usando uma marcação <span style="-moz-tab-size: nn; -o-tab-size: nn; tab-size: nn;">
envolvente (não <div>
, e não usando seu próprio atributo style
).
O prefixo -moz-
é necessário para o Firefox (da versão 4.0 à versão 90) e o prefixo -o-
é necessário para o Opera (da versão 10.60 à versão 15).[2]
(Observe que a caixa de edição da wiki assume tabulações de 8 espaços.)
Isso se aplica apenas às páginas salvas reais; as visualizações geradas por meio de uma caixa de edição ou Special:ExpandTemplates podem ser diferentes.
Ver também
- Pygments — Python syntax highlighter
- Extensões dependentes desta:
- Extension:SyntaxHighlightPages — destaca páginas com base em sufixos dos títulos.
- Extensões alternativas:
- Extension:Highlightjs Integration — destacador de sintaxe que usa a biblioteca HighlightJS (inclui suporte para algumas linguagens que estão faltando na Pygments, como a Maxima).
- Extension:GoogleCodePrettify — destacador de sintaxe que usa a biblioteca Google Code Prettify.
- Extension:ExternalContent — incorporar conteúdo externo, como código do GitHub, GitLab e repositórios Bitkeeper com renderização automática de arquivos Markdown; e usar destaque de sintaxe por meio da biblioteca Prism.js para quase 300 idiomas suportados. Conteúdo indexado por CirrusSearch
Notas
Esta extensão está sendo usada(o) por um ou mais projetos da Wikimedia. Isto significa que, provavelmente, a extensão é estável e funciona bem o suficiente para ser utilizada(o) em sites da web de alto tráfego. Procure pelo nome dessa extensão nos arquivos de configuração CommonSettings.php e InitialiseSettings.php da Wikimedia para verificar onde ela foi instalada. Uma lista completa das extensões instaladas numa wiki em particular podem ser visualizadas na página Special:Version da wiki. |
Esta extensão está incluída nas seguintes fazendas/hospedagens (farms/hosts) e/ou pacotes wiki: Esta não é uma lista autoritativa (oficial). Algumas fazendas/hospedagens (farms/hosts) e/ou pacotes wiki podem conter esta extensão mesmo que não estejam listados aqui. Sempre verifique com suas fazendas/hospedagens (farms/hosts) ou pacotes wiki para confirmar. |