为什么我要在Jekyll引导程序的每个帖子中放入{%include JB / setup%}?

时间:2014-05-24 16:34:11

标签: jekyll jekyll-bootstrap

我正在使用Jekyll Bootstrap。我可以发一篇文章,但是我不知道为什么帖子模板会在每个帖子降价文件中放置{% include JB/setup %}。我对ruby和Jekyll知之甚少。但我检查一些文件,我可以理解一些代码。但我仍然不知道这意味着什么:

{% capture jbcache %}
  <!--
  - Dynamically set liquid variables for working with URLs/paths
  -->
  {% if site.JB.setup.provider == "custom" %}
    {% include custom/setup %}
  {% else %}
    {% if site.safe and site.JB.BASE_PATH and site.JB.BASE_PATH != '' %}
      {% assign BASE_PATH = site.JB.BASE_PATH %}
      {% assign HOME_PATH = site.JB.BASE_PATH %}
    {% else %}
      {% assign BASE_PATH = nil %}
      {% assign HOME_PATH = "/" %}
    {% endif %}

    {% if site.JB.ASSET_PATH %}
      {% assign ASSET_PATH = site.JB.ASSET_PATH %}
    {% else %}
      {% capture ASSET_PATH %}{{ BASE_PATH }}/assets/themes/{{ page.theme.name }}{% endcapture %}
    {% endif %}  
  {% endif %}
{% endcapture %}{% assign jbcache = nil %}

我已查看此question。我还是很困惑。所以这是我的问题:

  1. 为什么我要在Jekyll引导程序的每个帖子中加上{%include JB / setup%}?
  2. 我可以修改模板以删除每个帖子中的{%include JB / setup%}吗?

3 个答案:

答案 0 :(得分:1)

这是因为您使用的是命令rake post title="new post name"

参见Rakefile here

puts "Creating new post: #{filename}"
open(filename, 'w') do |post|
  post.puts "---"
  post.puts "layout: post"
  post.puts "title: \"#{title.gsub(/-/,' ')}\""
  post.puts 'description: ""'
  post.puts "category: #{category}"
  post.puts "tags: #{tags}"
  post.puts "---"
  post.puts "{% include JB/setup %}"
end

删除第post.puts "{% include JB/setup %}"行就可以了。

答案 1 :(得分:0)

这是因为JB /设置文件设置变量,如BASE_PATHASSET_PATH; 假设一个场景:在模板文件或html文件中,您有以下代码      那么你会发生错误。 这是因为ASSET_PATH的值不正确; 如果您像我一样使用Jekyll Bootstraps,您会在文件&#34; root_directory&#34; / _ config.yml中找到一些注释,以便您更好地理解:

# By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
# ex: [BASE_PATH]/assets/themes/[THEME-NAME]
#
# Override this by defining an absolute path to assets here.
# ex:
#   http://s3.amazonaws.com/yoursite/themes/watermelon
#   /assets
#
ASSET_PATH : false  

答案 2 :(得分:0)

不完全正确。

虽然这似乎是正确的,但它永远不会设置,即使在基本布局中,使用资产路径或类似标签也不适用于我。我建议删除它。并且正如它所说的那样添加'/'并且我已经错误地说了,这是不正确的。 './'更正确但jekyll似乎没有看到点。 (你指的是linux驱动的根目录,文件根本就没有)

谢谢你的澄清。它的存在是没有实际意义的,它是在主题“安装”期间添加的,这实际上是一种浪费。

如果您想要多个主题,则只需要layouts文件夹和“theme_packs”。否则,只是布局文件夹。这些包含适用于JB,如前所述,首先是存在的。

你需要bootstrap的唯一实例(这在jekyll的实现中是不正确的)就是让我们说一个菜单。

自举 css文件 javascript文件

与jekyll没什么关系。你必须自己实现这个。