我是这样用jekyll搭建个人博客的

Tags:

好几年前就尝试用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

即可。

(未经授权禁止转载)
Written on July 18, 2015

博主将十分感谢对本文章的任意金额的打赏^_^