45

Jekyll を使用しているときに、HTML ファイルにマークダウンをネストしようとしています。次のようなものを達成する方法はありますか?

# index.html

---
layout: default
---


<p>[Stack Overflow](http://www.stackoverflow.com)</p>

注:代わりにこれを行うことができることを認識しています。

# index.html

---
layout: default
---


<p><a href="http://www.stackoverflow.com">Stack Overflow</a></p>
4

7 に答える 7

78

クラムダウンを使用している場合は、ドキュメントに基づいて次のことができます。

<div markdown="1">
   My text with **markdown** syntax
</div>

このようにして、 内のテキストdivはマークダウンとしてレンダリングされます。

ファイルは処理のために Kramdown に送信されないため、ファイルの拡張子は必ず.mdまたはを使用してください。.markdown.html

于 2014-04-30T09:15:44.527 に答える
27

Jekyll プラグインでマークダウン ブロックを定義する方法は次のとおりです。

module Jekyll
  class MarkdownBlock < Liquid::Block
    def initialize(tag_name, text, tokens)
      super
    end
    require "kramdown"
    def render(context)
      content = super
      "#{Kramdown::Document.new(content).to_html}"
    end
  end
end
Liquid::Template.register_tag('markdown', Jekyll::MarkdownBlock)

(このスニペットをプラグインとしてインストールするには、ソース サイトのルートのディレクトリの*.rb下にあるファイルに配置します)_plugins

次に、次のように使用します。

{% markdown %}
[Stack Overflow](http://www.stackoverflow.com)
{% endmarkdown %}

編集: より良い解決策については、@Cristian の回答を参照してください。Kramdown を使用している場合 (Jekyll を使用しているため、おそらくそうです)、その機能を使用して、属性divを持つ 内のマークダウンをレンダリングできます。markdown="1"

于 2013-08-30T09:35:17.617 に答える
2

Markdown から HTML へのページのセクションを解釈できる JS コードについては、Paul Irish の Gistを参照してください。

于 2013-04-10T05:24:37.967 に答える