PowerMezzライブラリのHTML フィルタモジュールを試していて、関数の特定のインスタンスのフィルタ ルールをカスタマイズしたいと考えています。これは可能ですか?
たとえば、デフォルトではstyle
属性が許可されていますが、この属性を削除したいと思います:
>> filter-html {<p style="color:red">A Para</p>}
== {<p>A Para</p>}
他の方法で許可されている他のいくつかのタグ/属性を制限するだけでなく。
モジュールを調べてfilter-html
みると、すぐに答えはノーのようです --- 特定のインスタンスのフィルター オプションを変更する方法はないようです。
しかし、いくつかの実験の後、このようなことを可能にするために小さな変更を加えることができることを発見しました. ほとんどの属性処理はattributes-map
ブロックを変更することでカスタマイズできますが、インライン スタイル属性はそのブロックでは処理されません。それらはcheck-attributes
関数で具体的に扱われます。
これらの行をコメントアウトするとcheck-attributes
、デフォルトですべてのスタイル属性が削除されます。
if value: select attributes 'style [
append style value
]
フィルタリングしたくないものを の特定の html タグに追加する必要がありますattribute-map
。元の のコピーをattribute-map
作成し、変更を加えて を実行filter-html
し、次のフィルタリング インスタンスの前に元に戻します。