SyntaxHighlight Version2 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(概要)
(概要)
12行: 12行:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
syntaxhighlight2の例
 
<syntaxhighlight2 lang="javascript" line>
 
<syntaxhighlight2 lang="javascript" line>
 
Dim nVar = 0;
 
Dim nVar = 0;
20行: 21行:
 
print("nVar=" + nVar);
 
print("nVar=" + nVar);
 
</syntaxhighlight2>
 
</syntaxhighlight2>
 +
 だから何?
 +
 +
 +
 うんうん。わかるわかる。だから何だよね。うんうん。そうそう。そうだよ。だから何なんだよ。
 +
 +
 +
 pygmentにはpygmentizeというモジュールがありまして、このモジュールは絶体パスを抱えているので、各自で配置パスを含めたモジュールの再構成作業が必要です。syntaxhighlightの公式サイトで配布されているpygmentには、この再構成をするためのモジュールがバンドル(抱き合わせ)られていて、それを実行することでpygmentizeがいい感じになるそうな。なので
 +
 +
<syntaxhighlight2 lang="bash">
 +
>/use/local/bin/python3 ./create_pygmentize_bundle
 +
</syntaxhighlight2>
 +
 +
 という感じ、実行します。python3のインストールパスはそれぞれのレンタルサーバや専用サーバ、あるいは自前サーバで異なるので合わせてもらえればよいかと思います。自前でサーバを持っている人は、自分のサーバでpygmentizeをインストールして、使うこともできます。
 +
 +
 +
 もちろんMediaWiki Version1.19では、そのままでは全くピクリとも動きません。バージョンチェッカーを書き換えたり、そもそもMediaWiki自体にwfLoadExtensionという関数が無いのにこれらを作り込んでいく。MediaWikiServicesやServiceContainer。GlobalFuncion、DefaultSettings,ありとあらゆる関係するクラスをいじっていかないといけない。ものすごい作業量なのでここでは書けません。まずはLoad処理がうまく動作するところまで、動作を順に追っていく感じでした。Autoloadの方法も今のVersionと自分のVersion1.19とでは全然異なるし、ServiceWiringでwgXxxxxのグローバル変数の値を取得したりする処理がされていたり、MediaWikiの動きを追いながら追い詰める。load処理が出来上がると実際にsyntaxhighlight2拡張タグを入れてParserで呼び出される関数が何かを追いかけたりする作業をして、これまた少しづつ追い詰める。大変だったのが標準入力や標準出力の仕組みを知らなかったのでproc_openの使い方が全然わからなくて、辛かった。pipeってなんじゃって感じでした。

2020年7月8日 (水) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス