5

このドキュメントに従ってください:

http://pythonhosted.org/Markdown/extensions/attr_list.html

これは機能します:

### This makes a title {: .with-some-class }

テーブルにクラスを追加する必要がありますが、うまくいきません:

| Title | blabla 
-----------------
| foo   | bar {: .with-some-class }

何か案は?

4

1 に答える 1

1

attr_listとのtables拡張機能の間に互換性がないことがわかりました。<td>はブロック レベルの要素であるため、既定でattr_listは、インラインではなく次の行で属性リストを検索します。tables拡張機能を使用して複数行のセルを作成する方法がないため、(現在ヘッダー要素にあるように) セル要素の例外には適切なケースがあると思います。

どのソリューションを実装するかを決定するには、新しいテーブル形式に切り替える手間と、開発版の python-markdown に切り替える手間を比較検討する必要があります。

ブロック レベルの解決策: ではなく使用grid_tables(tables推奨)

複数行のセルをサポートするサードパーティの Grid Tables 拡張機能を入手し、次のように属性リストを独自の行に配置します。

+-------+----------+-------------------------------+
| Title            | blabla                        |
+=======+==========+===============================+
| foo   | bar                                      |
|       | {: class="foo bar" title="Some title!" } |
+-------+------------------------------------------+

出力:

<table>
<thead>
<tr>
<th colspan="2" rowspan="1">
<p>Title</p>
</th>
<th colspan="1" rowspan="1">
<p>blabla</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="1" rowspan="1">
<p>foo
</p>
</td>
<td colspan="2" rowspan="1">
<p class="foo bar" title="Some title!">bar</p>
</td>
</tr>
</tbody>
</table>

インライン ソリューション:attr_listと互換性があるように変更しますtables

attr_list次の行を attr_list.py に追加することで、セル要素のインライン属性リストをサポートできます。

if not m and elem.tag == 'td':
    m = re.search(self.BASE_RE, elem.text)

残念ながら、これらの拡張機能は両方とも、extrapython-markdown に組み込まれている の一部です。それらは内部モジュールに依存しているため、独自の拡張機能 (現在の pip パッケージと互換性があるもの) を作成することは現実的ではありません。このソリューションを今すぐ実装したい場合は、 my forkをインストールできます。

注:セルの内容と属性リストの間にスペースを残すことはできません(質問で行ったように)。

于 2013-10-27T05:47:39.957 に答える