2

Pandoc は、ドキュメントを解析するときに、メタデータ ブロックを含めます。メタデータ ブロックのタイトル部分は、Pandoc 固有のマークアップ データ型である [Inline] 型です。それをHtmlに変換して、そのテキストを送信HtmlドキュメントのHeader要素に直接埋め込む方法を見つけようとしています。

この変換を行うには、どの関数または関数の組み合わせが必要ですか?

[Inline] -> Html

[Str "My", Space, Str "Title"] -> ("My Title" :: Html)
  • Inline は、Pandoc で提供されているインライン マークアップのデータ型です。
  • Html は、Blaze Html によって提供される汎用の Html データ型です。

当面は、Str と Space を処理する関数をハックしますが、最終的にはすべての Inline コンストラクターを処理する方法が必要になることはわかっています。

4

2 に答える 2

4

あなたが欲しいのはこれです:

inlinesToHtml :: [Inline] -> Html
inlinesToHtml = writeHtml defaultWriterOptions . Plain
于 2012-10-30T18:19:35.373 に答える
3

Pandoc ( Data.Text.Pandoc.Sharedに付属していることがわかったヘルパー関数はわずかしかありません。あなたの例では、stringify必要なのは関数だけです (この関数は、書式設定を削除することに注意してください。ヘッダー要素に入るテキストでは重要ではありません)。

inlineToHtml i = (Data.Text.Pandoc.Shared.stringify i) :: Html
于 2012-10-30T14:29:57.513 に答える