Markdown 无法组合 fenced_code 和 attr_list

Markdown fails combining fenced_code and attr_list

我正在尝试为 mkdocs 编写 markdown 文件并想要一个带有 pre 标签的 id 属性,生成为 fenced_code。如果我结合使用这两个扩展名,则没有预标记而是 p(段落标记):

import markdown

text = """# Welcome

This is *true* markdown text.

````python
a=5
print "Hello World"
````{: #hello }
"""

html = markdown.markdown(text, extensions= ['markdown.extensions.fenced_code', 'markdown.extensions.attr_list'])
print html

打印returns

<h1>Welcome</h1>
<p>This is <em>true</em> markdown text.</p>
<p><code id="hello">python
a=5
print "Hello World"</code></p>

但我预计

<pre id="hello"><code>...

在我实际使用的mkdocs下也是一样的。我需要使用 id 通过 javascript 和 运行 嵌入的 python 代码访问它。 有解决方案吗?

我在 github 上向 mkdocs 发布了一个问题,他们说目前不可能。所以我尝试了别的东西。因为我需要一个 javascript 函数中的前置元素的 ID,它对 onclick 做出反应,所以我想出了如何从那里访问前置内容。我很幸运地发现 parentNode.previousElementSibling 做了我想做的事。该事件的目标是具有 onclick 事件的元素。

elem = event.target.parentNode.previousElementSibling

希望,处于类似情况的任何人都能理解我的意思:-)