シェアする

  • このエントリーをはてなブックマークに追加

[PukiWiki]見出しごとに編集できるようにする

概要

社内のリソース管理では、誰にでも扱いやすいという理由でpukiwikiを利用していますが、ページコンテンツが増えてくると編集がメチャクチャ面倒!という問題に直面しまして、何か言い方法はないかと探していたところ、見出しごとに編集できるプラグインがあることを知り早速入れてみました。

Pukiwiki 1.4.7
paraedit.inc.php 0.8

手順

  1. リンク切れ・消失 自作プラグイン – taru memoからparaedit_8.inc.zip.tgzをダウンロード
  2. 解凍したparaedit.inc.phpの文字コードを(ご自分の環境に合わせてね)EUCに変更
  3. lib/pukiwiki.phpに
    include_once(PLUGIN_DIR . 'paraedit.inc.php');
    $post["msg"] = _plugin_paraedit_parse_postmsg($post["msg_before"], $post["msg"], $post["msg_after"]);
    

    を追加

  4. skin/pukiwiki.skin.phpの
    pkwk_common_headers();
    

    の直前に

    // ParaEdit
    if(exist_plugin('paraedit')) {
    $body = _plugin_paraedit_mkeditlink($body);
    }
    

    を追加

  5. lib/convert_html.phpのHeadingクラスの
    function toString()
    {
    return $this->msg_top .  $this->wrap(parent::toString(),
    'h' . $this->level, ' id="' . $this->id . '"');
    }
    

    function toString()
    {
    $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");
    }
    

    に置換する

  6. paraedit.inc.phpを/pluginにコピー
  7. paraedit.inc.phpを
    ?省略?
    // 編集リンクの文字列・スタイルを指定
    //   %s に URL が入る
    define(_EDIT_LINK, '<div style="text-align: right; font-size: x-small; padding: 0px; "><span class="removed_link" title="%s">[edit]</span></div>');// 編集リンクの挿入箇所を指定
    //   <h2>header</h2> の時、$1:<h2>, $2:header, $3:</h2> となるので $link を好きな場所に移動
    // (例)
    //   define(_PARAEDIT_LINK_POS, '$1$2$link$3'); // </h2>の前
    define(_PARAEDIT_LINK_POS, '$link$1$2$3'); // <h2>の前
    //   define(_PARAEDIT_LINK_POS, '$1$2$3$link'); // </h2>の後ろ
    ?省略?
    

    ?省略?
    // 編集リンクの文字列・スタイルを指定
    //   %s に URL が入る
    //define(_EDIT_LINK, '<div style="text-align: right; font-size: x-small; padding: 0px; "><span class="removed_link" title="%s">[edit]</span></div>');
    define(_EDIT_LINK, '<span class="removed_link" title="%s"></span>');
    
    // 編集リンクの挿入箇所を指定
    //   <h2>header</h2> の時、$1:<h2>, $2:header, $3:</h2> となるので $link を好きな場所に移動
    // (例)
    define(_PARAEDIT_LINK_POS, '$1$2$link$3'); // </h2>の前
    //   define(_PARAEDIT_LINK_POS, '$link$1$2$3'); // <h2>の前
    //   define(_PARAEDIT_LINK_POS, '$1$2$3$link'); // </h2>の後ろ
    ?省略?
    

目次がまたソースコードのhタグ拾ってるけど、、、放置しますね。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする