2011-02-02 23 views
16

インラインの構文強調表示をサポートするMediaWiki拡張機能はありますか? (通常のテキスト段落に埋め込まれたコードスニペットをサポート)インライン構文MediaWikiのハイライト

私は現在SyntaxHighlight GeSHiを使用していますが、インラインハイライトをサポートしているかどうかはわかりません。

There is <source lang="mylanguage" enclose="none">inline code</source> in this paragraph. 
+0

infoの場合:* not inline *の場合、最も簡単な解決策は、行頭にスペース文字を入れることです。 – Wikis

答えて

17

おそらくあなたが探しているものです。

第2に、タグ付き文字にスタイルを適用します。

Highlights like <span style="border:thin solid green; background: yellow;">this</span> really draw the eye.

+0

それは本当に動作します!しかし、1) 'code'の部分は小さく見えるし、2) ' code'のようなものはありません。実際には 'コード '? –

+1

アップデート:サポートされているタグは、互換性のためにはまだ動作していますが、 'インラインコード"になりました。また、[2015年6月](https://gerrit.wikimedia.org/r/#/c/218584/)以降、MediaWikiはGeSHiの代わりに[Pygments](https://en.wikipedia.org/wiki/Pygments)を使用しています。詳細については、https://www.mediawiki.org/wiki/Extension:SyntaxHighlightを参照してください。 – WinTakeAll

8

最も簡単な解決策が使用されています:<code>put your code here</code>

+0

ブラウザの設定(私が使用しているフォントを読む)と関係があるかどうかわかりませんが、差異、すなわち、通常のテキストとコードを区別する。 –

+0

@NikosAlexandris:強制的に別のブラウザとCtrl-F5を押してください。 – Wikis

+0

@Nikos:カスタムCSSスタイルを使用して、コード部分(http:// yourwiki/wiki/MediaWiki:Common.css)の外観を改善します。 – mivk

0

まず、あなたは最小限の変更で、インラインのためspan, code, source, div, p,などと気に文字をタグ付け、スパンをあなたの<source>タグにenclose="none"を追加することができます

0

は私が<pre></pre>とブロック全体を囲むことのフォーマット最高を示したことがわかった:ハイライトするために、あなたはおそらくbackground: yellow

例のような何かをしたいです。

0

<code>inline code</code>を使用するか、たとえば<syntaxhighlight lang="groovy" inline>inline code</syntaxhighlight>を入力している間は、このコードを入力することが非常に難しくなります。特に、多くのコードスニペットを扱う場合は非常に困難です。

wikiがあなたのコントロール下にある場合はextend its markupです。下の例は、メソッドを使用して、上記をそれぞれ<c>inline code</c><sg>inline code</sg>に短縮する方法を示しています。

MediaWiki拡張ディレクトリ(MW_HOME/extensions/)に新しい拡張子のCustomtagsディレクトリを作成してください。

<?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>'; 
} 

?> 

最後にLocalSettings.phpでこの拡張機能を登録し、あなたが行ってもいいです:あなたが大規模のため、短いタグを作成することができます。同様に

require_once "$IP/extensions/Customtags/customtags.php"; 

このディレクトリには次の内容のcustomtags.phpファイルを作成しますコードブロック

関連する問題