pyBlogtle 計劃啟動

前言

在Octopress用過一陣子之後,最令人詬病的就是 generate 的 speed 一直提升不起來,光是我這只有少少的 136 篇的 markdown 每一次的 generate 就要花上快要 12sec 以下為測試數據

1
2
3
real  0m12.665s
user  0m12.053s
sys   0m0.564s

所以在想如果利用其他語言編輯不知道效果如何,我到最後選定的基本語言就是python,因為眾多的 extension 也是我的考量之一吧...(沒錯我就是懶),另外因為 Flask 那是因為

Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. And before you ask: It's BSD licensed!

我有利用其來編寫過一些網頁,對與它的功能及速度上有著非常深刻的映像,外加 Flask 的 extension 也是非常多,尤其是 Frozen-Flask 才是本次的主角,外加本人真的有點潔癖潔屁,不喜歡一大堆東西混雜的放在一起(看向 octopress 的 _source 資料夾)。

由來

為何叫做pyBlogtle

flask is a kind of bottle.
so Python + Flask + Blog => Pyblogtle

就是這麼簡單,目前 source 我是放在 Bitbucket/PyBlogtle 有興趣的人可以 clone 下來看看。

HOT TO USE

首先需要先配置python所需要得環境,而 require 內部為所需要的 python extension 可以利用 easy_install 安裝

1
for i in `cat require`;do sudo easy_install $i;done

基本上只要將所有的 Markdown File 的副檔名 rename 成 .markdown 並且還要轉換一下,因為 Octopress 的 meta head 的格式在這裡完全不通的

1
2
3
4
5
6
7
8
9
---
layout: post
title: brabrabrabra
date: '20XX-XX-XX'
comments: true
categories:brabrabrabra
permalink: 
---
brararararararrarararrrarar

閉需要換成

1
2
3
4
5
6
7
8
layout: post
title: brabrabrabra
date: '20XX-XX-XX'
comments: true
categories:brabrabrabra
permalink:

brararararararrarararrrarar

在 bash 底下只要下以下的指令就可以轉換了(請記得要備份):

1
2
for i in `ls *`; do sed -i -e "1d" "$i";done
for i in `ls *`; do sed -i -e "s/---//" "$i";done

轉換完後就就可以丟到 page 的 folder 並且下

1
2
python blogtle.py preview #這是預覽
python blogtle.py build   #這是產生 static file 放在 build folder

時間測試:

1
2
3
real  0m1.929s
user  0m1.840s
sys   0m0.080s

目前真的只是半成品而已,請大家鞭小力點...OTZ

Mon Oct. 22 2012
Comments

Comments