Preface

经过了好些时间的奋战,好说歹说是把这个迷你的博客搭起来了。虽然网上有无数教程,但是由于平台差异,还是遇到了非常多的麻烦,(坑爹呢这是!( ╯#-_-)╯┴—┴ )。嘛,技术宅的道路任重道远,动心忍性啊。总之,侯门一入深似海,喝水不忘挖井人,第一篇blog顺理成章写一段小教程吧,希望能帮到各位想要个免费的小小的博客的朋友。

Octopress

Octopress简介

Octopress是一个用ruby写成的基于Jekyll架构的静态博客框架。具体介绍官网比我清楚,在此我只说说个人感受。

首先要说的肯定是平台的事儿。(再掀一次!( ╯#-_-)╯┴—┴ )因为会用到很多依赖,比如ruby,这就牵扯到版本控制,Linux下有rvm或者rbenv等等成熟的版本控制程序;比如之后的发布要用到git,语法高亮要用到python等等。总之,用Linux会方便很多很多。某Windows,唉……在此抹一把辛酸泪,我容易吗我T T。顺便在此感谢淘宝做的国内RubyGem镜像,我觉得这是对国内开发人员最直接的鼓励和某些行径最直接的打脸。

其次就是需要掌握的知识了。就像是官网介绍上写的一样:Octopress, A blogging framework for hackers.这是一个黑客用的框架,而一个黑客必须是博学的。我本人仅仅粗浅的接触了一下就已经涉及到很多知识了。如ruby和配套的rakefile,发布需要学习git,修改配置文件涉及到yml以及html等等相关语法,写博客需要使用markdown语法。当然,这些是不需要十分精通也可以使用的,因此也无需因为这些就打退堂鼓。

然后,Octopress繁多的依赖决定了其准备步骤繁杂,如果换一台电脑,会花相当(嘛,其实也没多少,只是比其他框架多一些吧~)的时间在准备依赖项上面。而且,由于是静态博客,每次生成都会重写所有Page,加之ruby的速度限制,因此在博客数量繁多的时候生成会相当慢。

本机安装Octopress

好,既然决定要进坑,那么这就开始吧。

安装git

网页要托管在github page上就免不了使用git。(为啥非要托管在github,因为它免费!)这个真心不是坑,强烈推荐大家使用版本控制系统,熟悉之后你就知道这东西的方便了。 git的下载地址在github官网上。github上非常贴心的有git的入门教程,推荐大家看一下。

安装Ruby

在linux上好说,下一个rvm万事大吉。

在windows上这是个麻烦事儿,因为windows没有方便的ruby版本管理系统,得到官网上去下载对应的版,也可以通过以上淘宝的国内镜像链接下载。

装好ruby之后记得查看版本。

1 $ ruby --version

确定版本与Octopress网站上需要的版本一致。(我现在用的是1.9.3) 另外,现在版本的ruby都是附带gem的,如果想手动下载,可以参考这里

下载与配置Devkit(Windows only)

下一个问题又是为难我windows用户的。(我感到了世界满满的恶意= =)由于Octopress处理的时候需要C编译环境,我们得装一个叫Devkit的东西。进入下载地址选择相应的版本下载,之后解压到合适的目录。下一步进入目录,修改config.yml,向其中加入ruby的目录。(加到最后一行就行啦)然后输入指令

1 $ ruby dk.rb init
2 $ ruby dk.rb install

这样就配置好了Devkit。

更改本地环境配置

亲爱的windows用户,你又有麻烦了。为了支持中文UTF-8,我们得把windows环境变量改一改。加入LANG=zh_CN.UTF-8LC_ALL=zh_CN.UTF-8即可。

下载与配置Octopress

Octopress目前托管在github上。(你看,又是github)

有了git之后我们打开命令行,在一个合适的位置将Octopress clone下来,代码如下:

1 $ git clone https://github.com/imathis/octopress.git Octopress

之后,由于国内某些见不得人的原因,我们需要改一改gem的更新源。运行

1 $ gem sources -a http://ruby.taobao.org/
2 $ gem sources -r http://rubygems.org/

Octopress里的配置文件也得改。进入Octopress目录,打开Gemfile,将source改为http://ruby.taobao.org/即可。

接下来配置Octopress。(一键傻瓜式配置~~)在Octopress目录下运行

1 $ gem install bundler
2 $ bundle install
3 $ rake install

如果rake报错,试试bundle exec rake install。这是因为rake所需版本和现存版本不一致造成的。出现类似的问题都可以如此解决。 好的,如果顺利的到达这里,我们已经成功一半了。

Github Page

GitHub Pages是一个公共的免费网页托管服务。任何人都可以非常方便的在上面发布静态网页,并且用Git控制,十分便利。不过需要注意的是不要把过于隐私的东西发布到上面,因为公共的,别人可以轻易clone下来。我们所要做的就是在这上面,将我们本地生成的静态网站挂载上去。

创建一个repo

首先需要一个Github账号,简单的注册一个就好。

然后新建一个repo,名称需要是username.github.com,username是本人的账号,代表这是你的个人主页。

之后进入Octopress,输入:

1 $ rake setup_github_pages

程序会提示输入网址,这时候按照他的提示输入即可。之后输入:

1 $ rake install
2 $ rake depoly

不出意外,稍等一会儿,就可以在名为username.github.com的网站上看到你的博客了。

大功告成,可喜可贺。撒花撒花~~

发表博文

搭建好Octopress之后,你能够看到默认的欢迎页。当然,里面是空空如也的。赶快动手写一篇博文吧。

1 $ rake new_post['title']

只需这样一句简单的指令,Octopress会在/source/_posts/下生成一篇相应的markdown文件,编辑该文件即可发表博文了。 之后输入

1 $ rake generate
2 $ rake preview

可在本地端口4000预览生成的博客。确认无误后记得

1 $ rake depoly

上传到github上。

更多的操作和指令在Octopress根目录下得Rakefile中。稍懂ruby的同学应该都能看明白。在此就不啰嗦了。

杂谈

LZ我还是一只ruby新手,但是我认为任何成熟的,由ruby写出来的框架的代码都是值得一读的。大名鼎鼎的Rails自不必说,它已然成为了ruby书写的框架的典范了。而Octopress的代码,我认为,也是非常有学习的价值的,热爱ruby的同学一定抽点时间来好好看一看。

另,Octopress十分强大,许多的特性LZ还没有搞明白,日后有时间研究清楚了一定会更新的。

Keyboard Stroke Frequency Analysis

Count and show keyboard strokes.

Koans Games

Published on May 12, 2014

About VIM and It’s Philosophy

Published on May 01, 2014