纪实 | 使用Github Pages+Jekyll+Gitalk在Win10搭建静态博客网站。
首先,在这里非常感谢@BYQiu和@梦幻之云,他们的文章解决了搭建博客路上的诸多棘手问题。
这篇文章写在我的博客网站:@胜言刚刚搭建完成不久——被Google收录而没有被百度收录的时候。由于对Linux不尽熟悉,故本次搭建使用Win10操作系统。我尽量详细记录搭建过程中可能会被踩的坑,最后祝你搭建顺利~
我的Github仓库中已经集中修复了前面几位作者在早年 ( 2017年 ) 搭建过程中出现的大多数问题。包括在执行jekyll serve
时Jekyll-paginate报错和存在大片颜色提示的问题。
0. 食用目录
上线静态网站和初步设定
1.1 Fork我的Github仓库
1.2 下载Github Desktop
1.3 利用_config.yml快捷配置博客
1.4 把这些代码提交推送到Github上安装Jekyll:在本地调试网站功能
2.1 安装Ruby2.3.3 p222
2.2 安装对应的RubyDevKit
2.3 使用Rubygem安装Jekyll和Jekyll bundler
2.4 使用Jekyll本地调试
2.5 最后记得推送代码到Github拥有属于自己的域名 (栗子:腾讯云)
3.1 注册域名
3.2 CNAME域名解析设定
3.3 利用Github pages将网站设置为HTTPSGoogle搜索收录指南
1. 先上线静态网站
要领:我们先从Github上Fork一个已经存在的仓库(这里保存着一个模式博客网站的文件目录),再下载Github Desktop软件,把该仓库pull到本地,修改一些参数,让网站看起来像你所想的那样。
1.1 Fork我的仓库
打开我的Github pages仓库
登录Github,没有账号就注册,然后点击Fork。
修改此仓库的名称为
你的Github用户名.github.io
,Github就会自动识别它为Github pages(静态网站)了。这时候你就可以在地址栏输入
你的Github用户名.github.io
访问博客网站了。
如果这时候出现404错误,打不开博客网站,首先检查仓库名是否依照上述设定,否则,临时解决办法如下。
首先,点Create new file
。然后,新建一个叫CNAME的文件,文件内容写你的仓库名你的Github用户名.github.io
即可。
1.2 下载Github Desktop
下载Github Desktop,请点这里,安装不再赘述。
打开桌面上的Github Desktop,欢迎界面上点右下角clone a repository
,选择你的Github用户名.github.io
这个仓库,选择本地的存放位置,我这里是存放在D:\NoSpace\Shengyan-Coder.github.io
。
点clone
,等几分钟,clone完成。
在我的电脑打开刚才的存放路径,是博客网站的所有文件。
你需要知道:
_config.yml
:网站全局配置文件
_posts
:放置博客文章的文件夹
img
:存放网站中用到的图片的文件夹
1.3 利用_config.yml快捷配置博客
用一个文字编辑器(记事本也行)打开_config.yml,根据注释自行设置,需要注意的地方有文字说明。
# 网站宏观设定
title: 胜言的博客 # 显示在博客主页的大标题
SEOTitle: 胜言的博客 | ShengYan Blog # 显示在浏览器标签栏的标题
header-img: img/home-bg.jpg # 网站主页的背景大图,可在img文件夹挑选设定或自决
description: "所有美好的东西都是免费的,比如阳光、空气和水。" # 主页大标题下方的描述性话语
keyword: "Shengyan-coder, Shengyan Blog, 胜言的博客, 胜言, python, C" # 网站的关键词
url: "shengyan-coder.github.io" # 填仓库名xxx.github.io,注意双引号" "勿动。
baseurl: "" # 一般不作修改
github_repo: "https://github.com/Shengyan-Coder/Shengyan-Coder.github.io.git" # 你的仓库绝对路径
# 侧边栏设定
sidebar: true # 开启侧边栏,关闭:false
sidebar-about-description: "读书好,好读书,读好书。" # 侧边栏头像下方的描述性话语
email: ********@**.com # 侧边栏头像下方显示的邮箱
sidebar-avatar: /img/avatar_m.jpg # 自己的头像会显示在侧边栏,填相对路径
# 社交帐号设定
RSS: false
weibo_username: 6745715152 # 微博
zhihu_username: yao-long-57-48 # 知乎
github_username: Shengyan-Coder # Github
# facebook_username: none # 脸书
jianshu_username: 77a0e61753f1 # 简书
#twitter_username: none # 推特
社交帐号设定示例
我的简书主页网址是:jianshu.com/u/77a0e61753f1
加粗的这部分填到_config.yml里jianshu_username:
后面就好了,其他社交帐号设定类似。
# 评论系统: Gitalk
gitalk:
enable: true #是否开启Gitalk评论
clientID: '******************' #生成的clientID
clientSecret: '*************************************' #生成的clientSecret
repo: 'Shengyan-Coder.github.io' #仓库名称
owner: 'Shengyan-Coder' #github用户名
admin: ['Shengyan-Coder']
distractionFreeMode: true #是否启用类似FB的阴影遮罩
评论系统我们使用和Github一脉相承的Gitalk,它利用Github仓库的issues功能来管理我们博客的评论。
这里已经帮你集成了Gitalk插件在网站目录里。上述需要填写clientID
、clientSecret
、repo(填写:你的Github用户名.github.io)
、owner(填写你的Github用户名)
、admin(管理员,负责创建issue,在数组中填你的Github用户名)
。
clientID
和clientSecret
点此申请,图中的Homepage URL
和Authorization callback URL
均填写你的Github用户名.github.io
。
TIPS:待域名注册后,上面两个URL可改为你的域名。
复制下面的clientID
和clientSecret
到_config.yml相应位置即完成Gitalk的配置。
此时你打开你的网站中的一篇博客文章,在文章末尾点击使用Github登录
,Gitalk会在你的Github仓库自动自动创建这篇文章的issue,相关评论会在网站和Github issues同步显示。
# 统计
# Analytics settings
# 百度统计
ba_track_id: 你的百度跟踪id
百度统计设定方法
打开百度统计官网,点管理。
点新增网站
按图上提示设定,然后点确定。
出现如下页面,复制问号以后双引号以前的这段字符串到_config.yml里的ba_track_id:
后面即可。
在百度统计的那个页面下方有代码安装检查,此时需要打开Github Desktop 左下角点击commit to master
,再点右方中部的push,稍等片刻,回到刚才的百度统计,完成代码安装检查即可。
# 友情链接栏设定
# 可填写多个,注意格式
friends: [
{
title: "网站·学习日志", # 显示在网站上的友情链接标题
href: "http://wsheng-note.herokuapp.com" # 友情链接地址
},{
title: "简书·胜言",
href: "http://www.jianshu.com/u/77a0e61753f1"
},{
title: "苹果",
href: "https://apple.com"
}
]
1.4 把这些代码提交推送到Github上
打开Github Desktop 左下角点击commit to master
,再点右方中部的蓝色button:push xxx
,稍等片刻即可。
2. 安装Jekyll:在本地调试网站功能
这时候你已经完成了基础搭建。为了方便,我们需要在本地调试网站的功能,而不是频繁地向Github提交代码(那样会很累~ )。这时候需要先下载Ruby和Rubydevkit(jekyll是用ruby开发的),然后通过Rubygem安装jekyll,这些过程你会遇到很多坑,因为这是在Win10系统(微硬受死吧~),不过放心,我会一 一为你解决的。
下文无法解决的问题请看:诸报错解决方案@梦幻之云
2.1 安装Ruby2.3.3 p222
打开网站:RubyInstaller.org,在左侧找到这个版本的Ruby(这个版本是被验证可以在Win10运行的),点击开始下载。
下载完成安装即可。唯一需要注意的是记得把
Add Ruby executables to your PATH
这一项点选上,这样你可以直接在cmd上使用ruby.打开cmd输入
ruby -v
验证安装成功。
> ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [x64-mingw32]
2.2 安装对应的RubyDevKit
还是在上面的网站RubyInstaller.org,选择下图版本的RubyDevKit开始下载。
安装无碍,不在此赘述。然后打开cmd输入如下命令。
> cd C:\RubyDevKit
> ruby dk.rb init
> ruby dk.rb install
2.3 使用Rubygem安装Jekyll
打开cmd,输入以下两个命令,修改并查看gem源。
TIPS:国内无法访问https://rubygems.org/
;Gem是Ruby语言的支持库下载站,类似python语言的Pip。
> gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
> gem sources -l
https://gems.ruby-china.com
# 确保只有 gems.ruby-china.com
然后在命令行中执行gem install jekyll
完成对Jekyll的安装。
如果在安装jekyll的过程中遇到 SSL 证书的问题,即如下问题
> 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)
请修改
C:\Users\你的Win10用户名\.gemrc
文件,增加 ssl_verify_mode: 0 配置,以便于 RubyGems 可以忽略 SSL 证书错误。
如果找不到.gemrc文件,请自行在C:\Users\你的Win10用户名
目录下创建,并输入 以下内容保存。
:sources:
- https://gems.ruby-china.com
:ssl_verify_mode: 0
最后在命令行输入如下代码,完成对Jekyll bundler的安装。
> gem install jekyll bundler
2.4 使用Jekyll本地调试
在cmd命令行输入jekyll -v
,测试Jekyll是否成功安装 ( 按照上述步骤和注意事项应该不会有问题吧 ) 。
> jekyll -v
jekyll 3.8.3
此时,在我的电脑
打开你上面用Github Desktop克隆打码所在的目录。例如:
然后,点击地址栏输入
cmd
并按下回车,即在此目录下打开cmd。在命令行输入
jekyll serve
,即按此目录生成127.0.0.1测试网站,你对文件所做的修改也会实时体现在这个网站上。此时你在浏览器打开http://127.0.0.1:4000/
即可看到所生成的网站~
D:\NoSpace\Shengyan-Coder.github.io>jekyll serve
Configuration file: D:/NoSpace/Shengyan-Coder.github.io/_config.yml
Source: D:/NoSpace/Shengyan-Coder.github.io
Destination: D:/NoSpace/Shengyan-Coder.github.io/_site
Incremental build: disabled. Enable with --incremental
Generating...
done in 6.39 seconds.
Please add the following to your Gemfile to avoid polling for changes:
gem 'wdm', '>= 0.1.0' if Gem.win_platform?
Auto-regeneration: enabled for 'D:/NoSpace/Shengyan-Coder.github.io'
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.
调试结束,在命令行按下Ctrl+C并输入Y,按回车,再输入jekyll clean
,清除调试所产生的缓存文件。
2.5 最后记得推送代码到Github
调试结束,只有把代码推送(Push)到Github,才会真正生效。
从桌面打开Github Desktop 左下角点击commit to master,再点右方中部的蓝色button:push xxx,稍等片刻即可。
3. 拥有属于自己的域名 (栗子:腾讯云)
你可能会嫌你的网站域名太长——形如xxx.github.io。此时你需要注册一个域名。我以腾讯云为例介绍域名部署过程,至于阿里云等操作类似。之后我们使用Github pages里的enforce HTTPS功能,使你的域名看起来更具有安全感。
3.1 注册域名
打开腾讯云域名注册网站,先点击右上角扫码或者注册账号登陆,不在此赘述。
输入你希望的域名名称,查询并选择合适的价格购买即可,一般九块十块的就可以。
3.2 CNAME域名解析设定
购买成功后,点这里进入域名管理控制台。
点解析,进入域名解析设置。
添加如下两条CNAME解析记录。
xxx.github.io
用你的Github用户名.github.io
代替即可。
如果需要将一个域名指向另一个域名,再由另一个域名提供IP地址,就需要增加CNAME记录。
最后点击保存。
3.3 利用Github pages将网站设置为HTTPS
此时需要打开Github.com,打开你博客所在的仓库你的Github用户名.github.io
,点击右上方Settings
打开设置。
往下滑,找到
Custom domain
这个设置项。输入你所注册的域名,我这里是wangsheng.tech。再点击save
保存对该项的更改。然后点选下方的Enforce HTTPS
项,即强制HTTPS,可能需要等待一天的时间。如果
Enforce HTTPS
这一项不能被选中,请清空Custom domain
里的域名,重新输入你的域名,点击save
,即可。
4. Google搜索收录指南
博客是希望被多数人看见的,最快捷的途径莫过于被搜索引擎收录。百度的收录需要一些时日,而Google显得相对友好。你可以打开网站谷歌搜索控制台登录并验证提交你的域名加快Google收录,一般隔天会在Google搜索结果中看到你自己的网站。
5. 说在最后
这篇文章有点啰嗦,还是希望所有人都能从中学到搭建博客的简单方法。你可以访问我的博客@胜言获取更多内容。
另外,国内在某些省份访问Github会显得很慢,这也导致你的博客被这些童鞋访问的时候会加载得很慢。腾讯亲儿子:Coding(扣钉)可以解决这个问题。它的功能与Github相似,你把代码Push到Coding,开启静态网站功能,把域名填好,再添加域名解析就好了,国内访问很快的。
关于Coding Pages搭建博客,你可以看这篇: