0

mkdocs のマークダウン ファイルを書き込もうとしていて、fenced_code で生成される pre タグ付きの id 属性が必要です。両方の拡張機能を組み合わせて使用​​する場合、事前タグはありませんが、ap(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でも同じです。javascriptを介してアクセスし、埋め込まれたpythonコードをsculptで実行するには、idが必要です。これを達成するための解決策はありますか?

4

1 に答える 1

0

github の mkdocs に問題を投稿しましたが、現時点では不可能であるとのことです。だから私は何か他のものを試しました。onclickに反応するjavascript関数のpre要素のIDが必要だったので、そこからpreコンテンツにアクセスする方法を見つけました。私は、parentNode.previousElementSibling が必要なことを行っていることを発見できて幸運でした。イベントのターゲットは、onclick イベントを持つ要素です。

elem = event.target.parentNode.previousElementSibling

願わくば、同等の状況にある人なら誰でも私の言いたいことを理解してくれるでしょう:-)

于 2016-09-30T08:53:40.790 に答える