GitHub Pages + Jekyll 创建个人博客

本文首发于 Caiyun Blog,作者 @Caiyun, 如果您喜欢想转载,这是我的荣幸,您只需要保留原文链接就好啦,谢谢哦 _

该文章步骤详细,更适合 大白(●—●) 型的朋友.如果您觉得 low ,希望您能吐槽,给我成长和改进的机会,如果您发现其中有错误或者不当的地方,也欢迎您随时联系,我会及时更正,彩云在这里先谢谢您啦 _

今天(2019-01-25)在 mac 上面重新搭建了下博客,炒鸡简单,一个报错信息都没看见 jekyll 本地就已经跑起来了,想当初在 windows 上面折腾了辣么久。。。。。。

前言

在前人的帮助下,仍然踩了不少坑,终于把这个 个人博客 搭建起来啦 _

之前想在某网站上注册一个博客,来记录自己的点滴成长,但是申请一直没有通过,然后好多次遇到问题Google 的时候,就会看到其他人将 或学习心得 或踩过的坑 或日常点滴 记录在册,就更眼馋了,但是却觉得博客高大上的样子,一直望而却步,最近偶然的某个瞬间,一时心血来潮(竟然忘记了之前对高大上的恐惧),就搭建了现在这个博客,其中,非常感谢 Mishy Jan 的耐心帮助,该文章中的前半部分引用 @BY Qiu 的文章(因为文章真的很详细,没必要再重新整理了,非常感谢!)

本文章偏向于不懂技术的小白(当然懂技术更好啦),好啦,废话不多说,我这样的大白都能搭起来博客了,你还等什么呢??

用 GitHub Pages 快速搭建个人博客

我认为这部分内容完全可以参考 @BY Qiu(该文章作者系统为 Mac系统) 前半部分(原文标题 在本地调试博客 之前)的内容,图文并茂,简单易懂,这里就不赘述了.但是要做一些补充说明,建议您可以先看看下面的话,然后再参考链接中的文章,避免我踩过的坑 (本大白的测试系统为 : win7 x64)

在我搭建博客的后期(jekyll serve) 的时候(别着急,这部分是我分享的重点,后面会详细讲解的哈),BY Qiu repo 中提供的模板配置在我这里并不是完全好用的,您可以直接在原文内容中 fork BY Qiurepo ,后面会分享修改过程,当然,您也可以直接 fork 我的 repo ,省去修改的麻烦,剩下的文章前半部分的分享我测试的时候是没什么问题的,然后后期 jekyll的相关操作就可以看下面的分享啦(@BY Qiu 这部分没有很详细,结果我就开始踩坑了,不过还好,最后爬出来了,希望我的分享能帮你少踩些坑~~)

jekyll 的安装过程如下

考虑到自己对满屏英语的恐惧和遇到问题不知所措的不安,这部分会记录的很详细,还希望不要觉得啰嗦,如果您有基础有技术,大概扫一眼应该就可以了

大部分内容可以在 jekyll 官网 找到解释和解决方案(大白我以后也要尽量习惯看文档了 * _ *)

打开 jekyll 官网中有关 Windows环境下
安装的部分 ,
找到

01

的部分,打开 jekyll 运行于 Windows 上 ,然后 点击那个大按钮(Get started)
02

新打开的页面 中 (下面的步骤大都是参考该页面左侧的指导进行的),点击Get Ruby for Windows 进行Ruby 的安装

Ruby 的安装

不是要安装 jekyll 吗?你骗我,为什么还要装 Ruby ,白捉急嘛, 客官您先看看官网解释

然后选择

03

选择合适自己系统的类型进行安装,注意,这里建议 Ruby 2.1 ~ Ruby 2.2 的版本,因为
01

和在后面 jekyll 安装过程中遇到的坑(大白我卸了又重倒腾了一遍 * _ *)
04

我这里选择的是 Ruby 2.1.9(x64) (在下载处的 倒数第三个) , 然后就跟着 官方文档 的提示安装就可以了,
再然后就是点击下面的 Get the Ruby DevKit 的大按钮,进行 Ruby Devkit 的安装

Ruby Devkit 的安装

05

根据自己的系统,选择合适的版本就可以啦,我这里安装的是 x64 的,下载好之后根据 文档里面的提示安装到相应位置就可以了,再然后根据提示运行下面命令就可以啦

$ cd C:\RubyDevKit

$ ruby dk.rb init

$ ruby dk.rb install

如果在执行命令的过程中没有出现错误的话,那就继续安装 Jekyll Gem 吧(就是点击右下角 install Jekyll Gem 的按钮 )

Ruby 安装可能的报错

上面三行命令,除了第一行,剩下两行由于各种原因可能会报错,我这里就整理一下自己遇到过的小问题吧(最后能解决的都不是问题,喝碗鸡汤~开始 除错)

  • $ ruby dk.rb init可能遇到的报错
    • generated config.yml file doesn't list Ruby path

      生成的 config.yml 文件找不到 Ruby 的路径
      * 解决方案
      找到安装的 RubyDevKit文件夹,找到其中的 config.yml 文件,用编辑器打开,如图

      09

      添加箭头所指的部分
      然后打开你安装RubyDevKit 的文件夹,找到其中一个名为 dk.rb 的文件,然后用编辑器打开(或者记事本也行),在 REG_KEYS 里面添加一句

 'Software\Wow6432Node\RubyInstaller\MRI'

如图:


10

如果不可以,请参考这里 以寻找适当的方法

主角 Jekyll

好啦,现在终于要主角 jekyll 出场啦, 运行命令

$ gem install jekyll

进行 jekyll 的安装,再进行安装 jekyll 的时候,我测试的时候默认安装的版本是 3.5.2 ,所以就不用管下面的兼容性问题啦

06

如果 jekyll 的安装没有任何问题的话,那就基本成功啦 ^ _ ^ ,然后再运行命令

$ gem install jekyll bundler

进行 jekyll bundler 的安装

安装成功后,进入你博客所在的文件里面,比如(personalBlog 为我的博客所在的文件夹):

07

然后创建本地服务器,执行命令

jekyll s

或者

jekyll serve

两个命令功能是一样的
如果这步没有问题的话,会出现

08

意味着你可以到 http://127.0.0.1:4000/ 或者 localhost:4000/ 的地址对本地进行博客预览啦,这样就不用pushGitHub 之后再看了,对日后博客的管理效率可是提高了不少哦~(撒花撒花 _ )

使用 ctrl + c 可以停止serve 的运行

这样的话,用 jekyll 进行本地博客的同步预览就已经完成了(当然,在编辑器中更改博客内容后还是需要保存和刷新浏览器的),开森开森 _

正确的都一样,报错的各有各的报错,执行上面命令有报错的,来吧,咱们一起来看看这里有没有可以参考的解决方案

gem install jekyll 可能的报错

C:\RubyDevKit>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://api.rubygems.org/latest_specs.4.8.gz)
  • 我实验成功的方法是:
    依次执行如下命令:
$ gem sources --remove https://rubygems.org/
$ gem sources -a http://api.rubygems.org
$ gem install jekyll

可以参考 这里 或者 这里 以便寻找更合适的方法

jekyll serve 可能的报错

  • 可能报错如下


    13
  • 解决方案如下:

    • 打开你的博客所在的文件夹,找到其中的配置文件 _config.yml ,然后找到一句 gems: [jekyll-paginate] ,将gems 改为 plugins ,如图所示(不要像我一样,傻傻的把 gems 换成了 plugins 还不知道错在哪里 捂脸捂脸)
      14

      然后执行命令
    gem install jekyll-paginate
    

    然后应该就可以啦

  • 其实上面的方案有瑕疵,就是在运行 jekyll serve 的时候虽然能正常进行同步本地预览,但是会出现警告,就像下面这样

    15

    一大堆哦(一脸嫌弃)

  • 解决方案 : 在 _layouts下的post.htmlpage.html

    • 首先 将两个文件中的 && 替换为 and ;
    • 然后 将 { { site.featured-condition-size } }替换为site.featured-condition-size(也就是删除 {{}} )

这里需要感谢 Anc 在本博客留言中提供的解决方案呢~

_post 文件夹下文件名不能兼容中文的问题

修改安装目录\Ruby21-x64\lib\ruby\2.1.0\webrick\httpservlet下的filehandler.rb文件,建议先备份

找到下列两处,添加一句( + 的一行为添加部分)

path = req.path_info.dup.force_encoding(Encoding.find("filesystem"))
+ path.force_encoding("UTF-8") # 加入编码
if trailing_pathsep?(req.path_info)
break if base == "/"
+ base.force_encoding("UTF-8") # 加入编码
break unless File.directory?(File.expand_path(res.filename + base))

然后重启服务器即可jekyll clean &&jekyll s

注意 : + 要去掉的,还有就是 要执行 jekyll clean &&jekyll s 之后再去看本地效果(千万不要像我一样,猴急猴急的,+没去掉 命令不执行 的就去看本地效果 捂脸捂脸 * _ * )
效果如图所示:

可以大概参考一下代码行数,或者用编辑器的搜索命令也行,缩小查找范围


11

12

好啦,关于 GitHub pages + jekyll 的搭建个人博客 基本就算是完成了,剩下的就是把你文件里面有关我的内容全部删掉换成你自己的,变成属于你的小天地,好开森有木有呀~~

快去吧,皮卡丘~~~

补充

Markdown

Markdown 是什么? Markdown是一种轻量级的 标记语言,很简单易用,相信你用了之后会爱不释手的,详情请看这里

Disqus 评论系统

  • 关于 Disqus username 是什么的问题,请参考 @ancientwood

图床

在后期写自己博客内容的时候少不了要用到自己的图片的,比如本文中分享的这些个截图 之类的,但是,自己的截图在 Markdown 中是无法直接插入的,那咋办??白捉急嘛,客官您请听我说

首先说一个名词: 图床 ,啥??图床是啥??
介个....介个...哎呀,自己 Google 去啦~

了解了图床是啥之后,就认识到图床的重要性了吧
关于各种 收费 免费 常用 的图床可以 参考这里

我这里用的是 七牛云,所以就简单说一下好啦

之前没用过的话,注册账号,登录,然后如图所示,创建 对象存储(我理解的即使给你以后要上传的图片 文件 之类的东东找个地方待着)

16

然后根据提示进行完善信息就可以啦
17

再然后就是根据图示,选择需要上传的文件
18

上传成功后如图所示
19

然后在三个点那里就可以获得相关图片的 链接 啦,然后就可以轻松的在 markdown 中插入需要的图片啦

另外 其实还有一个更简单的方法,就是使用浏览器插件

  • 下载 Demo 集锦- 七牛云存储qiniu upload files 插件

    1.七牛云插件,像使用桌面系统一样管理你的七牛云空间 2.支持拖拽上传,批量操作,文件处理等功能

  • 安装之后,在浏览器的右上角部位会有一个图标,你一看就知道啦
  • 然后根据实际情况填写表单
  • 之后点击浏览器右上角的那个图标,把需要的图片或者文件拖进去,就会看到文件上传成功之后的显示
    20
    ,在邮件复制外链地址就可以啦
    遗留问题: 但是这个方法我测试没成功,好像跟 我选择区域为 华北 有关系, 出现的错误提示是:
    21

    22

    客户端认证授权失败。请重试或提交反馈。(401:bad token)

如果您有相关建议的话,还希望您能 不吝赐教哦~~

管理 GitHub 文件库插件安利

  • GitHub 现有的目录层级形式,在查看来自不同层级文件夹的文件的时候,显得似乎不是很方便,Octotree 这款 Chrome 插件能够让你通过文档库的方式管理、查看你的 GitHub 仓库,简单直观的同时,也方便你进行文件之间的跳转操作
  • 25
  • 插件下载参考地址

关于百度统计

2017-10-04 更新补充

  • 百度统计 注册账号,关于注册站长版还是客户版或者移动统计,可以 参考这里
  • 然后根据 参考资料 的提示进行账号登录,添加站点,获取代码 的操作
  • 获取代码之后,我们只要其中的一部分(下图方框的那部分)


    27
  • 将获取的部分添加到博客所在文件夹中的 _includes/footer.html
    28
  • 在博客所在文件夹下运行 jekyll s 命令

如果不运行,添加的 track_id 不能与 _site 关联起来,就算将 _site 放到了自己的云主机上,统计信息也不能被百度统计获取到

  • 然后将 _site 文件上传到自己的云主机上
  • 再打开百度统计,就能看到最近的访问信息了(可能会有一定时间的延迟,可以耐心等一下)


    29

这篇文章挺长的,看到这里肯定辛苦了吧,谢谢您的阅读啦 ^ _ ^

然后,然后有个厚脸皮的小小请求,您看看在我码这么多字的情况下,可不可以赏脸给个赞呢??哎呀,我知道你会同意的啦~~
这里啦

24

或者您通过本博文的最后面可以啦

23

彩云在远方先谢谢您啦~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容