首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Octopress HTML包含参数

Octopress HTML包含参数
EN

Stack Overflow用户
提问于 2013-02-19 11:23:51
回答 2查看 414关注 0票数 2

我想包括在博客帖子中的HTML代码片段,并在一个地方的代码。在仔细研究了这个框架之后,我已经能够让它工作起来:

代码语言:javascript
复制
source
  _includes
    custom
      foo.html

{% include custom/foo.html %}

我的问题是:有没有一种方法可以将参数传递给foo.html?我只是想传入一些字符串,并以格式化的方式输出它们,但找不到我遗漏了什么。

耽误您时间,实在对不起。

EN

回答 2

Stack Overflow用户

发布于 2013-02-22 11:36:27

你不能这样做,但是你可以使用一些其他的方式,比如主题所做的那样。

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

代码语言:javascript
复制
<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>

然后,在_config.yml中设置要设置的字符串

代码语言:javascript
复制
url: http://fann.im
customfooter: My custom footer, bala bala.

希望这能对你有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2013-02-24 10:19:40

没有办法做到这一点,因为Jekyll是静态的。根据定义,您可以从一个文件传递到另一个文件的任何内容都是一个已知值,因为它必须在站点生成时定义。因为你不能传递动态值,所以这种间接性是没有意义的,因为你可以把静态值放在它本来要传递的地方。

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

这里有一个liquid标签的例子,它抽象了生成指定了特定hrefs的twitter bootstrap nav标签。

代码语言:javascript
复制
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)

在模板的liquid标签中传入要用于@methodname的值:

代码语言:javascript
复制
{% xmljsontabs foo %}

它输出的内容类似于

代码语言:javascript
复制
<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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14949298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档