使用Jekyll搭建博客
我最早的博客在blogger上,然后你懂的,在墙外很不方便。于是去年买了一个域名,然后在新浪云上搭了一个wordpress。但是新浪云有流量限制,还得做实名身份验证,最后那个博客也弃用了。最近github和markdown用的比较多,想起以前看到阮一峰老师介绍Jekyll和github-pages的文章,于是就实际操练了一把。总的来说这个solution发布文章很方便,页面速度很快,而且支持markdown,语法高亮,我还是很满意的。不过整个过程中坑还是比较多,这里记录一下。
Github-pages是github的一个服务,可以让用户把网页托管在github上。Jekyll是ruby的一个静态博客生成工具。
Install Jekyll
我在Centos下进行Jekyll的安装,坑还是蛮多的。主要参考的是github-pages关于Jekyll的文档
首先得安装ruby, bundler
yum install ruby
gem install bundler
然后安装Jekyll,因为ruby官方的源速度很慢,首先得把gem的源改成taobao的源
gem sources --remove http://rubygems.org/
gem sources -a http://ruby.taobao.org/
gem sources -l
我用的是bundle的方式安装,可以参考淘宝的文档,使用这种方式修改gem源
bundle config mirror.https://rubygems.org https://ruby.taobao.org
然后在一个自定义的目录里创建一个Gemfile,内容就是安装github-pages
gem 'github-pages'
在这个目录里运行bundle进行安装
bundle install
解决依赖的问题
安装Jekyll出现了很多包缺失的问题,这里列出我所遇到的,各位可以按照实际的错误日志依次安装依赖的包
yum install ruby-devel
yum install gcc
yum install zlib-devel
yum install patch
yum install libxml2-devel
Use Jekyll
Jekyll安装完毕之后,使用起来就很方便了。主要可以参考Jekyll的文档
jekyll new site_name
Jekyll会自动创建一个目录,然后进入这个目录
jekyll serve
访问localhost:4000
就可以看到博客了
Write posts
要写一篇新的文章,需要到/_posts
目录下面创建指定格式的markdown文件
格式必须是
YEAR-MONTH-DAY-title.MARKUP
然后这个文件的开头也必须遵守Front Matter
的规定
---
layout: post
title: Blogging Like a Hacker
---
Other Configuration
_config.yml
里面有很多配置项,也都可以参考文档进行配置
Publish to github-pages
github提供了github-pages服务可以托管各种页面,用户需要首先申请一个特定的repo username.github.io
, 然后把Jekyll生成的博客目录全部push上去就可以了
yum install git
git init
git clone https://github.com/username/username.github.io
// create jekyll site, write some posts
git push https://github.com/username/username.github.io
本来以为每次写了文章之后还需要jekyll build
, 结果好像github自动支持,文章push到repo上后,就会被自动build,非常方便
Config DNS
如果你跟我一样是一个顶级域名的话,可以参考这个文档
- 域名商那边添加两个
A record
, 然后加上CNAME
, 跳转到username.github.io
- 在
username.github.io
中创建一个CNAME
文件,里面写上自己的域名就好了
Add Disqus
因为Jekyll是静态博客,所以无法做评论,后来发现现在的评论都有专门的平台服务了。国外比较流行的是Disqus
注册一个账户,然后把Disqus的代码加入到_layouts\post.html
里就可以了
Conclusion
以上就是安装Jekyll,搭建静态博客的教程