如何利用Github搭建私人博客
This is a detailed tutorial on how to transform your plain text into static websites and blogs using Github Pages and Jekyll. Share your thoughts and try to talk to yourself.
1. Introduction
安装环境
- Ubuntu 16.04 LTS
- Ruby 2.3
- Git 2.7.4
我的第一版博客是在Windows平台搭建的,当时没有安装Jekyll本地编译环境,直接通过GitHub客户端将Posts上传到GitHub Pages。早期博文较少,管理起来也不费时间。但随着内容的丰富,博文的分类与美化成为了不得不考虑的问题。遂汲取教训,直接一步到位,在Linux平台安装Jekyll本地编译环境。本篇博客教你如何快速在Linux平台下搭建博客。
博客主题的选取很关键,可以为后期的维护与美化节省大量时间。本人选取了功能强大、自定义方便的 Minimal Mistakes 作为模板。下面的操作也是针对该主题。
背景知识
参考来源:jekyll博客搭建之艰辛之路
(http://www.jianshu.com/p/27de87d4447e)
1. ruby与ruby gem的关系
ruby是一种脚本语言;
ruby的其中一个“程序”叫rubygems,简称gem(ruby 1.9.2及其以上就已经默认安装了ruby gem的,所以无需再次手动安装)。
2. ruby与Jekyll的关系
jekyll是基于ruby的,所以搭建jekyll之前必须确保ruby正常安装。注意,必须ruby大于2.0.0。
3. jekyll与python的关系
jekyll3.0之前,有一个语法高亮插件"Pygments",它是基于python的,所以才会有各种教程里面都说搭建jekyll之前需要python环境。
但是,请注意 jekyll3.0以后,语法高亮插件已经默认改成了'rouge' 而它是基于ruby的,因此,现在搭建jekyll,我们完全不必要再安装python。
4. 为什么ruby要改用source来源
不管是那一篇教程,都会告诉你安装完ruby后需要通过gem命令将官方源改成淘宝源或ruby china源,这是因为默认的官方源在国外,国内几乎是无法访问的。
但是,请注意现在淘宝源已经停止维护了,最新搭建jekyll 都应该要改成ruby china的源 http://gems.ruby-china.org
5. 如何解决jekyll安装过程中的问题
首先,确保ruby(2.0.0以上)正常安装,切换了ruby china源;
其它遇到的所有问题几乎都是确实某些ruby程序的问题,所以只需要根据提示通过相应命令,比如 gem install ... 即可解决。
6. 搭建jekyll的基本步骤
不论是Windows上还是Linux上,搭建jekyll基本都满足如下步骤:
1.安装ruby(2.0.0以上);
2.切换ruby的source来源;
3.通过gem命令安装jekyll;
4.github上fork心仪的jekyll模板,本地jekyll serve运行相应的博客。
2. Ubuntu中搭建Jekyll过程
1. 安装 ruby
$ sudo apt-get update
$ sudo apt-get install ruby2.3
$ ruby -v #显示版本
2. 更换ruby默认的source源
#查看当前gem版本,ruby china建议2.6.x以上 gem -v
#更新,我的最后是2.7.2(2017-11-11) sudo gem update --system
#查看当前源,显示为 https://rubygems.org gem sources -l
#移除官方源 gem sources -r https://rubygems.org
#添加可用源 gem sources -a http://gems.ruby-china.org
#确认 gem sources -l
3. 安装Jekyll
#-V代表查看详细进度。出现错误如下: sudo gem install jekyll -V
Installing Jekyll: ERROR: Failed to build gem native extension. #缺少ruby-dev
sudo apt-get install ruby-dev
#成功 sudo gem install jekyll -V
3. 运行Jekyll博客
提前掌握
Jekyll的基本用法
(http://jekyll.com.cn/docs/usage/)
Jekyll网站的目录结构
(http://jekyll.com.cn/docs/structure/)
GitHub Help: Adding a Jekyll theme to your GitHub Pages site
Git的安装与使用,学习资源推荐:
大家一起学git
(https://github.com/bg6cq/learngit/?from=timeline):
共七小课,步骤清晰,上手简单,搭建博客学习前三课足矣。科大师兄执笔,重点推荐;
廖雪峰的官方网站:形象易懂。
在Jekyll中添加Theme的步骤
1. 克隆Minimal Mistakes到本地
clone https://github.com/mmistakes/minimal-mistakes git
按博主教程(重点参考(https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/)),删除以下无关文件:
.editorconfig
.gitattributes
.github
/docs
/test
CHANGELOG.md
minimal-mistakes-jekyll.gemspec
README.md
screenshot-layouts.png
screenshot.png
2. 将Gemfile文件全部内容改为:
source "http://gems.ruby-china.org";
gem "github-pages", group: :jekyll_plugins #为了维持本地Jeky与GitHub Pages同步
gem "minimal-mistakes-jekyll", :github => "mmistakes/minimal-mistakes" #安装最新的Minimal Mistakes,可以只留 gem "minimal-mistakes-jekyll"
group :jekyll_plugins do
end
运行bundle update并验证所有gems安装成功:
bundle update
3. 在 `_config.yml` (本文件极其重要,博主在 Configuration 中详细介绍如何自定义,请花时间消化) 中添加:
theme: minimal-mistakes-jekyll
4. 生成网页,排除各种故障:
exec jekyll build #显示版本不兼容,按照提示添加前缀bundle exec。若显示 No GitHub API authentication ,则在 _config.yml 中添加:github: [metadata] bundle
exec jekyll serve --watch #成功生成,在线修改(_config.yml文件修改无法实时生效,需Ctrl+C停止服务器,build后再启动) bundle
Git提交本地项目到GitHub
1. 第一次提交博客:
git add --all
"1st commit" git commit -m
#将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push git push -u origin master
2. 后期修改后提交:
git add .
"Xth commit" git commit -m
git push
至此,你的博客已经上线。后期你需要做的,就是更新博客、增减功能、界面美化等等。
模板作者一般会写好使用文档供你折腾,至少 Minimal Mistake 的作者将 Quick-Start Guide 写得不能再详细了。凡是你想到的功能,都有人实现过。所以只要善于利用搜索引擎,基本都会找到解决方案。
— 2017.11.15 —
我也只是图个开心。
END