0

マークダウン拡張機能を作成していますが、python コマンド ラインから実行すると、次のようになります。

>>> import markdown
>>> markdown.markdown('foo --deleted-- bar', ['myextension'])

次のエラーが表示されます。

AttributeError: 'module' object has no attribute 'inlinepatterns'

この行で:

md.inlinepatterns.add('del', del_tag, '>not_strong')

マークダウンを 2.3.1 に更新し、Python 2.6 で実行しています。トレースブックが拡張機能を登録したことを反映しているため、インタープリターは私の mdx_myextension.py ファイルを見つけているようです。

4

2 に答える 2

1

間違った名前で属性を参照しているようです。inlinePatternsの代わりに使用しinlinepatternsます。

Python Markdown のドキュメント - 拡張 APIを参照してください。

于 2013-10-01T10:25:38.887 に答える
0

インポートが必要な場合がありますmarkdown.inlinepatterns

Markdown 拡張コード

import markdown
import markdown.inlinepatterns

DEL_RE = r'(--)(.*?)--'

class MyExtension(markdown.Extension):
    def extendMarkdown(self, md, md_globals):
        # Create the del pattern
        del_tag = markdown.inlinepatterns.SimpleTagPattern(DEL_RE, 'del')
        # Insert del pattern into markdown parser
        md.inlinePatterns.add('del', del_tag, '>not_strong')

def makeExtension(configs=None):
    return MyExtension(configs=configs)      

サンプルコード

import markdown
import mdx_myextension

if __name__ == "__main__":
    print markdown.markdown('foo --deleted-- bar', ['myextension'])

参照: http://achinghead.com/python-markdown-adding-insert-delete.html

于 2014-11-29T17:28:43.847 に答える