程序员的世界真心让人不懂啊,放着好好的wordpress,typeecho, drupal等方便的程序不用,非要整回原始时代。Octopress被称为像黑客一样的写博客,但我一直对其无爱的,整个流程怎么看都像是回到了fontpage时代。我以实用主义为原则,不会接受那种看起来很酷,但用起来却虐心虐肺的工具。而检验这一原则的标准就两个,一个是看它能不能通过时间的考验;另一个就是亲自肉身试用。Octopress安装和配置比较简单,官方的文档也比较详尽。所以安装过程就不表了,说说遇到的问题和使用感受。
- 安装Ruby的时候因为某些原因没法正常安装,所以只能上唯屁恩,不然安装不下去。
- 服务器和本地都需要安装rsync服务。否则执行
rake rsync
的时候会出错。 - 因为都是生成了静态文件,所以服务器上只需要安装nginx就可以了,不再需要php,mysql等。网站打开的速度还是相当令人满意。当然,一个完全静态的网站,所以就没有了与网友互动的功能,评论类似的就只能借助于第三方服务。
- 发布文章或博客时填写名称的时候不能有空格。中文的标题在生成文件名的时候会自动转换成拼音,这个相当赞。
- markdown可以用任何编辑器来编辑,格式也简洁清楚。vim中还有一个octopress-vim的插件,只可惜功能有些弱,不过可以对 markdown 文件进行高亮格式化,所以还是可以用一下的。
- 可以用
rake preview
命令本地预览。查看或是修改界面还算方便。
把以前的几篇文章加上去看了下效果,还算不错。
接下来就是考虑个人需求并做决定了。没有繁琐的后台系统,免维护和管理,方便的撰写内容。对我来说足够了。我决定尝试使用Octopress。不过就目前的使用流程来看,还不够方便。每次写内容的时候,我还必须要前往博客的主目录,然后使用一系列的rake命令来完成整个操作,感觉相当不流畅。写一个shell脚本来简化这些流程吧。
完成后的shell脚本如下:
#!/bin/sh
root=/my/blog/path
scriptName=`basename $0`
cd $root
case $1 in
'blog')
name=`date +"%H-%M-%S"`
if [[ $2 ]]; then
name=`echo $2|sed 's/ /-/g'`
fi
path=`rake new_post[$name]|awk -F":" '{print $2}'`
vi $path
;;
'page')
if [[ ! $2 ]]; then
echo 'need page name'
exit
fi
name=`echo $2|sed 's/ /-/g'`
echo $name
path=`rake new_page[$name]|awk -F":" '{print $2}'`
vi $path
;;
'view')
rake preview
;;
'publish')
rake gen_deploy
;;
'build')
rake clean
rake generate
;;
'open')
open $root
;;
'edit')
vi $root
;;
*)
echo "usage: $scriptName [blog|page|view|publish|build|open|edit]"
exit 1
;;
esac
这是一个简单的shell脚本,添加的功能如下:
- blog: 撰写一篇日志 可以附带文件名参数,不给文件名就会以当前时间自动命名
- page: 撰写一个页面
- view: 本地预览
- publish: 发布内容到服务器
- build: 重新生成内容
- open: 在文件浏览器中打开博客目录
- edit: 在vim中打开博客目录
使用这个脚本,只需要修改第二行中的_root_参数,文件名任意,我这里为_blog_,添加运行权限,然后丢到 /usr/local/bin 目录,我就可以随时打开终端在任意位置操作自已的博客。
例如想要在vim中写一篇博客: blog blog
本地查看一下博客: blog view
发布最新的内容到服务器: blog publish
在vim中编辑已存在的博客: blog edit
感觉一切都简单流畅了许多,还有什么理由不写点什么呢?