Ruby 第一次';杰基尔';用户-理解困难';自举';主题
我是第一次Ruby 第一次';杰基尔';用户-理解困难';自举';主题,ruby,jekyll,Ruby,Jekyll,我是第一次jekyll和rubyuser-0体验。我正在处理这些问题,因为坦率地说,我只是想 我把我的实际问题贴在上面,因为这有很多要读的。所有细节都包括在下面 实际问题 这里发生了什么 我如何为我的Lanyon主题复制这个,这样我就不需要完全限定的名称了 如何将BASE_路径和ASSET_路径合并到我的Lanyon主题中 细节 我遵循了这里的所有说明 在大多数情况下,我并没有像我想象的那样迷失。但这就是结局。我在一些事情上有很大的差异,其中最重要的是这些全局变量的工作方式。我指的是基本路径和资
jekyll
和ruby
user-0体验。我正在处理这些问题,因为坦率地说,我只是想
我把我的实际问题贴在上面,因为这有很多要读的。所有细节都包括在下面
实际问题
BASE_路径
和ASSET_路径
合并到我的Lanyon主题中全局变量的工作方式。我指的是基本路径和资产路径
如果查看jekyll bootstrap
的\u config.yml
文件,一般结构如下所示,注释已删除
好的,他们说用与你的站点相关的信息替换这些值。这就是我被绊倒的地方
如果我下载一个不同的jekyll主题,这看起来有点不同。我引用了我在stackoverflow上发表的另一篇关于Lanyon的帖子,其中既没有基本路径也没有资产路径。尽管如此,我还是检查了其他主题,有些有,有些没有,但一致性并不存在
如果继续探索jekyll bootstrap
主题,您可以在\u includes/JB/
中找到一个名为setup
的特殊文件。该文件的内容如下:
然后你试着求助于这个
<link rel="stylesheet" href="{{ ASSET_PATH }}/css/site.css" />
您将获得正确的路径,即/assets/themes/bootstrap-3/bootstrap/css/site.css
,
或者对于另一个主题,比如我的lanyon
one,/assets/themes/lanyon/css/site.css
这似乎是所期望的行为,但正是设置
文件让我困惑,并扭曲了事情
依据;我被告知我应该调用ASSET\u PATH
,并对其主题进行限定,如下所示
{{site.Lanyon.ASSET_PATH}
或者,对于原始的引导主题,我想应该是
{{site.JB.ASSET_PATH}
现在我们回到设置
文件;在jekyll bootstrap
主题中,我们可以转到\u layouts/page.html
,非常清楚地看到设置
文件是这样使用的
{%include JB/setup%}
这里发生了什么事?
JB/setup只需根据site.JB global vars中的设置计算基本路径、主路径和资产路径。这些是您将在模板中使用的快捷方式
我如何为我的Lanyon主题复制此名称,从而不需要完全限定的名称?
如何将基本路径和资产路径合并到我的Lanyon主题中?
由于Lanyon是使用基本的Jekyll而不是Jekyll引导程序运行的,所以它需要一些集成才能作为主题工作。这篇文章解释了这个过程
因为它有点敏感,我把它放进去。第一次提交是JB base,最后一次提交是Lanyon integration。是的,这完全符合要求!非常感谢你。这让我发疯。
{% 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 %}
`BASE_PATH: "/myblog"`
`ASSET_PATH: "/assets"`
<link rel="stylesheet" href="{{ ASSET_PATH }}/css/site.css" />