之前提到拿來做python練習的第一個網站已經上線一個月了,不過幾乎只有我在用。使用說明都寫在首頁,就不在這裡講太多,僅列出幾個特點:
- 免註冊,從ptt上轉寄信件到 ptt@tyker.info 即可
- 閱讀界面分個人專屬列表與全體閱讀列表
- 簡單排版,保留部份ANSI色碼,目的是讓手持裝置容易閱讀
- 提供轉寄功能將文章備份到自己信箱
- 有撲浪機器人,加入好友後每小時會收到隨機推文
會寫這東西是因為我很常看bbs,尤其後來都只停在ptt上。換工作之後大部分的port都被封鎖住,衍生出在家裡看文章的時候會順手轉幾封文章到信箱,然後可以透過webmail登入閱讀,有時候從公司電腦,有時候在路上以手機閱讀。(如果你也有相同需求,也來玩一玩啊拜託,不需要註冊很方便的~)
如此一來出現的第一個問題就是大量的ANSI碼效果不見,反而變成郵件裡的垃圾字元,所以想說如果有個簡單的呈現介面,可以重現部份ANSI效果或者過濾掉多餘的特效,以bbs幾乎是文字訊息的特性其實很適合在手機上瀏覽。
把網站架構規劃好之後我就開始一步一步進行實做,在技術上並沒有特別困難的地方,雖然是第一次使用Django這個framework,不過看完四篇tutorial之後做起來倒也挺順利的。花比較多時間的反而是ANSI碼的處理跟UAO字碼轉換。
在實作的過程我本來就不打算完整還原ANSI效果,因為這跟我的原始方向不符,如果呈現過多的色彩效果,在小螢幕的閱讀上反而會是一種負擔。所以我把目標定在不讓多餘的控制碼出現,以及顯示部份前景顏色,至少要讓推文看起來有原本的視覺效果。如果很需要完整ANSI效果的建議使用BBS Forwardr,我覺得他的ANSI效果做的非常完整。
UAO的處理又是另一個歷史共業,一直到現在PTT的文章編碼仍然是Big5,搭配Big5使用的Unicode補完計畫也被大量使用在含有日文的文章內。因為要轉成網頁顯示,沒有理由繼續使用big5,因此一開始就要把所有資料轉成UTF-8,但使用python的轉碼器碰到UAO裡的日文就破功了,big5hkscs算是可以轉出大部分的日文,但中文部份反而又會掉字。還好後來有找到wini做的codec,之後就沒看過日文文章有掉字了。
原本還列了一些todo,不過看起來不是那麼緊急,如果有人反應再來看看吧,現在先把心思放在製作無用的小網站來做各種練習,第一個已經做的差不多(書摘網至少我都有在用,所以不算無用小網站 XD),過幾天應該就會上線。至於第二個的題目為第一個的衍伸,應該可以讓我再玩上一段時間,目標是要熟練到”只要「四堂課、三小時」,「什麼網站基本上都能寫出來了」” 這樣的程度,這是理想,可不是要戳誰啊~
Categories: 工作, 不良嗜好
4 則留言 »