【问题标题】:How do I add Attributes to Tables in Python-Markdown如何在 Python-Markdown 中向表中添加属性
【发布时间】:2013-09-19 17:43:13
【问题描述】:

遵循本文档:

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

这行得通:

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

我需要向表中添加类,但它不起作用:

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

有什么想法吗?

【问题讨论】:

    标签: python markdown pip


    【解决方案1】:

    您发现了 attr_listtables 扩展之间的不兼容。 <td> 是块级元素,所以默认情况下,attr_list 在下一行查找属性列表,而不是内联。我认为单元格元素有一个很好的例外情况(就像目前的标题元素一样),因为没有办法拥有带有tables 扩展名的多行单元格。

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

    块级解决方案:使用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_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 包兼容)是不现实的。如果你现在想实现这个方案,你可以安装my fork

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

    【讨论】:

      猜你喜欢
      • 2014-11-06
      • 2021-02-19
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多