#author("2021-07-12T00:40:11+09:00","","")
#author("2021-07-12T00:40:43+09:00","","")
** code.inc.php [#b6b748ad]
|RIGHT:100|LEFT:360|c
|~サマリ|SyntaxHighlighterを利用したコードの装飾|
|~リビジョン|0.8|
|~対応バージョン|1.4.7|
|~投稿者|ubo|
|~投稿日|&new{2012-08-30 (木) 17:01:25};|

**概要 [#x09b95b0]
SyntaxHighlighter3.0もしくは2.1を使ってソースコードを装飾して表示します~
[[sh.inc.php>自作プラグイン/sh.inc.php]]をベースに[[highlight.inc.php>sonots:Plugin/highlight.inc.php]]を基にした改良を加え、独自機能を追加しました~
類似のPukiWikiプラグインと比べると
- オプションに対応
- SyntaxHighlighter3.0対応(2系でも可)
- 必要なものだけをロード
- js読み込みをヘッダーにて行う

などの特徴があります~
すでに同名のプラグインがありますが作者がこの名前を使いたかったので・・・~
使っている人は注意して下さい~
ライセンスは LGPL 3です

***ダウンロード [#m659029f]
ここ(%%http://www.emanong.net/pub/files/ema200.zip %%)からどうぞ~
本当はこのサイトに上げたいのですけどアップロードできないので

** 更新履歴 [#n15294b1]
|version|更新情報|h
|0.8|2012.08.30 初回版|

**使い方 [#xfa69b9a]
 #code(言語名,オプション1,オプション2,・・・){{
 ソースコード内容
 }}
- 指定できる言語名はSyntaxHighlighterに依存します~
参考 > http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/
- 言語名が無いとplainになります
- オプションは無くても動きますが、つける場合は言語名を必ず書いて下さい

**用例 [#f6886573]
 #code(php,first-line:7,tab-size:2){{
 <php?
 echo 'SyntaxHighlighter!';
 ?>
 }}

''注意点''~
}}がコードの一行中に存在したら改行して分ける、もしくは文頭と文末の{と}の数を増やすこと~

** オプション参考 [#m6c10847]
 gutter:false      行頭番号無し設定
 first-line:7      行頭番号の開始値
 highlight:[1.2]   指定した数値の行をハイライト(,ではなく.で区切ること)
 tab-size:4        tabインデントの幅サイズ設定
 auto-links:false  http://から始まるURL記述がアンカー対応になるのを回避
 collapse:true     ソース折りたたみ・展開(toolbar:trueも一緒に書く必要がある)
 gutter:false      行番号非表示
 smart-tabs:true   インデントがきれいにそろう
 html-script:true  HTML とスクリプトの混合をハイライト (必ず shBrushXml.js をロードすること)
 toolbar:false     ツールバーの非表示

** 導入 [#qa241f52]
+ pukiwiki.ini.php内
 define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 1); // 1 = Disabled
のときは0にしておく(複数行のプラグインを実行可能に)
+ code.inc.phpをダウンロードしてPlugin内に入れる
+ SyntaxHighlighter3.0を http&#x3a;//alexgorbatchev.com/SyntaxHighlighter/download/ よりダウンロード
+ 解凍して、中のscriptsとstylesフォルダを丸ごとPukiWikiのディレクトリのskin/sh/にコピー~

** その他 [#p0b336c8]
- Lua言語も使えるようにしてあります~
使う場合はshBrushLua.jsを見つけてきてscriptsにコピーすること~
※3.0に対応していないものも多く出回っているので注意。韓国のサイトで拾ったものが使いやすかったです~
- お好みでcode.inc.phpの中のSH_SKINの値を書き換えて好きなスキンにできます
- 2系で使う場合はcode.inc.phpを書き換える必要があります~
68行目
 $head_tags[] .= '<link type="text/css" rel="stylesheet" href="' . SH_PATH . 'styles/shCore' . SH_SKIN . '.css"/>
を
 $head_tags[] .= '<link type="text/css" rel="stylesheet" href="' . SH_PATH . 'styles/shCore.css"/>
として、72行目
 SyntaxHighlighter.defaults.toolbar = false;
を
 SyntaxHighlighter.config.tagName = "' . SH_TAG_NAME . '";
 SyntaxHighlighter.config.clipboardSwf = "' . SH_PATH . 'scripts/clipboard.swf";
と書き換えること

- html-scriptオプションを使いたい場合はcode.inc.phpの70行目あたりに
 <script type="text/javascript" src="' . $script . SH_PATH . 'scripts/shBrushXml.js"></script>
を加えるなどしてどこかでshBrushXml.jsを読み込んでおくこと~
htmlinsertプラグインを使ってもいいと思う~
裏技として
 #code(xml,collapse:true){{
 
 }}
を使うページに書いておくのもあり(3系)

** メモ [#w2361807]
- 吐き出すHTMLコードに無駄があるのと3.0から導入されたshAutoloader.jsに対応していないのが少し不満
- 3.0から導入されたTitleの設定をつけたい
- $sh_countなるグローバル変数?を勝手に作っている
- ライセンスに詳しくないためまずいことをしているかも~
他何かあったらコメントでお願いします

** コメント [#p55a3ca3]
- ローカル用でしたがせっかく作ったので投稿してみました。バグあるかもです~
公開する場所がなかったのでアップローダーにあげてます。消えてたらごめんなさい -- [[ubo]] &new{2012-08-30 (木) 18:01:26};
- 類似の自作プラグイン: [[自作プラグイン/sh.inc.php]] --  &new{2012-08-30 (木) 21:59:53};
- ページが削除されていたので復旧しました。 --  &new{2013-08-02 (金) 16:04:37};

- PukiWiki Plus のgit 最新版 + SyntaxHighLighter 3.0.83で動かしているのですが、auto-links のオプションが動作せず、常に<a> のHTMLコードが挿入されてしまいます。他のオプションは正常に動作しているようです。改善するのに何か良い方法はありますでしょうか。 --  &new{2013-08-02 (金) 16:08:51};
-- PukiWiki Plus! など、PukiWiki派生のものは当サイトでは管理しておりません。 質問などは、各サポートサイトでお尋ね下さい。 当サイトでのご質問はご遠慮下さい。 --  &new{2013-08-03 (土) 01:22:09};
- codeプラグインの代替: [[自作プラグイン/code_x.inc.php#code_alternatives]] -- [[umorigu]] &new{2021-07-12 (月) 00:40:43};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.224 sec.

OSDN