如何安装Github Pages之一' Jekyll主题进行本地预览?

时间:2017-08-21 18:24:25

标签: jekyll github-pages jekyll-theme

我试图安装Github Pages'我的CentOS 7虚拟机上Slate theme,因此我可以使用bundle exec jekyll serve命令在本地预览我的站点。

我尽可能地遵循了指示。

  • 我在minima文件中将主题jekyll-theme-slate更改为_config.yml
  • 然后我在gem "minima", "~> 2.0"文件中将gem "github-pages", group: :jekyll_plugins更改为Gemfile

之后(由于这些是他们唯一的指示),我跑了bundle exec jekyll serve,它告诉我我的宝石没有安装(duh),并建议运行bundle install

  • 我运行bundle install,它告诉我依赖项的版本类型存在冲突,并建议bundle update可能解决该问题。
  • 没问题,我跑了bundle update。一些插件/功能实际上在这里还原了版本,但我现在在我的机器上安装了Slate主题,版本0.0.4无论出于何种原因。

之后,我又跑了bundle exec jekyll serve。我收到了这个错误:

Configuration file: /home/peri/my-site/_config.yml
Configuration file: /home/peri/my-site/_config.yml
jekyll 3.4.3 | Error:  Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.

在某种程度上,这种错误是有道理的。要使自定义主题起作用,我可能需要一个工具来运行他们的自定义脚本。但首先,我在主题的安装说明中注意到this extra section,它直接提到能够在本地预览具有该主题的网站。

  • 我下载了源代码,而不是克隆它......我不需要.git这些东西吗?
  • 我修改了script/bootstrap文件,因为/usr/local需要root并且使用sudo并不知道任何名为gembundle的二进制文件。我将gembundle更改为各自的绝对路径,并在sudo ./script/bootstrap内运行slate-master

故事的重点是,当我运行home/peri/my-site时,它对我的​​bundle exec jekyll serve目录不起作用。据推测,这是因为他们打算将用户的网站整合到他们主题的源代码中?这似乎并不直观或正确。所以,我调查了ExecJS

  • 我安装了它。 gem install execjs
  • 我在gem "execjs", "2.7.0"文件中添加了Gemfile

得到与以前相同的错误。

  

我应该如何安装这个Jekyll主题?

1 个答案:

答案 0 :(得分:1)

更改_config.yml中的主题后,请按照以下步骤操作:

  1. Gemfile应该只包含以下内容:

    source "https://rubygems.org"
    gem "github-pages"
    
  2. 删除bundler current config:rm -r .bundle/

  3. 删除Gemfile.lock:rm Gemfile.lock

  4. 仅为此网站在隔离文件夹中安装本地依赖项:bundle install --path=vendor/bundle

  5. 您不会拥有postpage以及home个主题,您需要在所有帖子中使用default

  6. 生成并运行服务器:bundle exec jekyll s