リンク切れ・消失 自作プラグイン Edit

paraedit.inc.php 0.6 Edit

とりあえずPukiWiki/1.3/自作プラグイン/ParaEditで作者のサイトが消失して落とせないと困っているらしい。一応、別サイトで利用するときに落としたものがあったのでここに置きます。

fileparaedit.inc.php

見出し単位の編集が可能になります。(通常はページ単位)

設置方法 Edit

設置方法

lib/pukiwiki.php に次のコードを追加

  • メイン処理(// Main)の直前に次の二行を追加。(paraedit 0.6以降)
    include_once('plugin/paraedit.inc.php');
    $post["msg"] = _plugin_paraedit_parse_postmsg($post["msg_before"], $post["msg"], $post["msg_after"]);
    バージョンによっては(1.4.7等、PLUGIN_DIRが定義されたバージョンでは)
    include_once(PLUGIN_DIR . 'paraedit.inc.php');
    $post["msg"] = _plugin_paraedit_parse_postmsg($post["msg_before"], $post["msg"], $post["msg_after"]);

skin (skin/pukiwiki.skin.ja.php) の書換え

  • 次の一行に置換。(PukiWiki1.3.5は一箇所、1.4rc3は二箇所)
  • pukiwiki 1.4.5の場合はskin/pukiwiki.skin.php内の二箇所を書き換えて下さい。

変更前

<?php echo $body ?>

変更後

<?php include_once 'plugin/paraedit.inc.php'; echo _plugin_paraedit_mkeditlink($body); ?>
  • (注意) InputHelper と ParaEdit を併用する場合は下記の様にして下さい。
    php include_once 'plugin/input_helper.inc.php'; include_once 'plugin/input_helper.inc.php';
    echo plugin_input_helper_echo( _plugin_paraedit_mkeditlink($body) );
  • 1.4.7の場合(他でも同じ方法でいけるのかも)
  • skin/pukiwiki.skin.php
    pkwk_common_headers();
    の直前あたりに
    // ParaEdit
    if(exist_plugin('paraedit')) {
       $body = _plugin_paraedit_mkeditlink($body);
    }
    を追加。↑のもinclude_onceよりexist_pluginの方がスマートな気が。


convert_html() の書換え

  • lib/convert_html.php の編集。class Heading extends Element 内にある、
    return $this->msg_top.
    	$this->wrap(parent::toString(),'h'.$this->level," id=\"{$this->id}\"");
  • 上の二行を下の三行に置換。
    $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");
    • ちょっと補足:改変3行目の後ろの方にあるid=の一文字前は半角の空白が一つあります。空白を入れ忘れると、通常ページのh2やh3等のタグが機能しなくなってしまいます・・ (T-T

編集リンクの挿入箇所を指定 Edit

paraedit.inc.phpの書換え

  • 見出しの中、上、下と場所が簡単に変えられるよう3種類のコードが書かれているので見出しのの中に入れるように最初の「</h2>の前」の先頭にある//を削除して「<h2>の前」の先頭に//を加える。
    // 編集リンクの挿入箇所を指定
    //   <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>の後ろ

PukiWiki1.4.7「テキスト整形のルールを表示する」のリンクでエラー Edit

(paraedit.inc.phpの編集)

	// ヘルプ表示 : リンク書き換え
	$body = preg_replace("/(cmd=edit&amp;help=true)/", "plugin=paraedit&amp;parnum=$vars[parnum]&$1&amp;refer=" . rawurlencode($vars[page]), $body);

	// ヘルプ表示 : リンク書き換え
	$body = preg_replace("/cmd=edit(&amp;help=true)/", "plugin=paraedit&amp;parnum=$vars[parnum]$1&amp;refer=" . rawurlencode($vars[page]), $body);

に修正すると良いみたいです。 (^^;

  • ちょっと補足:括弧の位置を、cmd=edit直前から直後に移動しただけです。cmd=editの直前の括弧を消し忘れると、編集用のtextareaが表示されなくなる嬉しくないハプニングが (T-T

コメント Edit

  • 設置方法は確かこんな感じだったと思うのですが、siteDev改造時の覚書から引っ張てきて戻しているので間違っていたらごめんなさい。(マテ -- taru 2006-10-18 (水) 21:54:45
    • paraedit.inc.phpのソース中に説明書きがあったのか…orz。 -- taru 2006-10-19 (木) 00:29:46
  • paraedit 0.6 いただきました。助かりましたー -- [[ちー [heart] ]] 2007-02-20 (火) 17:37:17
    • いえいえー (^^) -- taru 2007-02-20 (火) 22:34:02
  • すごーーーーーく、助かりました。ありがとうございます -- [[たく [heart] ]] 2007-03-17 (土) 14:23:52
  • 全ての情報がこちらにそろっていたのに、お間抜けな私は気づかずこんな時間まで悩みまくりました(。ω。むきゅ~。とまれ、ミラー&解説感謝であります(。・_・。)b。 -- 石掘る猫? 2007-03-24 (土) 03:26:13
  • 頂きました。ここに来るまで上手くいかず悩んでました。。。ホントに感謝感謝です! -- 藍旋? 2007-05-01 (火) 00:59:04
  • 最後で解説している// 編集リンクの挿入箇所を指定 ですが、【paraedit.inc.phpの書き換え】と書いてくれると解り易いと思います。 -- kanti? 2007-06-07 (木) 11:18:02
    • ご指摘ありがとうございます。確かに解り難かったですね (^^; 追記しておきました。 -- taru 2007-06-07 (木) 19:43:45
  • skinの書き換えで
    php include_once 'plugin/input_helper.inc.php'; include_once 'plugin/input_helper.inc.php';
    php include_once PLUGIN_DIR . 'input_helper.inc.php'; include_once PLUGIN_DIR . 'input_helper.inc.php';
    としておくと、index.phpを別の階層等に移動した場合にも動作してくれそうです。 -- ぃぉぃぉ? 2007-06-29 (金) 02:45:43
  • このページに掛かってる制限を解除しましたので、再編集して頂けるとありがたいです。 -- taru 2007-06-29 (金) 08:30:32
    • 再編集ありがとうございました。
      こちらのページ内容は利用者で自由に編集できるように,このままにしておきますね。 -- taru 2007-06-30 (土) 11:26:05
  • このページのように鉛筆マーク位置につけるにはどうすれば良いですか? -- U? 2007-10-03 (水) 16:20:45
  • こちらのサイトはPukiWiki Plus!で提供されているPukiWikiの改造版です。
    PukiWiki Plus!を使ってWikiサイトを構築するのであれば、pukiwiki.ini.phpの設定変更だけで鉛筆マークの見出し編集を利用できます。
    本家PukiWikiで鉛筆マーク付見出し編集をしたい場合、次の方法が考えられるでしょう。
  1. paraedit.inc.phpの改造
    imageフォルダにparaedit.png画像を保存する
     *paraedit.png(鉛筆マーク)は、(paraedit.png)を保存して使ってください。

    Editと表示させている所を鉛筆マークに変更
    // 編集リンクの文字列・スタイルを指定
    //   %s に URL が入る
    define(_EDIT_LINK, '<a href="%s"><img src="./image/paraedit.png" width="9" height="9" alt="Edit" title="Edit" /></a>');
    見出しの中、上、下と場所が簡単に変えられるよう3種類のコードが書かれているので見出しのの中に入れるように最初の「</h2>の前」の先頭にある//を削除して「<h2>の前」の先頭に//を加える。
    // 編集リンクの挿入箇所を指定
    //   <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>の後ろ
  2. okkezさんのサイトで提供されている本体改造パッチを使って改造する。

    の2通りがあるかと思います。 -- taru 2007-10-03 (水) 20:23:39
  • 上のparaedit.inc.phpに鉛筆マークを表示する方法にて、いらないコード(スタイル変更用spanタグ)を消し忘れていたましたので修正しました。 -- taru 2007-10-13 (土) 14:59:16
  • 編集中に気づかず、ハマってしまった点を補足として追記しました。 (^^; -- token? 2007-10-07 (日) 18:04:06
    • ありがとうございます。一番無難なのが変更内容をコピペして頂く事ですかねぇ、変更点が多いと入力ミスが増えますから。 -- taru 2007-10-07 (日) 18:39:42
  • かなり長いページ(3万文字程度)をこのプラグインで見出し編集しようとするとエラーも出ずに編集できないのですが、何か改善方法はありませんか? 長いページこそ見出し編集したいのに困っています・・・ -- go? 2007-11-01 (木) 22:50:08
  • 以前にも同じような現象報告とサンプル(pukiwiki.dev:PukiWiki/1.3/自作プラグイン/ParaEdit/動作しないサンプル)があったので、私のテスト環境でも確認してみた事があるのですが、問題無く編集できます。
    この事から予想するとしたらpraedit.inc.phpは通常の編集より負荷が掛かるらしいので、文字数以外にページ数も多いPukiWiki構築サイトではparaeditでの更新プログラム実行中にPHPの制限時間に引っかかってしまいPHPによる強制終了が実行されたのではないでしょうか?
    もしかしたらPukiWiki公式サイトのように負荷の掛かる機能を削っていく事で、動作可能になるかもしれません。 -- taru 2007-11-02 (金) 00:07:54
  • 試してみたところ、PukiWiki 1.4.7、同じ量のページでPHP 4.4.2.だと問題なく、PHP 5.2.3.だと編集できなかったので、おっしゃるとおりPHPの問題のようですね。 -- go? 2007-11-02 (金) 03:45:40
  • paraedit.inc.phpの変更で 「[parnum]&$1&amp」 が 「[parnum]$1&amp」 と、&が抜けています。 これが抜けてると「テキスト整形のルールを表示する」でエラーが起きる様です(1.4.7_notbで確認) -- へろへろ? 2008-01-30 (水) 10:13:27
  • Pukiwiki1.4.6でparaeditを使っています。PHP5.2.5にあげたら編集エリアが表示されなくなってしまいました・・・paraeditをPHP5で稼動させている方はいらっしゃいますか? -- manbo? 2008-03-03 (月) 14:45:27

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS