按照惯例,在开始写博客的时候,都会写一篇如何搭建blog的指导教程。
本篇文章所搭建的博客是用git管理,用markdown写blog,用jekyll作为本地调式环境。
什么是Jekyll
Jekyll是一个简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档,通过 Markdown (或者 Textile) 以及 Liquid 转化成一个完整的可发布的静态网站,你可以发布在任何你喜爱的服务器上。Jekyll恰好是GitHub Pages的运行引擎,也就是说,你可以使用GitHub Pages的服务来搭建你的项目页面、博客或者网站,而且是完全免费的。除了Github Pages外,还可以选择码云Pages来托管博客。
安装Jekyll
Jekyll是Ruby的程序,接下在会在ubuntu系统上一步一步地安装Jekyll。
安装RVM
RVM是一个命令行工具,它可以让你轻松的安装,管理和使用多个Ruby环境。
第一步,安装mpapis公钥,用于验证安装包,确保其安全。
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
第二步,安装RVM稳定版
\curl https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer | bash -s stable
如果你使用的不是bash,可能使用zsh或fish,可以在rvm官网或stackoverflow上找到适合的配置方式。
安装Ruby
Ruby是一种编程语言。
列出ruby的所有可安装的版本:
rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p374]
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p320]
[ruby-]1.9.3[-p545]
[ruby-]2.0.0-p353
[ruby-]2.0.0[-p451]
[ruby-]2.1[.1]
[ruby-]2.1-head
ruby-head
...
安装Ruby的最新稳定版本(如:2.1.1):
rvm install 2.1.1
Checking requirements for opensuse.
Requirements installation successful.
Installing Ruby from source to: /home/mpapis/.rvm/rubies/ruby-2.1.1, this may take a while depending on your cpu(s)...
...
Install of ruby-2.1.1 - #complete
Using /home/mpapis/.rvm/gems/ruby-2.1.1
使用新安装的Ruby:
rvm use 2.1.1
Using /home/mpapis/.rvm/gems/ruby-2.1.1
检查是否运行正常:
ruby -v
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]
which ruby
/home/mpapis/.rvm/rubies/ruby-2.1.1/bin/ruby
安装RubyGems
RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。
- 下载RubyGems
- 解压并cd进去
- 用
ruby setup.rb
安装RubyGems - 检查是否安装成功,
gem -v
- 用国内的RubyGems镜像代替官方版本
$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/ $ gem sources -l https://gems.ruby-china.org # 确保只有 gems.ruby-china.org
用Bundler管理Jekyll项目
Bundler是用来保证Ruby项目一致性的工具。Bundler在这里不是必须要的。因为我们可以用gem install jekyll
命令直接安装jekyll。
执行命令安装:
$ gem install bundler
新建文件夹,作为项目的根目录。
在项目的根目录编写Gemfile
文件来指定依赖:
source 'https://rubygems.org'
gem "jekyll"
gem "jekyll-paginate"
使用国内的镜像:
$ bundle config mirror.https://rubygems.org https://gems.ruby-china.org
这样你不用改你的 Gemfile 的 source。
执行命令安装依赖:
$ bundle install
到这里,jekyll的环境就完成了。
初始化jekyll项目
初始化的手段有两个,一个是跟着Jekyll官方的快速入门指南, 创建新的空的博客项目:
# Create a new Jekyll site at ./myblog
~ $ jekyll new myblog
# Change into your new directory
~ $ cd myblog
# Build the site on the preview server
~/myblog $ bundle exec jekyll serve
# Now browse to http://localhost:4000
另一种就是复制其他博主的Jekyll项目或者使用jekyll主题。我们可以通过观察项目的目录结构,对比Jekyll的默认目录结构来判断。
Jekyll的基本用法
jekyll的基本用法看官方的文档就可以了。
托管发布
托管发布教程看github或gitee就可以了。
如无意外,你的博客已经可以查看了。
除了上面的发布流程外,我们还可以通过Netlify发布,而且Netlify支持https协议。
自定义域名
除了gitee外,github pages和Netlify支持自定义域名,详情可以在相关的托管发布教程里看到。
评论系统
国内的多说和网易云跟帖都关闭了,disqus在国内又不稳定,所以我选择了gitment,gitment是使用github账户登录的,比较适合像我这样的技术博客。
emoji插件
github pages支持jemoji插件,在github help有说明如何添加jekyll插件。
网站统计
网站统计功能就用百度的网站统计工具就好。