はじめに
今年にPukiWiki標準プラグインであるedit.inc.phpを改良してbetter_edit.inc.phpを開発したのだが、WikiChree.COMでしか動かないシステムとなっていたため、誰でも使えるように久しぶりに修正してみました。
このプラグインは、WikiChree.COM用にPukiWikiの編集画面を便利にしたいので作ったものでそれを改善して配布できるようにした感じです。利用するには少しだけPukiWiki本体改造をする必要があります。
プラグインの特徴
-
プレビューのタブ化
プレビューをタブで切り替えられるように -
添付ファイルのD&D/Ctrl+V対応
ファイルをドラッグ&ドロップしたり、クリップボードにある画像をCtrl+Vでそのまま貼り付けてページへ添付できるように -
添付ファイル一覧の表示
ページ内にある添付ファイルを一覧で確認できるように
導入方法
- 上記リンクからプラグインをDL
- PukiWikiの
plugin
フォルダに突っ込む
それだけ! ではなくて、このままじゃ編集ボタンを押してもデフォルトの編集画面になるので以下のように変更しなければならない
- lib/html.php 59行目
- $_LINK['edit'] = "$script?cmd=edit&page=$r_page";
+ $_LINK['edit'] = exist_plugin("better_edit") ? "$script?cmd=better_edit&page=$r_page" : "$script?cmd=edit&page=$r_page";
- lib/make_link.php 896行目
// Dangling link
if (PKWK_READONLY) return $s_alias; // No dacorations
$symbol_html = '';
if ($_symbol_noexists !== '') {
$symbol_html = '<span style="user-select:none;">' .
htmlsc($_symbol_noexists) . '</span>';
}
- $href = $script . '?cmd=edit&page=' . $r_page . $r_refer;
+ $href = $script . '?cmd=' . (exist_plugin("better_edit") ? "better_edit" : "edit") . '&page=' . $r_page . $r_refer;
if ($link_compact && $_symbol_noexists != '') {
$retval = '<a href="' . $href . '">' . $_symbol_noexists . '</a>';
return $retval;
} else {
$retval = '<a href="' . $href . '">' . $s_alias . '</a>';
return '<span class="noexists">' . $retval . $symbol_html . '</span>';
}
最後に
時間があったらいろいろな機能を付け加えたいと思ってたりします。
リアルタイム編プラグインとか作ったことあるんですけど入力時、毎回サーバーからプレビュー結果を取得するのでサーバーの負荷が多いかなって感じで。
なのでJavaScriptで擬似的にプレビューできたらいいなぁとか思ってたりします。