我试图为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。
有没有解决方案来实现这个目标?
答案 0 :(得分:0)
我在github上向mkdocs发布了一个问题,他们说现在不可能。所以我尝试了别的东西。因为我需要javascript函数中pre元素的id,它对onclick做出反应,我想通了,如何从那里访问pre内容。我很幸运地发现parentNode.previousElementSibling可以满足需要。事件的目标是具有onclick事件的元素。
elem = event.target.parentNode.previousElementSibling
希望,在类似情况下的任何人都明白我的意思: - )