2016-10-18 4 views
0

私はJekyllを理解しようとしています。jekyllとの投稿のタイトルと内容が異なるmathjaxが処理される

私はマークダウンプロセッサとしてKramdownを使用しています。

タイトルとコンテンツでmathjaxが処理される方法には奇妙な違いがあります。

は、私がこのような何かを記述する必要がポストの前の問題で\sqrt{x}

を書きたいと言う:

--- 
title: \(\sqrt x\) 
--- 

しかし、私は記述する必要が投稿の内容で:

\\(\sqrt x\\) 

タイトルに\\(\sqrt x\\)を付けると、ウェブページの表示が乱れることがあります。

私は投稿の内容に\(\sqrt x\)をすれば、私は(\sqrt x)

なぜ内のリテラルで、単一braketsを得るでしょうか?誰かがこの2つの文字列がどのように扱われ、なぜ扱われるのかについて説明することができますか?

答えて

1

フロントマーカ(メタデータ)のテキストはMarkdownとして解析されません。事実、ジキルはドキュメントからフロントマットを取り除き、それをKramdownに渡します。 Kramdownはフロントマターを見ることさえありません。したがって、あなたの「タイトル」はそのままの状態で渡されます。エスケープする必要はありません。役立つならば、フロントマターはMarkdownの一部ではありません。これはジキル固有のアドオンです。

対照的に、Markdownテキストでは、mathjaxをエスケープする必要があります。一部のmathjax構文はMarkdown構文と競合するため、パーサには何がmathjaxなのか、何がないのかを伝える必要があります。これは、mathjaxを適切な区切り文字で囲むことで実現します。 Markdownパーサは、コンテンツからエスケープ文字を取り除きますが、それ以外の場合はコンテンツを変更しません。

mathjax構文は実際に解析され、ブラウザ内のJavaScriptによって適切な書式に変換されます。 Kramdown/Jekyllによって生成されたHTMLには未解析のmathjax構文が含まれています。しかし、2つの異なる経路があるので、同じ出力に到達するには2つのやや異なる方法があります。

関連する問題