采用Jekyll + github 构建个人博客

5月换了新笔电,所有的东西都没有了。一直懒,也就重新搭建jekyll。昨天周末,闲来无事,又重新在win10的新机上搭了一次,吼吼吼。

这边尽量是正确的步骤,其实看起来没几步,但搭建的时候花了好几个小时,返工了好几次,果然我还是老的太快了,,哈哈

  1. 配置信息
  2. github
  3. 安装Devkit
  4. 安装Ruby
  5. 安装jekyll
  6. 问题集锦

配置信息

win10x64

github

github的操作不再多说,下载git客户端,生成密钥对,将公钥保存在github上,然后本机就可以直接clone项目啦

提交修改主要是以下几步

git add .  //如果没有新加文件可以不用运行此句
git commit -am '描述内容'
git push (-u origin master)  //括号中内容可加可不加

安装Devkit

这玩意我其实也不造有啥用,因为我第一次搭的时候没装,jekyll也跑的起来~~

官方地址:http://rubyinstaller.org/downloads/

官方到目前为止还能用,如果不幸和谐的话,可以去这里下载

下载适合自己pc的版本,安装的时候尽量安装在根目录下,且路径中不能含空格(这是人家的经验,借来用用)

安装Ruby

Ruby是安装jekyll必需的,jekyll需要gem,gem需要Ruby

官方地址:同样是http://rubyinstaller.org/downloads/

同上,官方到目前为止还能用,如果不幸和谐的话,可以去这里下载

下载最新的版本,同样在路径中不能含空格,并且勾选add to path

安装好后进cmd运行如下代码:

cd devkit  \\将当前目录转移到devkit解压路径
ruby dk.rb init  \\初始化Ruby
ruby dk.rb install`

然后运行ruby -v,出现版本号则安装成功

安装jekyll

最关键也是摔跤最多的步骤!!

安装gem

可以到https://rubygems.org/下载合适的gem安装包及所需的功能包

  • gem -v 检查gem版本
  • gem update --system 更新gem
  • gem -v 检查gem版本

安装jekyll

  • gem install jekyll 安装jekyll

  • jekyll -v 安装成功之后,查看版本号

至此为止jekyll已经安装完毕,cmd切换至git项目目录,运行jekyll serve,即可在本地localhost:4000进行编译预览

问题集锦

当然没这么简单,实际操作会遇到各种各样的问题~

Q1:jekyll版本不同导致启动本地服务时liquid语法报错

这个错误研究了一晚上,上图是jekyll 3.2.1版本下编译时的liquid报错,直到今早将两地环境做了对比才发现是jekyll版本导致的,下图是jekyll 3.1.3运行时

解决方法是卸载最新版,安装指定的jekyll版本

gem uninstall jekyll -v 3.2.1

gem install jekyll -v 3.1.3

Q2:启动服务时提示 Please add the following to your Gemfile to avoid polling for changes: gem 'wdm', '>= 0.1.0' if Gem.win_platform?

只要运行gem install wdm即可(好吧这个其实不重要,不改也可以)

以下问题此次安装都没有发生,但是前几次是遇到的,所以还是贴出来

Q3:gem install jekyll后报错一

ERROR:  Could not find a valid gem 'jekyll' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://rubygems.global.ssl.fastly.net/quick/Marshal.4.8/jekyll-1.3.0.gemspec.rz)
ERROR:  Possible alternatives: jekyll

解决方法:

  • 如果是windows用户,需要先安装curl

    • 这里下载文件curl-7.17.1-win32-ssl.zip,如果不需要使用ssl的话,可以直接下载 curl-7.17.1-win32-nossl.zip,为了便于以后请求https格式的网址,最好使用带ssl功能的。
    • 在Windows下为了使用带ssl的curl命令,我们得安装OpenSSL,到这里下载Win32OpenSSL_Light-1_0_1h.exe,安装即可。
    • 接下来打开cmd,切换到curl目录下,就可以直接使用curl命令了。
  • 下载认证文件curl http://curl.haxx.se/ca/cacert.pem -o cacert.pem

D:\Ruby200-x64>curl http://curl.haxx.se/ca/cacert.pem -o cacert.pem
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  223k  100  223k    0     0  82478      0  0:00:02  0:00:02 --:--:-- 94724
  • 把生成在Ruby目录下的cacert.pem移动到里面的bin目录下
~ D:\workspace\ruby>mv cacert.pem D:\toolkit\Ruby200\bin
  • 设置环境变量

Q4:gem install jekyll后报错二

ERROR:  Error installing jekyll:
        The 'fast-stemmer' native gem requires installed build tools.

Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'

解决方法:安装好Devkit后,运行Devkit目录下的msys.bat后,然后输入gem install jekyll来安装jekyll

Q5:Rubygems镜像源报错

因为官方镜像源https://rubygems.org/经常罢工,所以我们需要添加新的镜像源https://ruby.taobao.org

$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
$ gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org
# 请确保只有 ruby.taobao.org

但上次发现淘宝的也玩不起来了,维护者在issue下有这样一段回复,原来是换新Gems源https://gems.ruby-china.org/

$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
$ gem sources -l
https://gems.ruby-china.org
# 确保只有 gems.ruby-china.org

Q6:代码高亮

至于代码高亮包pygments,由于自2016起,github不再支持pygments,所以我们不再安装pygments包(其实也就不需要安装python和pip啦),而改用rouge高亮包

推荐阅读更多精彩内容