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