开始使用Jekyll踩的一些坑

在Github看到一个很好的基于Jekyll的项目,但是又想自定义域名并且使用https访问,这就意味着我需要部署Jekyll了。

Jekyll的部署步骤很简单,官方已给出方法:

~ $ gem install jekyll bundler
~ $ jekyll new my-awesome-site
~ $ cd my-awesome-site
~/my-awesome-site $ bundle exec jekyll serve
# => Now browse to http://localhost:4000

看似简单的4条命令,刚入坑的我就就出现了如下问题:

ERROR:  Error installing jekyll:
	ERROR: Failed to build gem native extension.

    current directory: /var/lib/gems/2.3.0/gems/ffi-1.9.18/ext/ffi_c
/usr/bin/ruby2.3 -r ./siteconf20170719-22191-148hfyz.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

在排除了网络问题之后,我最终的方法是:从 Ruby 下手

安装Ruby

sudo apt-get install ruby-full

然后再开心的执行bundle exec jekyll serve

显示了:

Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.

用浏览器非本机浏览时,被提示无法访问此网站,站点拒绝了我们的连接请求。

好吧,其实正确的姿势应该是:

bundle exec jekyll serve -w --host=0.0.0.0

这样访问就正常了。

Jekyll基本用法是这样的:

$ jekyll build
# => 当前文件夹中的内容将会生成到 ./site 文件夹中。

$ jekyll build --destination <destination>
# => 当前文件夹中的内容将会生成到目标文件夹<destination>中。

$ jekyll build --source <source> --destination <destination>
# => 指定源文件夹<source>中的内容将会生成到目标文件夹<destination>中。

$ jekyll build --watch
# => 当前文件夹中的内容将会生成到 ./site 文件夹中,
#    查看改变,并且自动再生成。

Jekyll 同时也集成了一个开发用的服务器,可以让你使用浏览器在本地进行预览。

$ jekyll serve
# => 一个开发服务器将会运行在 http://localhost:4000/

$ jekyll serve --detach
# => 功能和`jekyll serve`命令相同,但是会脱离终端在后台运行。
#    如果你想关闭服务器,可以使用`kill -9 1234`命令,"1234" 是进程号(PID)。
#    如果你找不到进程号,那么就用`ps aux | grep jekyll`命令来查看,然后关闭服务器。[更多](http://unixhelp.ed.ac.uk/shell/jobz5.html).

$ jekyll serve --watch
# => 和`jekyll serve`相同,但是会查看变更并且自动再生成。

更多的文档信息,请参考官方文档

Licensed under CC BY-NC-SA 4.0
最后更新于 Jul 21, 2017 21:27 UTC