是否有一个插件/已经内置到Jekyll中的东西可以生成html标签?

时间:2014-03-29 02:06:54

标签: ruby jekyll jekyll-extensions

嘿伙计们有一个我缺少的插件或我在Jekyll中找不到的方法,所以我不必手动编写一堆html标签?

示例为{%a href =“blah%}

这将呈现

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

1 个答案:

答案 0 :(得分:1)

简单的答案是否定的,没有内置的东西,但是你有extend Jekyll for you needs的规定。除非别人知道得更清楚,否则我愿意被证明是错的。你有两个我可以想到的选择......

选项1:使用markdown,内置

而不是你想要做什么。 Liquid(你正在使用的)似乎不支持<a>标签 - see here来获取他们的文档中的更多信息

GitHub指南提供了有关如何使用Markdown的详细信息;

虽然上面的链接是针对GitHub的,但是自从Tom Preston-Werner(GitHub的联合创始人)以来,对Jekyll的申请就是编写Jekyll的人。可能是因为它诞生于GitHub的内部需求,并认为开源不会造成伤害。

哦,这可能会更好,因为如果你使用GitHub页面......他们不会运行任何自定义脚本。

选项2:撰写自定义标记

官方Jekyll site the plugin page上有一些文档。像这样:

# 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>

我必须承认,我还没有对此进行测试,只是对我尝试从文档中获取的内容进行了高级别的解释。试一试,看看它是否能正常工作并修复可能出现的任何错误(我松散地输入了这个错误)。