我正在写一个markdown扩展名,但是当我从python命令行运行它时:
>>> import markdown
>>> markdown.markdown('foo --deleted-- bar', ['myextension'])
我收到以下错误:
AttributeError: 'module' object has no attribute 'inlinepatterns'
在这一行:
md.inlinepatterns.add('del', del_tag, '>not_strong')
我已将markdown更新为2.3.1并且我在Python 2.6中运行它。解释器似乎找到我的mdx_myextension.py文件,因为tracebook反映它已注册扩展名。
答案 0 :(得分:1)
好像你用错误的名字引用属性。
使用inlinePatterns
代替inlinepatterns
。
答案 1 :(得分:0)
您可能需要导入markdown.inlinepatterns
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