好几年前就尝试用github pages服务来搭建github博客,当时也已经用了jekyll,不过由于那时候主要是在windows下工作学习(学图形学),手头也只有一台电脑,在win环境弄jekyll实在是不方便,要装ruby啊gem啊,都感觉没有linux环境顺手,最后还是转去了csdn博客。不过csdn博客在我毕业后也是荒废了。
2018-8-8 更新:
经网友提醒发现sitemap的地址是localhost,研究发现是jekyll serve生成的sitemap.xml和jekyll build生成的是不一样的,提交_site文件夹时要用jekyll build的。
正文
现在我的解决方案是,用我购买的阿里云vps(在阿里云叫ecs),并把我的博客git整个放到Dropbox,并在vps上面搭建了jekyll服务器,就搞定了测试用的博客服务器了。
写博客的流程就简单了,在win或mac下都可以写,md文件一保存,就会被dropbox同步到云端,然后vps的dropbox文件夹也会即时被更新,而jekyll serve是会自动检测文件状态的,一旦被修改就会重新generate静态网站。那么我就可以直接本地开个浏览器,进入 http://vps地址:jekyll服务器端口/,去预览了。
还有就是,在win和mac下有个叫sourcetree的git客户端,十分好用,完全不用打git指令,点几下按钮就可以把代码push到github,也就进一步简化了写博客的步骤。
另外,我发现jekyll-now是符合github pages规范的jekyll程序,但是功能太不完整了,连文章分类tag功能都没。于是我只能回归普通jekyll的模式,开2个git仓库,一个用来放jekyll代码,一个用来放jekyll生成的网站静态代码(也就是本博客的代码)。要更新博客,只需要提交博客的git即可,jekyll的git倒是随意,反正有dropbox在同步,不怕丢失。
最后的最后,吐槽下坚果云。坚果云的linux版只支持桌面版,没有terminal的版本,导致我在vps上无法用坚果云。Dropbox虽然被墙了,但是Dropbox支持linux terminal,而且安装超级简单,按照官方说明,一下子就搞定了。
更新
决定还是在本机搭建jekyll服务了。
Windows
安装python,下载地址:https://www.python.org/downloads/release/python-2712/,打开后点击Windows x86-64 MSI installer。
以下所有指令需要在cmd命令行下执行(需要管理员权限)。
按照:https://jekyllrb.com/docs/windows/#installation,安装choco、ruby、gem、jekyll。
choco安装命令(最好用官网的命令,因为可能会更新):
https://chocolatey.org/install
安装ruby和gem:
choco install ruby -y (建议https://rubyinstaller.org/downloads/ 直接下exe安装包,带DevKit的)
用gem安装jekyll (不能装4.x,markdown会出问题):
gem install jekyll -v 3.9.1
其中,可能会遇到https的问题,要根据https://gist.github.com/fnichol/867550处理。简单来说下载http://curl.haxx.se/ca/cacert.pem到本机,并添加一个环境变量SSL_CERT_FILE指向cacert.pem。
然后是安装需要的插件:
gem install jekyll-tagging
gem install jekyll-sitemap
gem install pygments.rb
gem install redcarpet (jekyll 4.x废弃了,所以只能用3.x的jekyll)
gem install wdm
gem install webrick
gem install rouge (语法高亮)
gem install github-pages (主题)
gem install jekyll-remote-theme (主题)
主题要加: remote_theme: pages-themes/leap-day@v0.2.0
然后就可以在Blog目录执行:jekyll 3.9.1 serve 了:
D:\wyman_blog>jekyll _3.9.1_ serve
PS D:\github\blog> jekyll _3.9.1_ serve
Configuration file: D:/github/blog/_config.yml
Source: D:/github/blog
Destination: D:/github/blog/_site
Incremental build: disabled. Enable with --incremental
Generating...
done in 5.031 seconds.
Auto-regeneration: enabled for 'D:/github/blog'
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.
Mac
简单得很,首先,ruby和gem都是内置在MacOS里的。
依次执行:
sudo gem install jekyll
sudo gem install jekyll-tagging
sudo gem install jekyll-sitemap
sudo gem install pygments.rb
sudo gem install redcarpet
即可。
博主将十分感谢对本文章的任意金额的打赏^_^