博主之前偶尔在门户或问答网站上写过技术性小文章,但总归不是自己的地方,少不了各种限制。今天开了一个小博客,第一篇文章来写写如何搭建这个站点吧。

起初打算从无到有建一个站,但稍微一查就发现根本make economical sense。前段时间痴迷于前端开发,使用鄙司的firebase+polymer做了一个IM应用。学习的过程还算顺利,但深觉制作一个站点(或者应用)非常耗费时间跟精力。在内容管理(content management)领域有如此多的工具,应该利用一下的。对比了几家,发现jekyll是比较有个性的,坚持全静态,无数据库。现在网站即app的年代,jekyll还能横行于世,应该是做的够好吧。而且我的目的是为了发布内容,应该对数据库的需求不高。何况根据搜索引擎优化(SEO)的原理,静态内容是高权重的。唯一的后台需求应该是文章评论,但貌似可以使用disqus来撑一下。

仔细阅读了一下jekyll的文档,了解了一下基本状况。以下命令就可以从无到有快速创建一个博客了:

$ gem install jekyll bundler #安装jekyll
$ jekyll new my-awesome-site #快速创建一个mimima主题的静态站点
$ cd my-awesome-site
$ bundle exec jekyll serve   #预处理并serve站点

在刚创建好的站点内可以发现一下目录结构:

my-awesome-site
|--_posts #存放所有文章的文件夹
|   |--2017-08-07-xxx.markdown #每个文章需要类似的格式
|--_site #jekyll自动产生的最终站点
|--_config.yml #配置文件
|--404.html #404页面
|--about.md #关于页面
|--Gemfile #开发环境配置文件
|--Gemfile.lock #开发环境配置文件
|--index.md #自动生成的主页

其中需要关注的就是_config.yml了,也就是配置文件,也是目前我唯一需要修改的文件(除去文章本身)。

# Site settings
title: #
description: #
url: # the base hostname & protocol for your site, e.g. http://example.com
github_username:  #
# Build settings
markdown: kramdown # markdown processor https://kramdown.gettalong.org/
theme: minima # 博客主题
plugins:
  - jekyll-feed #插件

设置好这些基本的内容之后就博客就配置完成了。

在阅读文档的时候发现github pages是对jekyll天然支持的,那么deploy也就自然选择github page了。 把我原来的github page的内容转移到about页面,commit+commit刚建立的站点到github。大功告成。