N.Katoh
typer_jp****@yahoo*****
2005年 4月 12日 (火) 22:53:07 JST
加藤です。 ふと思いついた事を送ってます。 On Tue, 12 Apr 2005 14:07:47 +0900 Naoki Takezoe <takez****@gmail*****> wrote: > 竹添です。 > > > ■複数行プラグインについて > > > {{pre arg1,arg2}} > > > ..... > > > {{/pre}} > > > > > > という記法を導入する。 まず、私もブロックプラグインの記法として上記のような形はいまいちとは思っ てました。 ただ、代案として良いものが浮かばなかったので特に発言してませんでしたが。 > On Apr 12, 2005 4:13 AM, ISHIDA Naoto <not20****@anet*****> wrote: > > 方針は大賛成ですが、記法については反対票を投じておきます。 > > もう少し練りこんだ記法を採用すべきだと考えます。 > > > > 伝統的なWikiでは行指向のパーザで完結する記法のみがサポートされていま > > した。実装が容易という利点はもちろんですが、ブロック型のマークアップ > > はWiki テキストを一見したときに文書構造が把握しにくくなるという欠点 > > があります。(そもそも文書構造を意識して書くことができる人なら、そん > > なことないと言われそうですが。意識せずとも構造的になるのが理想です。) > > > > それでもブロック型の記法は欲しいですから、その点を意識して、使いやす > > くしたいです。 > > > > 上記の欠点は[1]従来の記法との区別が付きにくく、[2]開始と終了が分かり > > にくくなりやすそうだということ、[3]さらに入れ子になった場合や、エス > > ケープのことがあまり考えられていないように思えることです。 > > [4]プラグイン引数が多く、長くなったときも、やはり見辛さが増してしま > > います。 > > > > YukiWiki2.1のバーベイタム機能の記法は考慮されていますね。 > > たけぞうさんからは既に却下された例の私の案はもう出しませんが、考慮し > > たつもりです。 > > [3]については、決め事で済ますこともできるので、必ずしも記法の問題で > > はないかもしれません。[4]は[2]と関連しています。 > > > > 要点はプラグインの記法そのものについて、文書の中で本文とは容易に区別 > > が付くこと=「簡潔で目立つ」ことが重要と思います。それには必要十分な > > 長さの文字列(同じ文字が3文字行頭に連続するなど)で、ある行では単独 > > で存在することがよさそうです。 > > 確かに従来の記法と区別がつきにくいという問題はありますね。 > 閉じタグのない従来のパラグラフプラグインなのか、ブロック記法のプラグイ > ンなのか一見で(閉じタグがあるかないかを確認しないと)わからないですね。 > 記法については改善の余地がありそうです。 で、思いついた代案として、ブロックプラグインの直後にある、(通常の整形済 みテキストが行頭に空白1つ以上ある連続した行をまとめてpreで囲むように)行 頭が空白2つ以上ある連続した行とする。ってのはどうでしょうか? これの利点は、 ・インデントされているのでブロックがわかりやすい。 前後を整形済みテキストに挟まれている時は例外ですが、他の記法のなかにあっ ても整形済みテキストと同様にわかりやすいと思います。そもそも、整形済みテ キスト自体ブロックプラグインの様なものですから。 ・そのプラグインを無効にした時、とりあえず整形済みテキストとして表示され、 表示が乱れにくい。 ブロックプラグインのとるブロックの内容は通常の記法的なもだったり他の wikiの記法のようなものだったりするかも知れません。もし、なんらかの事情で それまで使用していたブロックプラグインを無効にした場合に、書いた人もどの ような出力になるか判りにくいですし、見た人もどこが意図しない出力の範囲か 判りにくいと思います。 #効にされたプラグインはパラグラフなのかブロックなのかはパーサもその場 #で判りません。最悪最後までパースしてから判ります。 ・閉じ忘れがない 書き忘れてもパーサは困りません。 欠点 ・ソースコードのような物をカット&ペーストで張り付けて前後にブロックプラ グイン書くだけでそれっぽく表示とかにはならない。 この欠点を回避するために、どちらの記法もできるようにする手もあるかも。 では。 -- typer typer_jp****@yahoo***** Noboru Katoh typer****@chive*****