记录|用 Jekyll 在 Github Pages 上搭建个人网站
开始
按照Jekyll官网的指示:
gem install bundler jekyll
但是进行下一步时,显示command not found: jekyll
。
查了下,根据这篇文章,尝试sudo
:
sudo gem install jekyll
之后就可以正常运行jekyll
了,继续
jekyll new my-awesome-site
cd my-awesome-site
bundle exec jekyll serve
然而报错cannot load such file -- webrick (LoadError)
。Google一下,找到一些讨论串(或者博文),顺着找到Github上的issue,根据它说的运行
bundle add webrick
之后,可以正常运行bundle exec jekyll serve
了,问题解决!
现在,可以用浏览器打开http://127.0.0.1:4000/
上看到示例
网站了。
没有用的操作
参照官网的Troubleshooting部分,更新gem
:
gem update --system
这一步很慢,不知道有什么解决办法……
jekyll new my-awesome-site
cd my-awesome-site
bundle exec jekyll serve
Github Pages
根据Github Pages的说明,创建一个叫 username.github.io 的仓库即可。先把它克隆到本地,以进一步操作。
之后,参照官方的使用 Jekyll 设置 GitHub Pages 站点的介绍进行操作,正常进行Creating a GitHub Pages site with Jekyll - GitHub Docs的操作即可。
可以用Github Desktop来进行某些操作。
关于baseurl
如果你的仓库就是 username.github.io 的话,baseurl留空就行了,即使你把你的站点放在了类似 /docs
的子文件夹里,而不要按照Creating a GitHub Pages site with Jekyll - GitHub Docs的第13步操作,在 _config.yml
里进行如下操作:
baseurl: /REPOSITORY-NAME/ # place folder name if the site is served in a subfolder
但是如果真在 username.github.io 仓库下这么做了的话,网站会崩掉。
如果真想在 /docs
下访问,根据这个回答,似乎需要把这个文件夹 split 到一个叫 docs 的仓库中,详见Splitting a subfolder out into a new repository - GitHub Docs。