本格堅守四不一沒有政治主張:不知道、不清楚、不瞭解、不明白、沒有我的事!
[ start | index | login ]

SnipSnap hacking I

Created by Ada. Last edited by Ada, 5 years and 204 days ago. Viewed 349 times. #3
[diff] [history] [edit] [rdf]
labels
Parent:SnipSnap
attachments

SnipSnap hacking I

我在 >>2005-02-11 中提到要 Hack SnipSnap 以輸出更恰當的 Label 搜尋結果。目前的 hack 過程如下:
  1. 先在 LabelSearchMacro.java 中測試如何擷取出每一篇 snip 的標題。
  2. 發現 LabelSearchMacro.java 是將查詢結果 (統統是繼承自 Snip 的 SnipImpl 物件) 交給 output() 去輸出,這個 output() 函式來自於 ListOutputMacro.java 。
  3. 在 ListOutputMacro.java 中依是否設定 formatter 決定將輸出動作交給 defaultFormatter 或是指定的 formatter,而 defaultFormatter 其實是 SimpleList.java 。
  4. 因為沒有自訂的 formatter ,所以看起來只要修改 SimpleList.java 即可。
  5. 在 SimpleList.java 中檢驗每一個待輸出的物件類別,分別寫到串流中輸出到前端。
  6. 因為每一個 snip 都有一個 permalink,所以可以透過 snip.getLink() 方式取得這個 permalink。不過問題就在這邊:SnipImpl.getLink() 送出的格式並非參考該 snip 內設定的第一個標題字串而是看該 permalink 最後一層的名稱為顯示的內容,我不想要這種顯示方式。
  7. 從這邊看來,有幾種修改方式:
  • 在 SimpleList.java 中內建 permalink 的產生動作:好處是只要改一個檔案即可;壞處是可能破壞其他非屬 Label Search 動作的輸出結果,而且只要 >>SnipSnap 一改版就得將相關的程式全部重新 patch 一遍。
  • 改 SnipImpl.java 內容,將 permalink 的產生動作替換成自己的版本:和上述方式一樣有一改版就得 patch 所有相關的程式碼。
  • 新增一個 Formatter 來處理 permalink 的產生及排列動作:因為是外掛的程序,當 >>SnipSnap 改版時的修改幅度最小(只要讓 LabelSearchMacro.java 能指定使用該 Formatter 進行輸出即可),不過如何設定使用自訂的 Formatter 則要研究一下才知道。
  • 新增一個 Label Search 的 Macro 及一個 Formatter:原則上可以複製原 LabelSearchMacro.java 的內容,且直接指定使用自訂的 Formatter 進行輸出,且當 >>SnipSnap 更版時應該不用跟著進行 patch 。目前就以這個方式為首要方案吧!
那啥時會有一個完整的 solution 呢?

哇啊哉… :p

no comments | post comment
【搜尋】

【求助】

  1. 如何指定格式化的文字
  2. 如果字太小
【SnipSnap 強化方案】
>>SnipIt 誕生
>>功能討論
>>功能確認

< September 2010 >
SunMonTueWedThuFriSat
1234
567891011
12131415161718
19202122232425
2627282930

【RSS 訂閱】




【雜想分類區】
美食小吃
生活雜想
職場遭遇戰
休閒娛樂
台北居、大不易
錯誤正在橫行中
廣告異聞錄
神秘事件簿
電影
健康管理
資訊電腦
科高地球
手機應用
新聞馬後炮
動漫世界
管理眾人之事
專案管理
歌曲歌詞
嘸爽啦!
部落格記錄
惡搞裝笨耍白爛
歧視非IE用戶之網頁
關於我
CSS
RSS

【與 Ada 聯絡】

【有趣的 Blog】
>>什麼都破,什麼都爛,什麼都不奇怪
>>酪梨壽司的日記
>>去吧!錯誤特攻隊!
>>隨裕而安
>>荒謬大觀
>>網路黑貓
>>瑞克梅添涼 DALIREAL
>>鳥毅的blog
>>潛艦 - >>反垃圾信
>>窮留學生懶人食譜
>>約耳談軟體

【網路貼紙】
XHTML 1.0 validated CSS validated
RSS 2.0 validated Powered by SnipSnap
Powered by Gentoo Linux
網站使用 UTF-8 編碼 網站所在地-台灣
Onion Club 洋蔥酷樂部 Powered By PostgreSQL
我是台灣人

【網路同盟】
怠墮管理者同盟

【PCDVD 七八區 RSS】




【PCDVD 疑雜區 RSS】




【網路串連】











【參訪團】

snipsnap.org | Copyright 2000-2002 Matthias L. Jugel and Stephan J. Schmidt