Skip to main content

· 3 min read

之前提到過 Python 2.6 新採用了一套叫做 Sphinx 的 rst 文件生成系統來管理 Python 語言官方的文件資料,用 sphinx 所生成的文件網站除了頁面能自訂樣式,自訂文件導覽順序,甚至還有附有搜尋功能。

已經寫過一篇 試玩 Sphinx

而現在值得再提的是,Sphinx 專案已經獨立出來了,可以將 sphinx 應用在任何需要文件網站的情況裡。

1. 安裝

easy_install sphinx

2. 打開命令列,找個目錄,鍵入

sphinx-quickstart

照著互動提示輸入一些生成訊息後, sphinx 會在目錄中生成幾個簡單的檔案。

目錄中生成幾個簡單的檔案其內容為:

  • conf.py

conf.py 中的內容大部分是我們剛剛在互動提示中填入的資訊,在此都可以修改。

0.5 版之後支援中文介面 (我丟的 Patch),只要在 conf.py 中指定「language = 'zh_TW'」即可。

  • MAKEFILE

給 linux 或 mac 用的 make 檔。

  • index.rst

index.rst 等於是整個文件站台的主頁

  • .template

文件站台的樣板,要自訂樣板就修改這。

  • .static

靜態文件,如圖片等內容。

  • .build

建立 (編譯) 好的文件在此。

.template/.static/.build 這樣的檔案在 windows 下不易辨識,可以在互動提示中詢問 "Name prefix for templates and static dir [.]:" 時,將 '.' 改成 '_'。 那麼生成的資料夾就會變成 _template/_static/_build。

3. 建立文件

sphinx 會在目錄中生成 make 檔,輸入

make html

即能產生完整的 html 文件站台。

如此一來,整個完整的站台都能用 rst 格式來構成啦,實在便利。

沒有寫過 rst (結構化) 文件的人,也可以參考 reStructuredText Primer

PS: 順帶一提, Pylons 與 TurboGears2 都已經有 sphinx 支持了。 TurboGears2 的部份 (這個是我加進去的) 可以用原始碼 docs 目錄中的 get_tgdoc.py 從 docs.turbogears.org 自動下載 rst 格式文件,然後再用上面提到的 'make html' 轉成 html 文件檔。

· One min read

在學 Android 1.0 版的地圖應用方面碰到很多麻煩。

其一是 Android 1.0 版的地圖功能,在開發中就需要由金鑰申請 Map Key。 其二是各種版本 (M3、M5、0.9、1.0) 下來幾乎很難確認哪本書、哪段 Tutorial 到現在還是正確的。

SQLite 資料庫應用亦是有相同問題。

雖然遇到很多挫折,但看看 Android Map 的實際功能影片,會覺得不管怎樣,還是該學會這麼強悍的東西呀 :D

Update: 地圖部分已經搞定了。草稿也寫了些。接著來搞定 SQLite 資料庫吧 :D

· 3 min read

在「Android Market」開放給開發者上傳應用程式的第一天(美國時間 10/27),我就將「深入淺出 Android -- Google 手持設備應用程式設計」電子書中的兩個範例程式「aBMI」(英制)(還沒釋出的範例)、「gBMI」(公制)(基礎、中階的範例)「身高體重指數計算」程式上傳到「Android Market」上。考慮到當時使用者 (美國) 主要集中在使用英制的國家,因此我預期「aBMI」應用程式會得到比較好的評價。

果然,在第一天結束之後,截圖如下

「aBMI」(英制) 得到 732 次下載,目前「active installs」(仍安裝在機器上) 的人數為 452 人(比率 61%)。共有 25 個人平均給予 3 顆星的評價。就一個運作相當簡單的應用程式而言,比起其他書籍範例的完成度,3 顆星的評價還是算相當可接受的。至於「gBMI」(公制) 則因為不是針對目標使用者設計,得到 602 次下載,「active installs」的人數為 193 人 (比率 32%)。只有 11 個人平均給 2 顆星的評價。因此可以明顯看到,「gBMI」不論是下載的人數、安裝後繼續使用的比率,或是整體評價都要比「aBMI」差一個檔次。當 Android 手機在使用「公制」的國家開賣後,相信比例或評價會再次變化。

在設計兩個應用程式時,同樣需花上差不多的時間,但是卻得到有相當明顯差別的結果。由此可以看出,手機應用程式需針對使用者的特性來設計的重要性。

· One min read

前幾天 Android 平台 開放了原始碼,同時也提供了 RoadMap。裡面有很值得玩味的訊息。

在 Q1 2009,Android 平台將會加入以下支援:

1. Localization

French, Italian, es_es, zh_TW, Ja, NL, CZ

2. IMF & IME (輸入法框架、虛擬鍵盤)

如果照著 Android 系統之前隨機子釋出的慣例來看,2009 Q1 很可能會有繁體中文版的 Android 手機喔。

· One min read

不管是專屬軟體還是開放源碼軟體,除錯絕對不會是免費的。即使沒有實際付錢,還是有機會成本和時間成本。投入開放源碼計畫的志願性程式人力是有限的,所有開放源碼計畫都在爭取同一群有限的程式設計資源,只有最具吸引力的計畫才能擁有超過需要的志願開發者。 -- Joel on Software