syntax highlighting - Resaltado de sintaxis en línea en MediaWiki
syntax-highlighting (5)
¿Hay alguna extensión de MediaWiki que admita el resaltado de sintaxis en línea ? (es decir, con soporte para fragmentos de código incrustados en párrafos de texto regular)
Actualmente utilizo SyntaxHighlight GeSHi , pero no estoy seguro de que admita el resaltado en línea.
Al usar <code>inline code</code>
o, por ejemplo, <syntaxhighlight lang="groovy" inline>inline code</syntaxhighlight>
funciona esto es un verdadero problema, especialmente si se trata de una gran cantidad de fragmentos de código .
Si la wiki está bajo su control, puede extender su marcado . El siguiente ejemplo muestra cómo acortar lo anterior a <c>inline code</c>
y <sg>inline code</sg>
respectivamente usando el método de extensiones de etiqueta .
Cree Customtags
directorio de Customtags
para su nueva extensión en su directorio de extensiones de MediaWiki ( MW_HOME/extensions/
). En este directorio, cree un archivo customtags.php
con el siguiente contenido:
<?php
$wgHooks[''ParserFirstCallInit''][] = ''customtagsInit'';
function customtagsInit(Parser $parser) {
// parameters: custom tag, custom renderer function
$parser->setHook(''c'', ''customRenderShortCode'');
$parser->setHook(''sg'', ''customRenderSourceGroovy'');
return true;
}
function customRenderSourceGroovy($input, array $args, Parser $parser, PPFrame $frame) {
$input = ''<syntaxhighlight lang="groovy" inline>'' . $input . ''</syntaxhighlight>'';
$wikiparsed = $parser->recursiveTagParse($input, $frame);
return $wikiparsed;
}
function customRenderShortCode($input, array $args, Parser $parser, PPFrame $frame) {
$wikiparsed = $parser->recursiveTagParse($input, $frame);
return ''<code>'' . $wikiparsed . ''</code>'';
}
?>
Finalmente, registre esta extensión en LocalSettings.php
y LocalSettings.php
listo:
require_once "$IP/extensions/Customtags/customtags.php";
De manera similar, puede crear etiquetas cortas para bloques de código más grandes.
Descubrí que encerrar todo el bloque con <pre></pre>
mostraba el mejor formato.
La solución más simple es usar: <code>put your code here</code>
Primero, etiquete los caracteres que le interesan con span, code, source, div, p,
etc. Para la línea con cambios mínimos, el span es probablemente lo que está buscando.
En segundo lugar, aplicar un estilo a los caracteres etiquetados. Para resaltar es probable que desee algo como background: yellow
Ejemplo:
Highlights like <span style="border:thin solid green; background: yellow;">this</span> really draw the eye.
Puede agregar enclose="none"
a su etiqueta <source>
:
There is <source lang="mylanguage" enclose="none">inline code</source> in this paragraph.