Jekyll Octopress HTML包含带参数的

Jekyll Octopress HTML包含带参数的,jekyll,octopress,Jekyll,Octopress,我希望在博客文章中包含HTML片段,并将代码放在一个地方。在仔细阅读了该框架之后,我已经能够实现这一点: source _includes custom foo.html {% include custom/foo.html %} 我的问题:有没有一种方法可以将参数传递给foo.html?我只是想传入一些字符串并以格式化的方式输出它们,但我无法找出我缺少了什么 谢谢你的时间。你不能。但是你可以用一些其他的方式,比如主题是怎么做的 首先,在custom/foo.html

我希望在博客文章中包含HTML片段,并将代码放在一个地方。在仔细阅读了该框架之后,我已经能够实现这一点:

source
  _includes
    custom
      foo.html

{% include custom/foo.html %}
我的问题:有没有一种方法可以将参数传递给foo.html?我只是想传入一些字符串并以格式化的方式输出它们,但我无法找出我缺少了什么


谢谢你的时间。

你不能。但是你可以用一些其他的方式,比如主题是怎么做的

首先,在
custom/foo.html
中设置所需的格式化样式,例如,我在
source/\u includes/custom/footer.html
中添加了
customfooter

<p>
  Copyright &copy; {{ site.time | date: "%Y" }} - {{ site.author }} -
  <span class="credit">Powered by <a href="http://octopress.org">Octopress</a></span>
  {{ site:customfooter }}
</p>
url: http://fann.im
customfooter: My custom footer, bala bala.

希望这能对您有所帮助。

因为杰基尔是静态的,所以没有办法做到这一点。根据定义,您可以从一个文件传递到另一个文件的任何内容都是已知值,因为它必须在站点生成时定义。由于不能传递动态值,这种间接方式没有意义,因为您可以将静态值放在它将要出现的位置

如果您有一个用例,例如生成10个基本相似但略有不同的输出块,那么使用插件来完成使用变量隔离这些更改的任务。这为您提供了一些灵活性,同时仍将值放入将使用它的模板中

下面是一个液体标签的示例,它抽象生成指定了特定HREF的twitter引导nav标签

module Jekyll
  class XmlJsonTabsTag < Liquid::Tag
    def initialize(tag_name, markup, tokens)
      @methodname = markup.strip 
      super
    end

    def render(context)
      #wondering what this syntax is? google "here document"
      <<-HTML
        <ul class="nav nav-tabs">
            <li class="active">
                <a href="##{@methodname}-json" data-toggle="tab">JSON</a>
            </li>
            <li>
                <a href="##{@methodname}-xml" data-toggle="tab">XML</a>
            </li>
        </ul>
      HTML
    end
  end
end

Liquid::Template.register_tag('xmljsontabs', Jekyll::XmlJsonTabsTag)
输出类似于

<ul class="nav nav-tabs">
  <li class="active">
    <a href="#foo-json" data-toggle="tab">JSON</a>
  </li>
  <li>
    <a href="#foo-xml" data-toggle="tab">XML</a>
  </li>
</ul>

正是我想要的。谢谢你的详细回答。
<ul class="nav nav-tabs">
  <li class="active">
    <a href="#foo-json" data-toggle="tab">JSON</a>
  </li>
  <li>
    <a href="#foo-xml" data-toggle="tab">XML</a>
  </li>
</ul>