2

各テーブル タグにデフォルト クラスを追加できるように、 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;
        }

}   

しかし、それはうまくいきません。

4

3 に答える 3