#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://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