امتداد "meta" للتخفيض عدم التحميل في Python2.6؟
سؤال
أحاول الحصول على امتداد META يعمل مع Marmdown في Python 2.6. الرمز يشبه هذا:
import markdown as m
print "Markdown version: ", m.version
file = "file.md"
md = m.Markdown( extensions = ['meta']) # doesn't complain
print "Registered extensions: ", md.registeredExtensions
text = open(file)
try:
md.convert(file)
except AttributeError as a:
print "Error: ", a
print "Meta: ", md.Meta
وملفي يبدو هكذا:
Title: Chaleur
Date: 2010-07-11
Author: Gui13
Simple md test
![Chaleur](../content/chaleur.jpg)
ما أود الحصول عليه هو شيء مثل 'title' : 'Chaleur', 'date' : '2010-07-11', 'author' : 'gui13'
عند طباعة md.Meta
.
ما أحصل عليه هذا:
$ python test.py
نسخة تخفيض: 2.1.0
ملحقات مسجلة: [
meta: {}
لذلك يبدو أن امتداد META لم يتم تحميله ، في حين أنه يجب أن يكون (من المفترض أن يتم تضمين META في Markdown منذ الإصدار 2.0).
هل تعرف ما هي المشكلة؟
المحلول
convert()
يتوقع النص. يحل محل md.convert(file)
بواسطة md.convert(open(file).read())
.
import markdown as m
print "Markdown version: ", m.version
file = "file.md"
md = m.Markdown(extensions=['meta']) # doesn't complain
print "Registered extensions: ", md.registeredExtensions
print "Preprocessors:", md.preprocessors.keys()
text = open(file).read()
try:
print md.convert(text)
except AttributeError as a:
print "Error: ", a
print "Meta: ", md.Meta
انتاج:
Markdown version: 2.1.0
Registered extensions: []
Preprocessors: ['meta', 'html_block', 'reference']
<p>Simple md test
<img alt="Chaleur" src="../content/chaleur.jpg" /></p>
Meta: {u'date': [u'2010-07-11'], u'author': [u'Gui13'], u'title': [u'Chaleur']}
لا تنتمي إلى StackOverflow