Windows下使用Octopress嵌入Python代码的问题

前一篇日志其实蛮想测试一下Octopress的代码嵌入及下载功能,但是按照Octopress的文档说明,用 `{% include_code %}` 命令出来的居然是一个错误

1
Liquid error: No such file or directory - python -c “import sys; print sys.executable”

让我百思不得其解。只好先把代码显示先改为文件下载。

问题会出在哪里呢?我在ruby-taiwan论坛和twitter上都问了,没有人回答我。我只好自己来找bug。其实也不是很难,在Octopress的support就有人提出了这个问题,原来是因为pythonexec.rb这个文件不支持windows,你可以打开他的代码看看,里面只有判断是不是mac和unix的操作系统,根本就没有有关windows的一行代码。这是说用ruby的人没有用windows的么?

解决方法,下载这个文件,代替ruby目录\lib\ruby\gems\1.9.1\gems\rubypython-0.5.1\lib\rubypython下的同名文件就好。荣誉归于raineszm

另外,Octopress的开发者imathis新开了一个网页,介绍可用于Octopress的主题,有几个还是挺不错的,我现在在用的就是里面的slash。

Octopress修改样式及加速预览

样式主要是要修改/sass/custom/_style.scss这个文件,比如现在我的文章标题就是
.entry-title{font-size: 1.5em;}
这个文件最后读入,覆盖之前的设置,生成对应的screen.css文件

另外,如果需要编写编改,而文章太多造成编译缓慢的话,可以用rake isolate这个命令。比如当前这一篇可以用
rake isolate[tweak-octopress]
编译,这个时候ruby会把之前编译好的都到source/_stash,只编译这一篇。这样用preview看比较快。要发布的时候再用

1
2
3
rake integrate
rake generate
rake deploy

就好