Podczas korzystania z <code>inline code</code>
lub, na przykład, <syntaxhighlight lang="groovy" inline>inline code</syntaxhighlight>
, pisanie w tym jest prawdziwym problemem, zwłaszcza jeśli masz do czynienia z wieloma fragmentami kodu.
Jeśli wiki jest pod Twoją kontrolą, możesz extend its markup. Poniższy przykład pokazuje, jak skrócić powyższe do <c>inline code</c>
i <sg>inline code</sg>
odpowiednio za pomocą metody tag extensions.
Utwórz katalog Customtags
katalogu dla nowego rozszerzenia w katalogu rozszerzeń MediaWiki (MW_HOME/extensions/
). W tym katalogu utworzyć plik customtags.php
o następującej treści:
<?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>';
}
?>
Wreszcie zarejestrować to rozszerzenie w LocalSettings.php
i jesteś dobry, aby przejść:
require_once "$IP/extensions/Customtags/customtags.php";
W podobny sposób można tworzyć krótkie znaczniki na większe bloki kodu.
Dla informacji: dla * nie wbudowanego *, najprostszym rozwiązaniem jest umieszczenie znaku spacji na początku linii. – Wikis