gpt4 book ai didi

python - 如何在 Python-Markdown 中为表格添加属性

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:49 31 4
gpt4 key购买 nike

遵循此文档:

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>是一个 block 级元素,所以默认情况下,attr_list在下一行而不是内联查找属性列表。我认为单元格元素有一个很好的异常(exception)情况(因为目前有标题元素),因为没有办法使用 tables 来处理多行单元格。扩展名。

要决定实现哪种解决方案,您必须权衡切换到新表格格式和切换到 python-markdown 开发版本的痛苦。

block 级解决方案:使用grid_tables而不是 tables (推荐)

捕获the third-party Grid Tables extension ,它支持多行单元格,并将您的属性列表放在自己的行中,如下所示:

+-------+----------+-------------------------------+
| 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_listtables 兼容

attr_list可以通过将以下行添加到 attr_list.py 来支持单元格元素上的内联属性列表:

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

不幸的是,这两个扩展都是 extra 的一部分,它内置于 python-markdown 中。它们依赖于内部模块,因此制作您自己的扩展(与当前的 pip 包兼容)是不现实的。如果你现在想实现这个解决方案,你可以安装 my fork .

备注:you cannot leave any space between the cell content and attribute list (正如您在问题中所做的那样)。

关于python - 如何在 Python-Markdown 中为表格添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18901540/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com