在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 下手
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`相同,但是会查看变更并且自动再生成。
更多的文档信息,请参考官方文档