Meta-Data
初回公開:2018/01/01
最終更新:2018/01/13
「Meta-Data Extension — Python Markdown」のドキュメントをつたない翻訳,勝手な解釈。
【 目次 】
要約
Meta-Data extensionは、ドキュメントに関するメタデータを定義するための構文を追加します。
それはMultiMarkdownの構文に触発され、それに従います。
現在のところ、このextensionはメタデータを使用しませんが、ただ単に、他のextensionやPythonコードで直接使用するMarkdownインスタンスのメタ属性として提供します。
このextensionは標準のMarkdownライブラリに含まれています。
訳者による蛇足
MultiMarkdownというのは
- 「はじめてのMarkdown」サポート:変換ツール「MultiMarkDown」の使い方
MultiMarkDown」は、Markdown記法のファイルを「コマンド」でHTMLファイルに変換するツールです。
構文
メタデータは、以下のようなMarkdown文書の冒頭に定義された一連のキーワードと値で構成されます。
Title: My Document Summary: A brief description of my document. Authors: Waylan Limberg John Doe Date: October 2, 2007 blank-value: base_url: http://example.com This is the first paragraph of the document.
キーワードは大文字と小文字を区別せず、文字、数字、アンダースコア、ダッシュで構成され、コロンで終わらなければなりません。
値は、行のコロンの後に続くもので構成され、空白の場合もあります。
行が4つ以上のスペースで字下げされている場合、その行は前のキーワードの値の追加行と見なされます。
キーワードは、必要な数の行を持つことができます。
最初の空白行は、ドキュメントのすべてのメタデータを終了します。
したがって、文書の最初の行を空白にすることはできません。
あるいは、YAML形式のデリミネータを使用して、メタデータの開始および/または終了をマークすることもできます。
そうする際には、文書の最初の行は---とする必要があります。
メタデータは、最初の空白行、または終端デリミネータ(---またはどちらか...)のいずれか早い方を含む最初の行で終了します。
YAMLデリミネーターはサポートされていますが、メタデータはYAMLとして解析されません。
すべてのメタデータは、Markdownによる処理が行われる前に文書から削除されます。
訳者による蛇足
YAMLについては
使い方
extensionの一般的な使用法については、Extensionsを参照、extensionの名前として markdown.extensions.meta
を指定してください。
メタデータへのアクセス
メタデータは、MarkdownクラスのインスタンスのMeta属性にPythonの辞書(Dict)データとして利用可能になります。
たとえば、上記のドキュメントを使用して。
>>> md = markdown.Markdown(extensions = ['markdown.extensions.meta']) >>> html = md.convert(text) >>> # Meta-data has been stripped from output >>> print html <p>This is the first paragraph of the document.</p> >>> # View meta-data >>> print md.Meta { 'title' : ['My Document'], 'summary' : ['A brief description of my document.'], 'authors' : ['Waylan Limberg', 'John Doe'], 'date' : ['October 2, 2007'], 'blank-value' : [''], 'base_url' : ['http://example.com'] }
キーはすべて小文字で、値は各項目がそのキーの1行である文字列のリストで構成されています。
こうすることで、必要に応じて改行を保存することができます。
または、必要に応じて項目を結合することもできます。
データに関する仮定はありません。
見つかったものが単にMeta属性に渡されます。
おそらく、メタデータをテンプレートシステムに渡すことも、さまざまなMarkdown extensionで使用することもできます。
可能性は開発者の想像力に任されています。
互換性のあるExtensions
現在、次のextensionsがMeta-Data extensionで動作することが知られています。
サポートすることが知られているキーワードもリストされています。