自作プラグイン/areaedit.inc.php?
- sha
懸案事項としては、行数制限とかあった方がいいかな?
- sha
懸案事項2としては、ページが凍結されたり編集権限が設定されると、それと連動するモードも用意した方がいいかな?凍結からは自由になっても編集権限には従うべきかな?
- reimy?
freezeやedit_authへの対応は必要でしょうねぇ。
- sha
areaedit.inc.php.2にて対応してみました。引数にnoauthやnofreezeを指定すると、指定した範囲内だけ、凍結や編集権限から自由になります(編集権限の方は動作未確認)。#areaedit自体を凍結した範囲や編集権限の無い範囲に書くことになるので(指定範囲内に#areaeditは書けないため)、指定範囲内を安全にコントロールできる(はず)。
- merlin?
inlineプラグインにすることってできないでしょうか? 表組みのセルごとに編集したいのですが(翻訳用途)、標準以外の特殊表プラグインってことでもいいんですが。
- sha
どうしよう。実は、&attachrefを作ったときにテキスト版も欲しいと考えたんですよね。&vote2のように編集したい箇所を引数(...)かbody{...}の中に記述する仕様で、そのテキストの右端に[e]のような編集用のリンクが出現するようなプラグイン。
・表示例:編集対象文字列[e]
ただ、そのときはeditの仕組みが分かっていなかったので出来なかったのですが、最近areaeditで勉強したので今なら出来そうです。表記方法はこんな↓感じかな。
-表示例:&areaedit(noauth,nofreeze){編集対象文字列};
これをテーブルの各セルに放り込んでおけば、セル単位の編集も可能になります。ちなみに、上の特殊表プラグインとはどんなイメージなのでしょうか?編集対象のセルはどうやって指定する?
- merlin?
イメージとしては、セルの最初に書いておくか区切り文字を変えると其のセルだけを編集できるって感じので、幅全体を指定セルで分割って感じを考えてました(専用cssを設けれなければならないので特殊な表プラグインと呼んでみました)。でも{}内に入れるのは最初だけだから上のような感じでもいけますよね。表組をプラグイン化するとなると結構表記などが大変そうなので今のバージョンではきついと思ってたりします。
状態 | 原文 | 訳 |
---|
検討待ち | PukiWiki is one of the powerful Wiki engines. | PukiWikiは、強力なWikiEngine? の 1つです |
---|
みたいので訳だけを編集したかったりする訳なんですが..
- merlin?
trackerでやる方がいいかなぁ?
- sha
その特殊表の実装は今の私には難し過ぎます。プラグインというよりは本体の改造ですからね。trackerだとページを作ってしまうので、その用途にはうっとうしいでしょうね。
- merlin?
areaedit と paraedit は、うまく共存するみたいですね。ここでデモってます。なんか編集の山だけど 
- sha
すばらしい。早速、気になってたことを実験してみました。「areaeditで見出しを追加」してみました。paraeditがareaeditを分割してしてしまい、互い違いになってしまってます。誤動作はしてないようですが。。。areaeditのstartとendが分割されて気持ち悪いので、共存させる場合には、startだけ記述する方法をお勧めします。
- merlin?
了解です。クロスしたときにXMLとしてどうなっているかが興味を引きますね。
- sha
#areaedit(end)は単に「<div></div>」を吐き出すだけなので、startの数より多くても何も問題を起こさないのです(しかも、少なくても問題ない仕様ですし)。ただ、paraeditで見たときに、endがぽつんとあるのは、PukiWikiの記述としては気持ち悪いですよね。しかも、paraeditで役に立ってないように見える#areaedit(end)を削除すると、元のareaeditの範囲が変わってしまいますし。
- sha
areaedit.inc.php.4でインライン型に対応してみました。御利用下さい。テーブル内に記載するなら、自作プラグイン/addline.inc.php?と併用すると便利だと思いますよ。ボタンを押すだけでテーブルの行を追加できます。
- tot?
ありがたく使っております。アートギャラ的に写真を添付しその下にコメント(タイトル/名前?)などを入れたいと考えております。しかし、テーブル内にインライン型で使うと最初の入力で改行もうまく表示されるんですが、再度編集すると改行が<br />に変わり改行されません。再再度編集すると & lt;br /& gt; になり改行できません。何か良い方法はありませんでしょうか?
- sha
まじですか!それは困りました。どうしたものでしょうか。。。「改行は出来ない仕様にする」という逃げを打つ手もありますが、改行は出来ないと不便ですよね。うーむ。
- sha
現象が再現しません。詳細に教えて下さい。ちなみに私のところでは問題ないようです。sha:areaedit.inc.php
- sha
ページは既に直しました。テーブルの右上のセルに大量のテキストが挿入されておりましたが、正常に動作していた模様です。右上のセルの[e]を探しあてて、中身を空にしたら直りました。
- sha
もしかしたら症状は、make_link.phpのバージョンに依存しているかもしれません。
- sha
ページがとんでもないことになっていた件ですが、更新の衝突に伴うバグだと分かりました。ありがとうございます。
- merlin?
いただきました。いい感じです。ただ文中だと編集開始場所が分からなかったりしますねぇ。文字色を変えれるといいのかなぁ?
- sha
そうですよねぇ。色変わった方がいいかな、とは思っていたのですが。。。内部から&colorでも呼びますか:-)
- merlin?
cssでカーソルもっていったら色変えるってできませんでしたっけ?
- sha
こんなのを見つけました。使えそうです。
- sha
areaedit.inc.php.7にて、やたら安易に対応。Javascriptだしブラウザに依存するかも。
- merlin?
a:hover これかなぁ?(http://ww3.tiki.ne.jp/~wakasa/link04.html ) Firebirdではちゃんと表示されました。css2で OKだっけなぁ? (javascript常時offだったりするもんで) リンクでないとだめなんですね。インラインの時は、文章がリンクになっていてマウスを載せると色が変わってクリックすると編集って感覚的に如何なんだろう? (うーん考えてみるとアクセシビリティ悪そうだなぁ inline areaeditって)
- sha
インライン型が便利かどうかは、やはり用途によりますね。私も使用を想定していた画像ギャラリーのコメントとしてはかなり便利なものになっているとは思うのですが。実は、各インライン型areaeditから編集対象文字列を抜き出して、まとめて展開するプラグインもあると便利かなぁ、なんて思ったりして。
- sha
とか言ってる間に作ってみた。areaedit.inc.php.10でブロック型の引数にcollectを指定すると、インライン型の編集対象を集めてきます。
- sha
編集対象範囲指定の件ですが、やはりテキストがリンクになってるというのは、あまりやりたくありません。とりあえず、現状のままということで、&areaeditの置き方を工夫して範囲が分かるようにしてみてください。
- merlin?
リンクの件了解。通常なら分かり易いので問題ないでしょう。a:hover で <a name> でも 表示可能なようですが、実装しているのは,mozilla系とopera7以降 のようです。
- merlin?
v0.7でのJavascriptでの実装の場合、XHTML1.1的にはどうなんでせう?
- sha
更新衝突の件ですが、areaedit.inc.php.9以前のバージョンでは、確かに更新の衝突は検出してくれますが、更新ボタンを押してしまうと、他人の更新を上書きしたり更新されなかったりなどの不具合がありますのでご注意下さい。一部分の編集とページ全体の更新チェックとの整合をとるのが難しかったのです。
- sha
ふと思ったのですが、翻訳に使うとなると原文を見ながら作業したいですよね。。。うーむ。
- merlin?
0.10おかしいです。編集時に内容が無いよう..(←おやじギャグ
)
- sha
原因が見当つきません。症状が再現しません。なぜなんですかね。うーむ。
- sha
原因の見当がつきました。paraeditとの干渉です。干渉しないようにした(つもりの)ものをareaedit.inc.php.11に上げておきますので動作確認してみてください。paraeditで$post['msg']を作成していたのが問題だと想像されます(しかも内容が空なのでareaeditで内容が無い様な状態になっていた)。しかも、areaeditでそれを使うバージョンになってから発生したかもしれません。v0.11では、それを避けるように書いてみました。
- merlin?
0.7までは大丈夫。0.8,0.9,0.10 で だめ。 とりあえずサイトは、0.7まで戻しました。こちらのサイトは、編集および閲覧認証ON でコンテンツドリブンでその単語を置いていない状態です。 0.11いただきました。問題無いようです。ご苦労さまです。
- sha
areaedit.inc.php.12にて、インライン型のみにpreviewオプション追加。編集時に、編集対象の直前の空行や見出しからその編集対象までを表示します。翻訳のように編集対象の近くの文章も編集時に見たい場合に御利用下さい。また、ブロック型を含めて、最初の編集時からプレビュー表示するよう動作も変更しました。
- merlin?
おお すごいですね。翻訳編集の為にあるようなプラグインになってしまいました。
- sha
どう致しまして。使うかどうかはお任せします。自分でも納得いくものになったので自己満足してます ![[smile]](image/face/smile.png)
- merlin?
こちらも大満足です。翻訳の場合、XMLだったり SGMLだったりするので、翻訳支援ではそのあたりとの連係が次の課題だと思ってます。(環境よりも ドキュメント訳さないと...
)
- sha
コメント//の件ですが、PukiWikiの場合、phpと違って行頭に//が無いとコメントにならないみたいです。なんか混乱しそうですが。いずれにしても&areaeditは改行を許さないのでコメントは出来ないです。
- sha
バグっぽい動作発見。&areaedit(){...};のbody内にて、bodyを使ったインライン型プラグインを用いると、閉じる範囲を間違えることがあるようだ。