3

PowerMezzライブラリのHTML フィルタモジュールを試していて、関数の特定のインスタンスのフィルタ ルールをカスタマイズしたいと考えています。これは可能ですか?

たとえば、デフォルトではstyle属性が許可されていますが、この属性を削除したいと思います:

>> filter-html {<p style="color:red">A Para</p>}
== {<p>A Para</p>}

他の方法で許可されている他のいくつかのタグ/属性を制限するだけでなく。

4

1 に答える 1

3

モジュールを調べてfilter-htmlみると、すぐに答えはノーのようです --- 特定のインスタンスのフィルター オプションを変更する方法はないようです。

しかし、いくつかの実験の後、このようなことを可能にするために小さな変更を加えることができることを発見しました. ほとんどの属性処理はattributes-mapブロックを変更することでカスタマイズできますが、インライン スタイル属性はそのブロックでは処理されません。それらはcheck-attributes関数で具体的に扱われます。

これらの行をコメントアウトするとcheck-attributes、デフォルトですべてのスタイル属性が削除されます。

if value: select attributes 'style [
        append style value
]

フィルタリングしたくないものを の特定の html タグに追加する必要がありますattribute-map。元の のコピーをattribute-map作成し、変更を加えて を実行filter-htmlし、次のフィルタリング インスタンスの前に元に戻します。

于 2014-03-06T04:34:47.627 に答える