各テーブル タグにデフォルト クラスを追加できるように、 Parsedownの拡張機能を作成したいと考えています。関数に属性を割り当てる行を追加することで、ソース コードをうまくハッキングできることがわかりましたblockTable
(870 行あたり)。
$Block = array(
'alignments' => $alignments,
'identified' => true,
'element' => array(
'name' => 'table',
'handler' => 'elements',
'attributes' => array(
'class' => 'table',
),
),
);
ただし、Change Element Markup 拡張機能のチュートリアルに大まかに従おうとすると、失敗します (おそらく、テーブルの解析が反復プロセスである可能性があり、チュートリアルの例が単純な文字列の置換であるためです)。
私はもう試した:
class Extension extends Parsedown
{
protected function blockTable($Line, array $Block = null)
{
$Block = parent::blockTable($Line, array $Block = null);
$Block['table']['attributes']['class'] = 'table';
return $Block;
}
}
しかし、それはうまくいきません。