2017-05-23 4 views
3

生成したHTMLにマイクロデータを追加しようとしましたが、attr_listという拡張子が見つかりました。それは私が必要とするほとんどすべてを行います。ここでmarkdown.extensions.attr_listを使用して空のタグを取得するにはどうすればよいですか?

は、私が使用しているサンプルコードです:

>>> text = """This is a paragraph. 
... {: itemscope itemtype="http://schema.org/Movie"} 
... """ 
>>> markdown.markdown(text, extensions=['markdown.extensions.attr_list']) 
u'<p itemscope="itemscope" itemtype="http://schema.org/Movie">This is a paragraph.</p>' 

私がいる一つの問題はitemscope="itemscope"です。 schema.orgによって提供さexamplesによると、それだけで次のようになります。

<p itemscope itemtype="http://schema.org/Movie">This is a paragraph.</p> 

私が得ている最も近い

u'<p itemscope="" itemtype="http://schema.org/Movie">This is a paragraph.</p>' 

があるので、出力を生成

text = """This is a paragraph. 
... {: itemscope="" itemtype="http://schema.org/Movie"} 
... """ 

ですこの拡張子を使用して、裸のタグ(これは等しくない場合はitemscopeのみ)として保存する方法はありますか?

答えて

5

むしろデフォルトxhtml形式よりも、(おそらくとにかくたい)html OUTPUT_FORMATを使用してください:XHTMLは、新しい辛さだったとき値下げが最初に戻って開発されたとして、規則およびリファレンス実装は、両方の期待

t = """This is a paragraph. 
... { itemscope itemtype="http://schema.org/Movie"} 
... """ 
>>> markdown.markdown(t, extensions=['attr_list'], output_format="html") 
u'<p itemscope itemtype="http://schema.org/Movie">This is a paragraph.</p>' 

XHTML形式の出力。 Python-Markdownは旧式のMarkdownパーサであるため、既定の出力形式としてXHTMLがデフォルトになっています(XHTML仕様では単にHTML4 specを参照していますので詳細を参照してください)。

デフォルト以外のhtml出力形式は、最近、HTML5を出力するように更新され、最小化された形式を使用します。

ところで、属性リストにコロンを含める必要はありません(上記の私の例を参照)。最近では、他の実装との互換性を保つためにオプションになっています。

関連する問題