&tag(PukiWiki); #contents *PukiWikiとは [#nc6669f8] PukiWikiは[[PHP]]で書かれたいわゆる WikiEngines のひとつ。 -[[PukiWiki公式サイト>http://pukiwiki.sourceforge.jp/]] -[[PukiWiki開発サイト>http://pukiwiki.sourceforge.jp/dev/]] -[[PukiWikiダウンロード>http://sourceforge.jp/projects/pukiwiki/]] *自作/改造プラグイン [#d6ee61d7] 自作プラグインおよび公開されているプラグインに独自の改造を施したものを公開しています。 -[[PukiWiki/Plugin]] *カスタマイズ [#zcf607f0] **プラグインなど [#w50a851e] 標準のもの以外に、以下のものをインストールしています。 :[[attachref.inc.php>[[pukiwiki:自作プラグイン/attachref.inc.php]]]]|添付とその場への参照を同時に行うプラグイン *インストールしているプラグイン [#p3b3a3e5] :[[ajaxtree.inc.php>http://www.revulo.com/PukiWiki/Plugin/AjaxTree.html]]|Ajax を用いたツリーメニュー :[[geshi.inc.php>http://www.revulo.com/PukiWiki/Plugin/GeSHi.html]]|GeSHi を利用してソースコードを色分け表示する。(Plus! へのインストール時の注意点は[[こちら>#hf717223]]) :[[counterlist.inc.php>http://www.revulo.com/PukiWiki/Plugin/CounterList.html]]|アクセスカウンタの一覧表をソートして表示 :[[pagename_cache.php>http://www.revulo.com/PukiWiki/Cache/PagenameCache.html]]|get_existpages() で得られるリストをファイルにキャッシュして負荷軽減 :[[Sonots' PukiWiki プラグインコレクション v2.1>http://sourceforge.jp/projects/lsx/releases]]|contentsx, get_title, includex, lsx, navix, popularx, readmore, tag, tagcloud, taglist が含まれたパッケージ。ファイル名の最後が ''x'' のものは標準プラグインの機能拡張版。tag 関係は [[カテゴリ機能>[[pukiwiki:Use PukiWiki/カテゴリー]]]] を便利にしたもの。 :[[tirenavi.inc.php>PukiWiki/Plugin/tirenavi.inc.php]]|同階層の前後ページへのリンクを自動的に表示(自作)。 **スキン [#s5aed155] P_BLOGのスキンを継承して、P_BLOGのコンテンツに見せかけています。 -[[P_BLOG/PukiWikiとの連携]] *負荷軽減 [#t84ab90c] :[[pagename_cache.php>http://www.revulo.com/PukiWiki/Cache/PagenameCache.html]]|get_existpages() で得られるリストをファイルにキャッシュして負荷軽減。 :[[get_existpages を3行で軽くする>hhttp://lsx.sourceforge.jp/?Hack%2Fget_existpages]]|get_existpages() で得られるリストをメモリにスタックすることで2回目以降の呼び出し時の負荷軽減。(上記 pagename_cache.php を適用していれば不要) ちょっと前まで使っていたスキンはこちら。 -[[PukiWiki/Skin]] *スキン [#y5d1ab48] :[[P_BLOG/PukiWikiとの連携]]|P_BLOGのスキンを継承して、P_BLOGのコンテンツに見せかけています。 :[[PukiWiki/Skin]]|以前使っていたスキンはこちら。 **UTF-8化 [#x20d6fe7] エンコードを標準の EUC-JP から UTF-8 に変更しています。((PukiWiki1.4.6時点で変更。現在は1.4.7 UTF-8版を使用。))~ 手順等はこちら -PukiWiki/UTF-8化 *本体の改造 [#ge5dbf27] **LastModified のフォーマット変更 [#d73c1d30] lib/html.php > catbody #geshi(PHP){{ - $lastmodified = $is_read ? get_date('D, d M Y H:i:s T', get_filetime($_page)) . - ' ' . get_pg_passage($_page, FALSE) : ''; + $lastmodified = $is_read ? get_date('M d, Y H:i:s', get_filetime($_page)) : ''; }} あるいは、日本語で表示したい場合は下記のように変更。 #geshi(PHP){{ $lastmodified = $is_read ? format_date(get_filetime($_page)) : ''; }} **入力支援 [#m3b9c827] [[pukiwiki.dev:PukiWiki/1.4/ちょっと便利に/Javascriptで入力支援]] で公開されているものを若干変更して利用させて頂いています。注意点は、lib ディレクトリの .htaccess を次のように変更する必要があること。(もしかしたらサーバーによって違うかもしれませんが) <FilesMatch "\.php$"> Order allow,deny Deny from all </FilesMatch> **本体の改造 [#r4d2f57b] ***ページトップへのリンクを表示する見出しレベルを制限 [#bbc49ee5] lib/convert_html.php~ class Body extends Element の getAnchor 最終行を変更 **ページトップへのリンクを表示する見出しレベルを制限 [#bbc49ee5] lib/convert_html.php > class Body extends Element : getAnchor 最終行を変更 - return array($text . $anchor, $this->count > 1 ? "\n" . $top : '', $autoid); + return array($text . $anchor, ($this->count > 1 && $level < 2)? "\n" . $top : '', $autoid); $level < 見出しレベル で、この見出しレベル以上ではページトップへのリンクを表示しない。(2にしているので、* では表示するが、** や *** では表示しない。) で、この見出しレベル以上ではページトップへのリンクを表示しません。(2にしているので、* では表示するが、** や *** では表示しない。) **XREAへの導入 [#z74616cf] [[XREACOM>http://www.xrea.com/]] に導入して上手く動かない場合は、[[pukiwiki:PukiWiki/Install/xrea.com]] の内容を試してみる。ただし、サーバーによって仕様が異なるため、この限りでは無さそう。 **リスト構造の左マージン設定解除 [#ta5a19d5] スタイルはスタイルシートで統一するため、HTMLに直接記述しないようにコメントアウトしました。~ default.ini.php #geshi(PHP,number,start=60){{ ///////////////////////////////////////////////// // リスト構造の左マージン /* $_ul_left_margin = 0; // リストと画面左端との間隔(px) $_ul_margin = 16; // リストの階層間の間隔(px) $_ol_left_margin = 0; // リストと画面左端との間隔(px) $_ol_margin = 16; // リストの階層間の間隔(px) $_dl_left_margin = 0; // リストと画面左端との間隔(px) $_dl_margin = 16; // リストの階層間の間隔(px) $_list_pad_str = ' class="list%d" style="padding-left:%dpx;margin-left:%dpx"'; */ **その他 [#l45be1a8] [[Revulo's Laboratory - PukiWiki/改造/本体>http://www.revulo.com/PukiWiki/Hack/Main.html]] を参考に、本体を弄っています。 ///////////////////////////////////////////////// }} *プラグイン変更 [#n281362f] **[[geshi.inc.php>http://www.revulo.com/PukiWiki/Plugin/GeSHi.html]] [#hf717223] PukiWiki Plus! で extend/plugin ディレクトリにインストールするために15,17行目を以下のように変更。 #geshi(PHP){{ // Directory path of GeSHi library if (!defined('PLUGIN_GESHI_LIB_DIR')) { - define('PLUGIN_GESHI_LIB_DIR', PLUGIN_DIR . 'geshi/'); + define('PLUGIN_GESHI_LIB_DIR', dirname(__FILE__) . '/geshi/'); } // Directory path of configuration files if (!defined('PLUGIN_GESHI_CONFIG_DIR')) { - define('PLUGIN_GESHI_CONFIG_DIR', PLUGIN_DIR . 'geshi_config/'); + define('PLUGIN_GESHI_CONFIG_DIR', dirname(__FILE__) . '/geshi_config/'); } }} **ajaxtree.inc.php [#yc288907] PukiWikiのディレクトリ構成をデフォルトから変更した場合に対応。 #geshi(PHP){{ // Directory path of cache files if (!defined('PLUGIN_AJAXTREE_HTML_DIR')) { - define('PLUGIN_AJAXTREE_HTML_DIR', 'html/ajaxtree/'); + define('PLUGIN_AJAXTREE_HTML_DIR', DATA_HOME . 'html/ajaxtree/'); } }}
AND OR