遵循本文档:
http://pythonhosted.org/Markdown/extensions/attr_list.html
这有效:
### This makes a title {: .with-some-class }
我需要向表中添加类,但它不起作用:
| Title | blabla
-----------------
| foo | bar {: .with-some-class }
有任何想法吗?
您发现了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)
不幸的是,这两个扩展都是extra
内置于 python-markdown 的一部分。它们依赖于内部模块,因此制作自己的扩展(与当前的 pip 包兼容)是不现实的。如果你现在想实现这个解决方案,你可以安装我的 fork。
注意:您不能在单元格内容和属性列表之间留下任何空格(就像您在问题中所做的那样)。