自从接触Web设计以来,就一直想搭建一个自己的独立博客。之前一直在用第三方的博客,我选择的是网易。网易博客很少有广告,而且可以自命名一个二级域名,其另一个产品 LOFTER 也不错。那么为什么还要搭建一个独立博客呢,我大致总结了以下原因:

  • 1. 对自由的追求,可完全自主
  • 2. 拥有自己的独立域名,高大上
  • 3. 记录和分享,将一些东西存储下来,以便以后查阅
  • 4. 总觉得用别人的东西有些寄人篱下的感觉,而且第三方博客提供的功能不够。例如网易的就没有搜索本站的功能,每次去找自己写的文章都很费劲
  • 5. 喜欢折腾,在折腾中学习,学习过程中的乐趣真的难以表达。有时候对一些东西的痴迷,真是太可怕了,废寝忘食,非要做完不可。

其实最主要的原因还是因为掌握了一些Web设计技术,想做个网站练练手,好奇建立网站的过程。以上所列的原因都应该是建立在此基础之上的。至于为什么要写博客,你可以看看这篇文章:为什么你要写博客?

以前我特别喜欢写作,后来因为大学选择了理工科,所以就很少机会提笔了。但是写作的欲望却仍然很强烈。很奇怪,我是一个嘴特别笨的人,有时候跟别人交流,都不知到说什么好,半天憋出一句话却忘了下一句要说什么。但是只要拿起笔纸,就挥洒自如,千言不止。现在在写起东西来的时候,感觉没有从前敏捷了。大概是因为现在所读的书都是些专业的技术书籍,而很少涉及文学作品。

刚开始折腾的时候,决定采用 wordpress来作为博客系统。关于wordpress的资料,在互联网上真的可以用不计其数来形容。WordPress是一种使用PHP语言开发的博客平台,使用其搭建博客也不太难,而且用户数量庞大。这也是很多人选择它的原因,至少遇到问题有资料可查。当时在本地搭了一个wordpress的环境,找了很多模板,最后看上了一个,决定基于它修改修改。反正自己写主题是有难度的,但是用别人的总感觉不爽,而且总感觉没有找到一个称心的,不管怎样心里还是有个疙瘩。还有一个问题就是,采用这些博客系统需要购买主机空间。有时候想想,就是为了玩玩,干嘛要花那些钱去折腾呀。也是因为这个原因,我的博客就一直没有搭出来。

慢慢的,搭博客这件事就被我暂时搁置在一边了。也算是我特意要去网忘记这件事的,因为我觉得我对它太痴迷。甚至有时候上班也在考虑弄它,导致静不下心来工作。

就这样,又过了一段时间,我看到了这篇文章:一小时搭建个人网站。这篇文章可以说真是深入我心。于是,尝试着做了做。接着并了解了 github pagesjekyll(发音/'dʒiːk əl/,"杰克尔"), markdown等。虽然我早早的就注册了 github 账号,但一直没用,因为它是国外的,说不准哪一天就被墙了。我只把我的一些小代码托管在 Git@OSC 上,这样比较有安全感一些。这才后悔了,我怎么就没有早点接触 github,早点接触 github pages,这样也不至于折腾那么半天。

Github Pages 是面向用户、组织和项目开放的公共静态页面搭建托管服 务,站点可以被免费托管在 Github 上,你可以选择使用 Github Pages 默 认提供的域名 github.io 或者自定义域名来发布站点。Github Pages 支持 自动利用 Jekyll 生成站点,也同样支持纯 HTML 文档。Github pages 有两种模式,一种是 User/Organization Pages 个人或公司站点,即个人主页;另一种是 Project Pages 项目站点,即用于给项目创建主页。至于搭建博客,采用两种模式均可。下面是我在 Github 上搭建博客的过程。

1. 创建个人站点项目

创建一个新的GitHub仓库,命名为yourusername.github.io。例如,我的GitHub账号是kuanghy,所以我的仓库命名为kuanghy.github.io。然后在本地安装 jekyll,这主要用于本地测试,也可以不用安装。安装方法:

$ gem install jekyll

如果你是在 ubuntu 及其衍生版本中工作,还可以在软件源中直接安装:

$ sudo apt-get install jekyll

安装完成之后则创建博客程序目录:

$ jekyll new myblog

这样就生成一个博客模板,进入生成的目录,然后运行 jekyll:

$ cd myblog
$ jekyll serve

在浏览器中输入:http://localhost:4000 则可以预览你的博客。

然后将该项目 push 到 github 上。哦,对了,你应该得会一些 git 的知识。那么这里简单的介绍下步骤吧:

$ cd myblog         # 进入项目目录
$ git init          # 初始化项目
$ git add .         # 添加当前目录下额所有文件到项目
$ git commit -m "first commit"   # 提交到版本库
$ git remote add origin https://github.com/username/username.github.io.git   # 添加远程仓库地址
$ git push -u origin master  # 提交到远程仓库

提交完成之后,在浏览器中输入: http://kuanghy.github.io/ 就可以看到博客的效果。

其实在 github pages 上搭博客,我所了解的还有另外一种方法,就是Hexo,如果你感兴趣的话,可以看看这篇文章:简明Github Pages与Hexo教程。但是我觉得这个方法的配置过于繁琐,所以最后放弃了。还有一个更简单的方法:用静态页面生成静态博客。作者已经用 js 做好了所有的接口,傻瓜式操作。我本来也打算用这个的,但是作者将所有的文章页面文件全放在了根目录下,如果有上百篇文章,那个在根目录下岂不是有上百个文件,这样看着是不是很不爽。而且其他目录的布局也不太合理。本来打算改改他的 js 的,但是后来没有,也就放弃了。其实,如果你不关心项目本身,只在乎博客索呈现的页面,那么这是一个不错的选择,比如你不懂任何计算机技术,只是想写博客。该作者提供了在线编辑 markdown 文档方法,而且有实时预览。我最终选择 jekyll,是因为看到了这篇文章:github Pages和Jekyll入门

2. 挑选主题

博客的基本框架搭建完成之后,下一步当然是要挑选一个合适的主题了。同样的,我搜索了很多了主题,如果你也在搜索主题,那么可以去这里找找:Jekyll wiki Sites, Jekyllthemes.

搜索并尝试了很多主题,都觉得没有合适的。有的做得太花哨,有的功能我不满足,有的页面实在是入不了我的法眼。哎,失望至极之后,我决定自己写一个主题。我是一个极简主义者,一切的一切都崇尚简单,认为简单,才是这个世界上最美的艺术。所以我的博客不需要太花哨,那样就显得繁重。我只希望能够单纯的呈现文字。

在我准备动手决定自己写一个主题时,我转念一想,我希望做的,肯定有人已经做了。于是又去搜索,果然就找到了一个称心的主题,它的简单正和我意。在这里感谢原作者 webfrogs 的提供,我现在所采用的主题是 Yonsm 的修改版,然后我又在此基础上进行了修改。

3. 对原主题的修改

  • 独立关于页面

我把关于页面独立出来,写成了一个独立的页面,因为我想在其中展现另外的一些东西。

  • 添加搜索本站功能

这个功能是我一直所需要,但是原主题中没有提供,于是我添加了这个功能。如果把搜索功能添加到主页面上,感觉有些画蛇添足,影响原页面的美观。于是我把搜索功能独立出来,也写成了一个独立的页面。,目前的搜索功能只支持文章标题搜索,不支持全文搜索,但我觉得已经足够了。

  • 添加相册页面

我做了一个相册页面,链接放在了关于页面。

  • 添加返回顶部和底部按钮

如果文章太长,要想快速的回到页面顶部或者底部实在是太难了,所以我增加了此功能。

  • 做一些简单的SEO

    • 配置文件中添加 keywords,description 两个字段,分别用于网站关键字和网站描述。
    • 添加站点地图,即根目录下的 sitemap.txt 文件,以便于搜索引擎收录
    • 添加 robots.txt 文件

好了,至此我便可以在属于我自己的博客中写文章了。乍一看是不是觉得很简陋呢,但是我喜欢这个样子。我费了这了大力气搭建博客,并不是要向别人展现什么,我只是为了满足自己,为了记录和备忘。我的博客,我所写的文章会不会有人来看,这不重要,重要的是,我自己会看。我觉得我是一个记忆力非常不好的人,别人很容易记住的东西我要花很长时间才能记住。以前我总是会在书包里放一个笔记本,记录自己所看到的,所想到的。有些东西,如果你遇到了,但没有收藏,或许以后你就再也找不到他了;有些灵感,如果出现了,但没有记录,那将转瞬即逝再也捕捉不到。后来我就把我所想到的,所看到的,所学到的记录到了博客上。毕竟现在网络无处不在,当我需要的时候, 我会凭着我微弱的记忆到博客中寻找。

不知道从什么开始,我已经不再刻意的花大量的时间去记住某些东西了,我所做的是在为自己创建更多的“第二类记忆”此概念出自一位教师所写的《忘记是最好的老师》一文,此后我将在博文中贴出此文)。我在相信,凡是你记不住的,都是本来就不需要记住的东西

Huoty 2015年5月6日午后