サマリ | ページ内の指定領域のみを編集対象とするプラグイン |
---|---|
リビジョン | 0.18 |
対応バージョン | 1.4.3 |
投稿者 | sha |
投稿日 | 2003-08-12 (TUE) 03:07:36 |
#areaedit([start|end|btn:<ボタンの名前>|nofreeze|noauth|collect[:<page>]]) &areaedit([nofreeze|noauth|preview[:<num>]]){<編集文字列>};
<編集文字列>: 編集対象。 start: 範囲の開始。省略できる。 end: 範囲の終了。これを引数とする記述ごと省略すると、子要素のみが対象に。 btn:<name>: <name>をボタン名に変更。 nofreeze: ページが凍結されていても、その範囲は凍結されてないようにできる。 noauth: ページに編集権限がなくても、その範囲は権限があるようにできる。 collect: 同じページ内のインライン型の編集対象を収集する。 collect:<page>: <page>で指定したページ内で編集対象を収集する。 preview: インライン型に限り、編集時に編集対象の直前の空行や見出しから編集対象までを表示(99行分探索)。 preview:<num>: previewに続けて「:」と数字を書くと、空行や見出しを探す最大行数を指定できる。
|&ref(http://pukiwiki.sourceforge.jp/image/pukiwiki.png);|&areaedit(){画像にコメント記入};|
【表示例】(区別のため赤字で示した)
-好きな食べ物は&areaedit(){冷やし中華でない冷麺};です。 -好きな食べ物は「&areaedit(){冷やし中華でない冷麺};」です。
【表示例】
- 好きな食べ物は冷やし中華でない冷麺[e]です。
- 好きな食べ物は「冷やし中華でない冷麺[e]」です。
#areaedit(collect) #areaedit(end)
#areaedit(collect:page2) #areaedit(end)
【表示例】(ただし実行後)
[収集] page2
- 画像にコメント記入
- 冷やし中華でない冷麺
- 冷やし中華でない冷麺
ページ内の好みの位置に次のように記述してください。
ここは編集対象外 #areaedit ここが編集対象 #areaedit(end) ここは編集対象外
ここは編集対象外 #areaedit ここは編集対象 ここは編集対象外。上に空行があるから。
ここは編集対象外 #areaedit ここは1番目の編集対象 #areaedit(end) ここは編集対象外。上にendがあるから。 #areaedit ここは2番目の編集対象 ここは編集対象外。上に空行があるから。 #areaedit ここは3番目異の編集対象 #areaedit(end) ここは編集対象外。上にendがあるから。
#areaedit -テストです。こんな風にコメントを記入 -- [[sha]] SIZE(10){2003-08-12 (火) 04:26:11} -#areaeditをコメントで入力しても無駄よん。 -- [[sha]] SIZE(10){2003-08-12 (火) 04:26:57} #comment #areaedit(end)
#addline(領域編集,below,btn:[編集領域追加])
#areaedit * 月 日の 食の献立 - #areaedit(end)
【表示例】
[編集領域追加][編集]
ここに添付しました。御利用下さい。
リビジョン | 作成日 | 内容 |
![]() | 2004/08/30 | Kuboonさんのパッチ適用 |
![]() | 2003/11/07 | debug/編集時の「テキスト整形のルールを表示する」リンクでトップページへ |
v0.16 | 2003/10/08 | XHTML1.1 validation check済み |
v0.15 | 2003/08/22 | ブロック型にcollect[:<page>]指定 |
v0.14 | 2003/08/21 | インライン型にpreview[:<行数>]指定 |
v0.13 | 2003/08/21 | debug/編集対象が空のときにメッセージが物騒 |
v0.12 | 2003/08/21 | インライン型にpreview引数 |
v0.11 | 2003/08/21 | debug/paraeditとの干渉を避ける |
v0.10 | 2003/08/20 | debug/更新の衝突関連 |
v0.9 | 2003/08/20 | インライン型収集機能。debug/更新衝突にちゃんと対応 |
2003/08/20 | ||
v0.7 | 2003/08/19 | インライン型でマウスカーソルで編集範囲表示 |
v0.6 | 2003/08/19 | debug/更新の衝突に伴うbugの応急処置 |
v0.5 | 2003/08/19 | debug/インライン型の凍結解除リンク[uf]にpageがない |
v0.4 | 2003/08/19 | インライン型に対応 |
v0.3 | 2003/08/12 | 凍結や編集権限の機能にちゃんと対応 |
v0.2 | 2003/08/12 | 凍結や編集権限の機能に対応 |
v0.1 | 2003/08/12 | edit.inc.phpとhtml.phpを利用して新規作成。debug。 |
選択肢 | 投票 |
使用している | 56 [投票] |
選択肢 | 投票 |
はい | 38 [投票] |
いいえ | 2 [投票] |
懸案事項としては、行数制限とかあった方がいいかな?
懸案事項2としては、ページが凍結されたり編集権限が設定されると、それと連動するモードも用意した方がいいかな?凍結からは自由になっても編集権限には従うべきかな?
inlineプラグインにすることってできないでしょうか? 表組みのセルごとに編集したいのですが(翻訳用途)、標準以外の特殊表プラグインってことでもいいんですが。
どうしよう。実は、&attachrefを作ったときにテキスト版も欲しいと考えたんですよね。&vote2のように編集したい箇所を引数(...)かbody{...}の中に記述する仕様で、そのテキストの右端に[e]のような編集用のリンクが出現するようなプラグイン。
・表示例:編集対象文字列[e]ただ、そのときはeditの仕組みが分かっていなかったので出来なかったのですが、最近areaeditで勉強したので今なら出来そうです。表記方法はこんな↓感じかな。
-表示例:&areaedit(noauth,nofreeze){編集対象文字列};これをテーブルの各セルに放り込んでおけば、セル単位の編集も可能になります。ちなみに、上の特殊表プラグインとはどんなイメージなのでしょうか?編集対象のセルはどうやって指定する?
イメージとしては、セルの最初に書いておくか区切り文字を変えると其のセルだけを編集できるって感じので、幅全体を指定セルで分割って感じを考えてました(専用cssを設けれなければならないので特殊な表プラグインと呼んでみました)。でも{}内に入れるのは最初だけだから上のような感じでもいけますよね。表組をプラグイン化するとなると結構表記などが大変そうなので今のバージョンではきついと思ってたりします。
状態 | 原文 | 訳 |
---|---|---|
検討待ち | PukiWiki is one of the powerful Wiki engines. | PukiWikiは、強力なWikiEngine の 1つです |
trackerでやる方がいいかなぁ?
その特殊表の実装は今の私には難し過ぎます。プラグインというよりは本体の改造ですからね。trackerだとページを作ってしまうので、その用途にはうっとうしいでしょうね。
areaedit と paraedit は、うまく共存するみたいですね。ここでデモってます。なんか編集の山だけど :)
すばらしい。早速、気になってたことを実験してみました。「areaeditで見出しを追加」してみました。paraeditがareaeditを分割してしてしまい、互い違いになってしまってます。誤動作はしてないようですが。。。areaeditのstartとendが分割されて気持ち悪いので、共存させる場合には、startだけ記述する方法をお勧めします。
了解です。クロスしたときにXMLとしてどうなっているかが興味を引きますね。
#areaedit(end)は単に「<div></div>」を吐き出すだけなので、startの数より多くても何も問題を起こさないのです(しかも、少なくても問題ない仕様ですし)。ただ、paraeditで見たときに、endがぽつんとあるのは、PukiWikiの記述としては気持ち悪いですよね。しかも、paraeditで役に立ってないように見える#areaedit(end)を削除すると、元のareaeditの範囲が変わってしまいますし。
areaedit.inc.php.4でインライン型に対応してみました。御利用下さい。テーブル内に記載するなら、自作プラグイン/addline.inc.phpと併用すると便利だと思いますよ。ボタンを押すだけでテーブルの行を追加できます。
ありがたく使っております。アートギャラ的に写真を添付しその下にコメント(タイトル/名前?)などを入れたいと考えております。しかし、テーブル内にインライン型で使うと最初の入力で改行もうまく表示されるんですが、再度編集すると改行が<br />に変わり改行されません。再再度編集すると & lt;br /& gt; になり改行できません。何か良い方法はありませんでしょうか?
まじですか!それは困りました。どうしたものでしょうか。。。「改行は出来ない仕様にする」という逃げを打つ手もありますが、改行は出来ないと不便ですよね。うーむ。
現象が再現しません。詳細に教えて下さい。ちなみに私のところでは問題ないようです。sha:areaedit.inc.php
ページは既に直しました。テーブルの右上のセルに大量のテキストが挿入されておりましたが、正常に動作していた模様です。右上のセルの[e]を探しあてて、中身を空にしたら直りました。
もしかしたら症状は、make_link.phpのバージョンに依存しているかもしれません。
ご指定の通り make_link.php を最新版に更新しましたら、動くようになりました。ありがとうございました。 申し訳ございませんでした。
ページがとんでもないことになっていた件ですが、更新の衝突に伴うバグだと分かりました。ありがとうございます。
areaedit.inc.php.6で応急処置しておきました。
いただきました。いい感じです。ただ文中だと編集開始場所が分からなかったりしますねぇ。文字色を変えれるといいのかなぁ?
そうですよねぇ。色変わった方がいいかな、とは思っていたのですが。。。内部から&colorでも呼びますか:-)
cssでカーソルもっていったら色変えるってできませんでしたっけ?
こんなのを見つけました。使えそうです。
areaedit.inc.php.7にて、やたら安易に対応。Javascriptだしブラウザに依存するかも。
a:hover これかなぁ?(http://ww3.tiki.ne.jp/~wakasa/link04.html ) Firebirdではちゃんと表示されました。css2で OKだっけなぁ? (javascript常時offだったりするもんで) リンクでないとだめなんですね。インラインの時は、文章がリンクになっていてマウスを載せると色が変わってクリックすると編集って感覚的に如何なんだろう? (うーん考えてみるとアクセシビリティ悪そうだなぁ inline areaeditって)
インライン型が便利かどうかは、やはり用途によりますね。私も使用を想定していた画像ギャラリーのコメントとしてはかなり便利なものになっているとは思うのですが。実は、各インライン型areaeditから編集対象文字列を抜き出して、まとめて展開するプラグインもあると便利かなぁ、なんて思ったりして。
とか言ってる間に作ってみた。areaedit.inc.php.10でブロック型の引数にcollectを指定すると、インライン型の編集対象を集めてきます。
編集対象範囲指定の件ですが、やはりテキストがリンクになってるというのは、あまりやりたくありません。とりあえず、現状のままということで、&areaeditの置き方を工夫して範囲が分かるようにしてみてください。
リンクの件了解。通常なら分かり易いので問題ないでしょう。a:hover で <a name> でも 表示可能なようですが、実装しているのは,mozilla系とopera7以降 のようです。
v0.7でのJavascriptでの実装の場合、XHTML1.1的にはどうなんでせう?
イベント属性はXHTML1.1で使えるもので大丈夫。また、Javascriptの本体は無い(イベント属性内に記載のみ)ので記述にも問題なさそうに思えます。
更新衝突の件ですが、areaedit.inc.php.9以前のバージョンでは、確かに更新の衝突は検出してくれますが、更新ボタンを押してしまうと、他人の更新を上書きしたり更新されなかったりなどの不具合がありますのでご注意下さい。一部分の編集とページ全体の更新チェックとの整合をとるのが難しかったのです。
ふと思ったのですが、翻訳に使うとなると原文を見ながら作業したいですよね。。。うーむ。
0.10おかしいです。編集時に内容が無いよう..(←おやじギャグ :) )
原因が見当つきません。症状が再現しません。なぜなんですかね。うーむ。
原因の見当がつきました。paraeditとの干渉です。干渉しないようにした(つもりの)ものをareaedit.inc.php.11に上げておきますので動作確認してみてください。paraeditで$post['msg']を作成していたのが問題だと想像されます(しかも内容が空なのでareaeditで内容が無い様な状態になっていた)。しかも、areaeditでそれを使うバージョンになってから発生したかもしれません。v0.11では、それを避けるように書いてみました。
0.7までは大丈夫。0.8,0.9,0.10 で だめ。 とりあえずサイトは、0.7まで戻しました。こちらのサイトは、編集および閲覧認証ON でコンテンツドリブンでその単語を置いていない状態です。 0.11いただきました。問題無いようです。ご苦労さまです。
areaedit.inc.php.12にて、インライン型のみにpreviewオプション追加。編集時に、編集対象の直前の空行や見出しからその編集対象までを表示します。翻訳のように編集対象の近くの文章も編集時に見たい場合に御利用下さい。また、ブロック型を含めて、最初の編集時からプレビュー表示するよう動作も変更しました。
コメント//の件ですが、PukiWikiの場合、phpと違って行頭に//が無いとコメントにならないみたいです。なんか混乱しそうですが。いずれにしても&areaeditは改行を許さないのでコメントは出来ないです。
そのようですね。そのための何もしないプラグインがどっかにあったような。
そういえば、こんなのが。自作プラグイン/null.inc.php
バグっぽい動作発見。&areaedit(){...};のbody内にて、bodyを使ったインライン型プラグインを用いると、閉じる範囲を間違えることがあるようだ。
症状が分かった。インライン型プラグインの場合には問題なくて、単なる} ;が出現した場合に&areaeditの閉じる位置を間違えます。というか、これはPukiWiki本体が間違えてしまうというのと等価なので仕方ないかな。
編集完了後、元の「編集」アンカへもどるっていうのを実装してみました。どうでしょう?patch_jump_to017.diff