PukiWiki関連

いろいろなプラグインの紹介や導入のしかたなど、まとめていきます。まだ整理中です。

簡易PukiWiki

PukiWikiを使い慣れない人が見ても、見やすいようにする方法を検討しました。この辺については自論ですので、ご参考ていどに。一応実際に某所で運用していますが…

メニュー削減

PukiWikiの上部にある各メニューを必要最低限にします。

[トップ] [編集 | 添付] [新規 | 一覧]

以上で十分だと思います。他の機能を使いたい場合は、下部残したアイコンメニューを利用することで対応します。

サイドメニュー排除

PukiWiki を特異に見せているのは、サイドメニューの更新リストです。更新リストだけ外すという手もありますが、敢えてサイドメニューごと外してしまうと、すっきりします。

pukiwiki.skin.php で、サイドメニュー部分のテーブルセルをコメントアウトすれば、実現できます。ただし、その分、各ページ間のリンクは、きちんと管理する必要が出てきます。

WikiName の自動リンクを無効にする

先頭が大文字の英単語を2つ以上連結した文字列を、WikiName といいます。

WikiName の例
WorldCup → WikiName です
WebSite → WikiName です
worldCup → WikiName ではないです

デフォルトの設定だと、こうした WikiName は全て自動的にリンクが張られてしまいます。もし該当するページがない場合は、末尾に「?」が付いて未決定リンクとなります。

正直なんでもリンクにされてしまうと鬱陶しいです。そこで、pukiwiki.ini.php を編集して、自動リンクを無効化します。

/////////////////////////////////////////////////
// _Disable_ WikiName auto-linking
$nowikiname = 1;

nowikiname の値を、0 から 1 に変更してください。存在しないページへのリンクがなくなったはずです。

しかし、それでもまだ自動生成されたリンクがあると思います。それも無効とするには、pukiwiki.ini.php を、次のようにします。

/////////////////////////////////////////////////
// AutoLink feature

// AutoLink minimum bytes (0 = Disable)
$autolink = 0;

autolink の値を、0 に変更してください。autolink の値の意味は、その数値より長いページ名があったら、全てリンクをするという意味です。もし、autolink の値が 2 だった場合、「魚」(2byte)というページがあると、ページ中の「魚」という単語にすべてリンクが張られてしまいます。なので初期値は、短すぎない程度の、8 になっていると思います。

paraedit プラグイン

導入

見出し単位で、編集できるようになります。

インストール方法は、上記ページを見ればわかります。うちは毎回勘違いするのですが、"pukiwiki.php" はトップ直下ではなく、"lib" 配下であることに注意してください。

paraedit 導入におけるマヌケな失敗

リストや引用(preタグ相当)の要素に、"--" を含めると、それ以降の文書がページ先頭に表示されるという現象が起きました。編集で見るとデータに異常はないため、表示処理で問題が起きているようです。

最初、pukiwiki本体もしくはプラグインのバグを疑ったのですが、調べてみると思いきり自分のせいでした(苦笑。もしかしたら、同じことをしてしまう人もいるかもしれないので、その顛末をまとめたいと思います。

一言で言ってしまえば、skin/pukiwiki.skin.ja.php の修正をするさいに、書き換えの変更前部分を下記のように HTML コメント化したのが原因です。div タグのボディの内容しだいで、このコメントが勝手に閉じられてしまい、表示に影響を与えていました。

<!--div id="body"><?php echo $body ?></div-->

横着せずに、HTML ではなく php でコメントアウトすれば良かったのですね(もちろん普通に消してしまっても良い)。やはり、下手な手抜きは大きなロスを生み出します。

guiedit プラグイン

導入

リッチテキストエディタで、編集できるようになります。

guiedit を使うためには、FCKeditor もインストールする必要があります。その辺の手順は guiedit のページに書かれているので、それに倣えば問題ないと思います。自分がダウンロードしたときには、FCKeditor は retired というステータスになっていましたが、後継版ではなく一応そちらをダウンロードしました。

guiedit に画像リンク機能をつける

guiedit には、一番欲しい機能であった、画像のドラッグアンドドロップによる画像リンク挿入機能がありませんでした。以下の修正で、機能追加できます。

pukiwiki/skin/guiedit/xhtml2wiki.php のなかで、以下の★印の行を、追加します。

// インライン要素
function Inline($line) {
        $line = $this->EncodeSpecialChars($line);
        $line = preg_replace("/\n/", "", $line);

        // 水平線
        if ($this->GetDiv() != 'Heading' && $this->GetDiv() != 'Table') {
                $line = preg_replace("/<hr(\sclass=\"full_hr\")?\s\/>/", "\n----\n", $line);
                $line = preg_replace("/<hr\sclass=\"short_line\"\s\/>/", "\n#hr\n", $line);
        }

★         // 画像リンク
★         $line = preg_replace("/<a.*?href=\"(.*?)\".*?>.*?<img.*?src=\"(.*?)\".*?>.*?<\/a>/", "[[&ref($2);>$1]]", $line);

上記の内容で、リッチテキストによる画像リンクをwiki記法に変換できます。一方、wiki記法による画像リンクをリッチテキストエディタに反映するには、wiki2xhtml.php も修正する必要があります。(編集するに当たって必須ではないので、自分は対応していません)


履歴


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-07-01 (日) 21:46:12