Markdown无法结合fenced_code和attr_list

时间:2016-09-22 10:07:21

标签: javascript python html markdown mkdocs

我试图为mkdocs写下markdown文件,并希望id属性带有pre标签,生成为fenced_code。如果我组合使用两个扩展名,则没有预标签,而是p(aragraph标签):

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

打印返回

<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代码机智skulpt。 有没有解决方案来实现这个目标?

1 个答案:

答案 0 :(得分:0)

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

elem = event.target.parentNode.previousElementSibling

希望,在类似情况下的任何人都明白我的意思: - )