パラグラフ指向化プラグイン。
PukiWikiでパラグラフ単位の編集をできるようにするプラグインです。
Pukiwiki1.4.7へのインストール方法です(1.4.4~1.4.6でも動作確認済み)
メイン処理(// Main)の直前に次の二行を追加
// 初期化: 設定ファイルの読み込み require(LIB_DIR . 'init.php'); // ↓↓ include_once(PLUGIN_DIR . 'paraedit.inc.php'); $post['msg'] = _plugin_paraedit_parse_postmsg($post['msg_before'], $post['msg'], $post['msg_after']); // ↑↑ ///////////////////////////////////////////////// // Main
<?php echo $body?>
を次の一行に置換(2箇所)
<?php include_once PLUGIN_DIR . 'paraedit.inc.php'; echo _plugin_paraedit_mkeditlink($body); ?>
実際には下記のように変更します。
<?php if (arg_check('read') && exist_plugin_convert('menu')) { ?> <table border="0" style="width:100%"> <tr> <td class="menubar"> <div id="menubar"><?php echo do_plugin_convert('menu') ?></div> </td> <td valign="top"> <div id="body"><?php include_once PLUGIN_DIR . 'paraedit.inc.php'; echo _plugin_paraedit_mkeditlink($body); ?></div>←ココ </td> </tr> </table> <?php } else { ?> <div id="body"><?php include_once PLUGIN_DIR . 'paraedit.inc.php'; echo _plugin_paraedit_mkeditlink($body); ?></div>←ココ <?php } ?>
ParaEdit(SxWiki)よりparaedit.inc.phpをダウンロードして、
pluginディレクトリ(./plugin)にparaedit.inc.phpをコピー
/lib/convert_html.php の編集
class Heading extends Element 内のfunction toString()にある、
return $this->msg_top . $this->wrap(parent::toString(), 'h' . $this->level, " id="' . $this->id . '"');
上の2行を下の3行に置換
$paraedit_flag = (preg_match("/^content_1_/", $this->id)) ? ' paraedit_flag=on' : ''; return $this->msg_top . $this->wrap(parent::toString(), 'h' . $this->level, ' id="' . $this->id . $paraedit_flag . '"');
Headers already sent at xxx/paraedit.inc.php line 285.
とエラーが出力されてしまう場合、paraedit.inc.phpの最終行の改行文字を削除してみてください。
"↑"と[edit]が2行に表示されるのが嫌なため、paraedit0.6aを見やすく改造で公開されているパッチを当てて、1行に表示されるよう変更しています。
106行目
define(_EDIT_LINK, '<div style="text-align: right; font-size: x-small; padding: 0px; "><a href="%s">[edit]</a></div>');
を次の1行に変更。
define(_EDIT_LINK, '<a href="%s">[edit]</a>');
243行目
$link = sprintf(_EDIT_LINK, $link);
を下記のように変更。
if(preg_match("/↑/", $line)){ $line = preg_replace("/<\/div>/", "", $line); $link = sprintf(_EDIT_LINK, $link) . "</div>"; }else{ $link = "<div class=\"jumpmenu\">" . sprintf(_EDIT_LINK, $link) . "</div>"; }