9

Octopress サイト用の Jekyll タグ プラグインに取り組んでおり、「メモ」要素を作成するのに役立ちます。このように、ブログの情報を補足として強調表示できるようにしたいだけです。

ここに画像の説明を入力

問題は、このタグのコンテンツを処理する方法 (つまり、Markdown または Textile) を理解できないことです。上記の画像は、実際にhtmlコードでリンクを作成した場合にのみ実現されます。コンテンツでマークダウンを使用すると、次のようになります。

ここに画像の説明を入力

私の投稿では、このような内容を書いています。

{% note %}
This is the third post in my Start to Finish series.  Last time I talked about [Git](/blog/2013/09/25/getting-started-with-git/).
{% endnote %}

これが私のプラグインコードです。これはイメージ タグ コードに基づいており、それほど多くはありません。

module Jekyll
  class NoteTag < Liquid::Block
    @title = nil

    def initialize(tag_name, markup, tokens)
      @title = markup
      super
    end

    def render(context)
      output = super(context)
      title = "Note"
      if !@title.empty?
        title += ": #{@title}"
      end
      "</section>\n<div class=\"note\"><span class=\"title\">#{title}</span>#{output}</div>\n<section>"
    end
  end
end

Liquid::Template.register_tag('note', Jekyll::NoteTag)

このタグのコンテンツでコンバーターを使用する方法を知っていますか? 私は通常、投稿に Markdown を使用しますが、このプラグインを他の人にもリリースしたいので、残りの Jekyll と同じように動的にしたいと考えています。

4

2 に答える 2

10

Jekyll 3.x : getConverterImplは非推奨になりました

コンバーターを取得するには、find_converter_instanceを使用します。

def render(context)
  text = super
  site = context.registers[:site]
  converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
 _output += "<figcaption>#{converter.convert(_caption)}</figcaption>"
于 2016-03-04T15:14:50.193 に答える