表記、先日からちょっと話題にしていたプラグイン、リリースしました。pukiwikiプラグイン/tableedit作成&自分で使ってみた感じからの、感想メモ。ものすごく単純にいうと、ですね。『全てをそこで作れるWYSIWYG』ではなく『最初の雛形を作るまでのWYSIWYG』かな。これ以上を本気でやるならもっと気合いれないとダメだし、そうじゃないならこのあたりでいいや、という感じ。[-]表の基本構成を作るまでなら、このプラグインは結構便利だと思います。表の縦横構成・セル結合状態まで、のイメージ。表の「中身」に凝った修飾をするのは、現実的には結構厳しいです。それにあわせて一生懸命解析→コンバート処理を作ることも、ある程度は可能なんですが。それに加えてプラグインによって生成される部分もあるわけで、そこまでいくとかなり厳しい。最初の通り:このプラグインで、まず表としての体裁までは作りましょう。その後の細々した装飾は、pukiwiki機能で普通に作りましょう。・・・そんな感じですかね。†いろいろ検討を進めました。プロトタイプ的なものは動作しています。プラグインページにサンプルとして使えるようにしてあるので、興味があれば。細かい仕様不足がわかってきて。自体の解析などの深い検討をしないと苦しそうなので、どうしようか思案中。やったこと&課題のメモ的に。基本的な動きは、先日の日記にも書いたとおりですが。いろんな兼ね合いで「編集は別window」の実装としました。表データそのものは「別ページ」として設置。プラグインの「表示」処理の際には「表データページをインポート」し、加えて「編集開始」ボタンを表示する。編集開始ボタンは事実上その「表データページの編集」の開始操作になる。編集は「別のWIndowをポップアップ」してそちらで実施する。当初普通の編集同様に「当該pukiwiki画面を表編集状態に遷移」するようにするつもりだったのですが。(+スキン)とa-tableとがそれぞれ期待するスタイルシートが干渉してしまって、うまくいかなかった。ポップアップする画面は、a-tableのサンプルページとほぼ同じ構造。編集した表に対するデータプレビュー。サンプルでは「html」と「テキスト表的」なものでしたが、それらの代わりに「pukiwiki書式」を表示します。なくてもいいといえばいいのですが、まあ気分がいいので。「編集完了」ボタンを新設。これを押すと、以下のように動作します。編集中だった画面が「編集完了」表示に遷移。ここには次のものが表示されます。「編集完了」メッセージ。「編集された表データページ」を、実際に表示。「ボタンを押して元のページに戻れ」メッセージ&「元ページへ」ボタン。「元ページへ」ボタンを押すと、今のポップアップをクローズ&元ページリロード。「pukiwiki書式」の出力部分を改造追加しています。基本的には「テキスト表」ベースですが、以下のような点を追加・小細工しています。(+スキン)との間の「表HTML」解釈の差に起因するいろいろ。「HTMLの書式」を取り込むメカニズムを持っていますが、これは上記「前提となる書式」があって。想定とは異なる指定方法をされると、うまく取り込めません。「セルの背景色」指定。これを「セルのクラス名」として指定される想定。対してpukiwikiは「スタイル指定」になっている。いう形で「背景:赤」を認識しているかは友瀬調査の結果わかっていて。前述の「pukiwiki書式を出力する改造」にはそれを組み込んでいます。そのため、a-tableで背景色指定→出力されるpukiwiki書式には背景指定が入ります。結果的に「再編集」ができない、という問題を引き起こしています。「a-table使用して表編集、背景色つける」操作までは、うまくいくのですが。同じページを再編集しようとすると、その(再)編集画面では「背景色が消えている」状態になってしまいます。同じような問題が「セル内の改行(br)」「レイアウト(右寄せ・センター置き)」である。これらも再編集でアウト。↑というわけで、最初に挙げた課題。間の表HTML解釈の差」をどうするか。a-tableが読み取れるHTMLを吐き出させるか」。どっちも、それなりにハードル高いんですね。前者は、a-tableを解析しなければならず面倒だし。後者は、サーバサイドで2重書加工することになり格好悪いし、スキンとの相性問題も起きそう。