0

不足しているプラ​​グインや、Jekyll 内で使用する方法が見つからないので、大量の html タグを手動で記述する必要はありませんか?

例は {% a href="blah %} です

これはレンダリングアウトします

 <a href="blah"></a>
4

1 に答える 1

1

簡単な答えはノーです。組み込みのものはありませんが、必要に応じて Jekyll を拡張するための規定があります。他の誰かがよく知っていない限り、私は喜んで間違っていると証明されます. 私が考えることができる2つのオプションがあります...

オプション 1: 組み込みのマークダウンを使用する

あなたがやろうとしていることの代わりに。<a>Liquid (あなたが使用しているもの) はタグをサポートしていないようです-ドキュメントの詳細については、こちらを参照してください

GitHub ガイドには、Markdown の使用方法の詳細が記載されています。

上記のリンクは GitHub 用ですが、Tom Preston-Werner (GitHub の共同創設者) が Jekyll を書いた人物であるため、Jekyll にも適用されます。おそらく、これは GitHub の内部的な必要性から生まれ、オープンソース化しても害はないと判断したためです。

GitHub ページを使用している場合は、カスタム スクリプトが実行されないため、このほうがよいかもしれません。

オプション 2: カスタム タグを作成する

プラグイン ページの公式Jekyll サイトにいくつかのドキュメントがあります。このようなもの:

# Define the custom tag, 'a_tag'
module Jekyll
  class RenderHyperlinkTag < Liquid::Tag

    def initialize(tag_name, text, tokens)
      super
      @url = text
    end

    # At a minimum, liquid tags must implement render which outputs
    # the contents of the tag
    def render(context)
      "<a href=\"#{@url}\"></a>"
    end
  end
end

# Register the new tag, 'a_tag'
Liquid::Template.register_tag('a_tag', Jekyll::RenderHyperlinkTag)

そして、あなたはこのようなものを持っているでしょう...

<!-- Usage -->
{% a_tag 'http://example.com' %}

<!-- Output -->
<a href="http://example.com"></a>

私は認めなければなりませんが、私はこれをテストしていないだけで、ドキュメントから得られるものから何を試すかについての高レベルの説明を提供しています. 試してみて、うまくいくかどうかを確認し、噴出する可能性のあるエラーを修正してください(私はこれを大まかに入力しました)。

于 2014-03-29T03:31:51.553 に答える