[Fswiki-dev] Re: HTMLParser.pmへの機能 追加

Back to archive index

Satoru Kitaguti kitag****@mail*****
2005年 5月 17日 (火) 23:25:01 JST


北口です。

> > 3.強制改行
> >  $br_mode=0(デフォルト)では改行は無視されますが、行末に<BR>を置いた場
> >  合のみ改行できるようにしました。
> 
> こういった書式はパーサを直接改造するよりもフォーマットプラグインとbrプラグインを
> 組み合わせて実現したほうがいいと思います。柔軟性も高くなりますし。

強制改行って美しくないのですが、利用側から見れば必須機能に思われるため、
導入してみました。
確かに、私の強制改行機能の実装は美しくありませんので、他に方法があれば
その方が良いでしょう。

> > 5.下線や強調などの文字修飾要素
> ネストはPDFJの制約があり、現状では意図的にサポートしていません。

なるほど。では PDFParser.pm を提供するなどしてPDF出力とも共存できるよ
うにすれば、将来的に下線や強調のネストもサポートできるようになるかも、
ということですね。

> > 6.プラグイン
> HTML形式の場合、インラインタイプとパラグラフタイプの違いは倫理的なも
> のというか、ブロック要素を出力するプラグインをインラインで書けるよう
> にしてしまうとHTML的におかしな出力になってしまうので、それを抑止する
> 目的で区別しています。

HTMLのパラグラフって<P>のことですよね。パラグラフプラグインって、必ず
<P>を出力しなければいけないものだったでしょうか?
ブロック要素を出力するものと考えると、HTML的にブロック要素は文中に書け
るので、以下は正しい記述となるでしょう。

:: 文中に書かれたパラグインプラグインの例
::: {{ref file}}
::: refはパラグラフプラグインです。

ただし、<DT>要素にはinline要素しか書けないので、パラグラフプラグインを
書くのは誤りです。こうしたHTML文法エラーをFsWikiがチェックしなければい
けないでしょうか?

:: {{ref file}}
::: これは誤り。

{{lastmodified}}プラグインはインラインプラグインですが、<P>を出力しま
す。これは誤りですよね。

心意気は分かるのですが、HTMLってそんなに単純では無いので、正しいHTMLを
出力するのは、いくぶんあきらめ(Wiki利用者やPlugin作者に任せ)た方が良い
のでは?と思います。

もし可能なら、プラグインを多重定義できるようにし、HTMLのinline要素が要
求された場合、block要素が要求された場合、PDF出力の場合に、それぞれ異な
る出力ができるようにするのも良いかもしれません。



Fswiki-dev メーリングリストの案内
Back to archive index