知识共享许可协议本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。本文仅作为个人学习记录使用,欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作。如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息。

为啥搞这个

最近一个同学开始写博客了,给我介绍了下可以用octopress和heroku,让我看了下他的博客的效果和一个使用教程,看了下发觉还算是不错的东西,并且也是装B专用的啊,哈哈,于是顺便自己也学学怎么用,刚好也想开始试试写写博客,但是发现一个问题,他用的是linux和mac而我用的是windows,windows从根本上没有提供shell和较好的ruby支持,现在来写下自己在windows上使用octopress的经验.不过我也没写过博客…这个文章最主要的目的是给自己记录下以后才知道要怎么用.

开始安装吧

既然是for windows users那么自然就只有windows部分的安装方法了,而windows先天没有shell和ruby的环境自然不好安装,那么下一步先安装ruby,windows下有RubyInstall比较好用,可以直接下载最新的1.9.3来安装,安装完成后还需要一个编译环境,否则无法安装octopress所需要的gem,那么我们还需要一个可以编译的环境这里我用的是MinGW大家可以自行到http://www.mingw.org/下载安装配置使用,这里就不详述怎么用了.

下载后先从github获取octopress

git clone git://github.com/imathis/octopress.git

获取成功没问题的话

bundle install

成功的话

rake install

那么我们测试下是否成功了

rake preview

这样就可以在http://127.0.0.1:4000看到成果了

写文章

在octopress里面每一个文章都是一个markdown格式的文件,需要放在source/_post路径下需要按照YYYY-MM-DD-post-title.markdown的格式来命名,这样才能正确生成文章,当然也可以使用rake来做

rake new_post[postname]

那么就会自动创建相应的文章了,一开始大家肯定都不熟悉markdown这种东西,那么就需要相应的工具了,mac上有好用的Mou,windows上自然也不会缺少好用的工具了,目前自己用着MarkdownPad觉得也还挺不错的

生成文章

写好后,最重要的工作那就是发布到heroku上了,否则写了干啥呢-,-…但是先等等,我们的文章还是markdown格式的文件的,还需要生成为静态的html文档的,那么就需要下面的命令

rake generate

这时候如果博客文件里面有中文,那么立马出错,可能是编码的问题导致的,但是文件编码已经是UTF-8的了,但是还是没办法解决,经过多方查找终于找到了一个解决方法,修改C:\Ruby193\lib\ruby\gems\1.9.1\gems\jekyll-0.11.0\lib\jekyll\convertible.rb(路径根据ruby安装的未知不同而不同)文件中的

self.content = File.read(File.join(base, name))

self.content = File.read(File.join(base, name), :encoding => "utf-8")

即可,如果大家有新的方法也可以联系我.

发布到heroku

上传之前需要先修改.gitignore的内容,将public去掉,否则未上传public的内容会出现Sorry, I cannot find /的错误信息.

好的如果到这里都没有错误,那么说明我们的ruby,octopress等各种东西配置都无误,那么说明我们已经基本成功了,剩下就是要把生成好的博文发布到heroku上了.

如果还没有项目,那么需要先建立应用

heroku create appname

appname就是你的应用的名字,然后再把之前弄好的东西放到git上

git add .
git commit -m "Commit my blog"
git push heroku master

到此上传没有问题,那么就结束了,我们可以通过http://appname.heroku.com来访问我们之前建立好的页面.

最后欢迎大家订阅我的微信公众号 Little Code

公众号

  • 公众号主要发一些开发相关的技术文章
  • 谈谈自己对技术的理解,经验
  • 也许会谈谈人生的感悟
  • 本人不是很高产,但是力求保证质量和原创