Jekyll:安装基于宝石的主题

时间:2017-03-22 16:44:26

标签: rubygems themes jekyll

我已成功使用Jekyll v3.4.3创建我的第一个静态网站。现在我想将默认的“minima”主题更改为另一个基于gem的主题,例如jekyll-theme-minimal

据我所知,根据jekyll documentation,这只需要以下步骤:

1.-将主题添加到您网站的Gemfile:

gem "jekyll-theme-minimal", "~> 0.0.3"

2.-安装主题:

bundle install

3.-将以下内容添加到您网站的_config.yml以激活主题(注释掉“minima”并添加新主题):

theme: jekyll-theme-minimal

4.-建立您的网站:

bundle exec jekyll serve

我按照这些步骤操作,但构建网站(步骤4)会出现以下错误:

$ bundle exec jekyll serve
Configuration file: /home/username/jekyll/myblog/_config.yml
Configuration file: /home/username/jekyll/myblog/_config.yml
            Source: /home/username/jekyll/myblog
       Destination: /home/username/jekyll/myblog/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
     Build Warning: Layout 'post' requested in _posts/2017-03-22-welcome-to-jekyll.markdown does not exist.
  Liquid Exception: Could not locate the included file 'icon-github.html' in any of ["/home/username/jekyll/myblog/_includes"]. Ensure it exists in one of those directories and, if it is a symlink, does not point outside your site source. in about.md

我看到已经安装了新的基于宝石的主题

$ bundle show jekyll-theme-minimal
/home/username/.gem/ruby/2.4.0/gems/jekyll-theme-minimal-0.0.3

但我注意到新主题没有_includes目录。另外,我看到我的Jekyll站点目录中的about.md文件仍然引用了默认的“minima”主题:

$ cat ~/jekyll/myblog/about.md 
---
layout: page
title: About
permalink: /about/
---

This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/)

You can find the source code for the Jekyll new theme at:
{% include icon-github.html username="jekyll" %} /
[minima](https://github.com/jekyll/minima)

You can find the source code for Jekyll at
{% include icon-github.html username="jekyll" %} /
[jekyll](https://github.com/jekyll/jekyll)

如何在我的网站中将默认的“最小”主题更改为另一个基于宝石的主题?

1 个答案:

答案 0 :(得分:3)

Jekyll主题文档指定了使用新主题的一般过程,但由于Jekyll 非常灵活,因此无法保证每个主题都可以开箱即用。

Jekyll默认安装,附带示例数据,页面布局和包含

最小主题有默认布局不包含,因为Jekyll附带的示例帖子使用包含并使用页面布局,它将无法正常工作。

安装最小主题后,您需要确保所有帖子都有布局:默认作为其布局(无布局:页面或任何其他内容),帖子内容没有包含

在这种情况下,在调整about.md之后,它看起来像这样:

---
layout: default
title: About
permalink: /about/
---

This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/)

You can find the source code for the Jekyll new theme at:
[minima](https://github.com/jekyll/minima)

You can find the source code for Jekyll at
[jekyll](https://github.com/jekyll/jekyll)

或者,如果您不想更改帖子的内容,只需提供缺少的包含和/或布局创建这些文件夹并创建您希望使用新主题的正确缺失文件,您不是仅限使用主题使用的内容Overriding theme default