ドキュメント Jekyll のテンプレート データを読むと、レンダリングされていないコンテンツにアクセスする方法は次のようになると思われるかもしれませんpage.content
。しかし、私が知る限り、これはマークダウンパーサーによって既にレンダリングされた投稿のコンテンツを提供しています。
単に html をマークダウンに変換しようとするのではなく、生の (元のマークダウン) コンテンツに直接アクセスするソリューションが必要です。
ユースケースの背景
私の使用例は次のとおりです: 私はpandoc プラグインを使用して Jekyll サイトのマークダウンをレンダリングし、「mathjax」オプションを使用してきれいな方程式を取得します。ただし、mathjax には JavaScript が必要なため、これらは RSS フィードに表示されません。次のpage.content
ようにループして生成します。
{% for post in site.posts %}
<entry>
<title>{{ post.title }}</title>
<link href="{{ site.production_url }}{{ post.url }}"/>
<updated>{{ post.date | date_to_xmlschema }}</updated>
<id>{{ site.production_url }}{{ post.id }}</id>
<content type="html">{{ post.content | xml_escape }}</content>
</entry>
{% endfor %}
xml_escape
フィルターが示すように、ここpost.content
に html が表示されます。生のコンテンツを取得できた場合 (想像するpost.contentraw
など)、「webtex」オプションを指定して pandoc を使用するフィルターを簡単に追加して、RSS フィードを解析するときに数式の画像を生成できます。たとえば、次のようになります。
require 'pandoc-ruby'
module TextFilter
def webtex(input)
PandocRuby.new(input, "webtex").to_html
end
end
Liquid::Template.register_filter(TextFilter)
しかし、生のマークダウンではなく、html+mathjax で既にレンダリングされた方程式でコンテンツを取得すると、行き詰まります。マークダウンに戻すことは、mathjax を変換しない (単に文字化けするだけ) ため、役に立ちません。
助言がありますか?代わりに生のマークダウンを呼び出す方法は確かにありますか?