http://dl.dropboxusercontent.com/u/61164954/wretch/wretch_blog_List.htm
已經在dropbox上備份完成,接著有動力的話,再來試試看相簿的移植作業吧...
跟前一篇的想法不同,後來採用了ajax的方式,ajax老東西了,但是一樣好用.
雖然後來我在痞客邦也申請了無名搬家的作業,但是兩者間其實一些涵義是不同的.
底下是教學...
blog靜態移植方法 (step by step)
1.wget把自己相簿整組抓下來,wget抓相簿有自己一套目錄與照片的命名規則,可以再日後建立起reindex跟mapping 關係.
2.把無名的備份檔抓下來,我是使用舊版的blog xml備份檔匯出檔案版本.
3.自撰程式將XML檔重置成JSON數據存檔.
這邊你可以有兩種處理方式
1.純json數據包,搭配上paser,ex.jquery的 getjson http://api.jquery.com/jQuery.getJSON/ 如果你存檔成 blog.json 放到主機上 ,抓下來,雖然原始匯出數據滿大的,以我的blog共396篇文章來說大概就2.7MB,不過多數主機支援傳輸壓縮,一壓縮變成 500KB 左右. 這方法的優點在於傳輸時被壓縮檔案變小,缺點是每次都得抓,另外每次都得pase.
2.直接把json數據包變成真正的script,把數據包最前面打入 var blog_json = 結尾打入 ; 號,這就是一個真正的javascript,往後的script都可以直接存取 blog_json這個array object.優點是免paser,並且可以讀取快取,第一次load比較久,往後需要時間幾乎沒有(從硬碟快取).
**3.誰能教我有沒有同時兼顧 1 & 2 兩做法優點而無兩做法缺點的方法呢 ????
3.把XML重匯的做法很多程式都有相對應的做法可以做,C#的話有XML物件可以直接讀取XML檔案成物件,然後交由Newtonsoft.Json匯出成json數據,當然轉匯做法不只一種,你可以直接使用一些網站的免費服務,直接把內容copy paste到服務網站上,由網站幫你處理轉換.
4.用firefox抓下無名的文章列表頁面,可以用取代的方式把文章連結快速換成你以後要讀的置換網頁.
ex.http://dl.dropboxusercontent.com/u/61164954/wretch/wretch_blog_List.htm
firefox抓下來後,會另外建立一個目錄,把相關頁面檔案都集中到那目錄去,到時候移轉檔案,要一起搬移.
文章改連結到 article.htm#1408304 , 往後會讀取這個 #1408304 HASH id 來撈 JSON 數據資料.
5.把任何一篇blog文章頁抓下來,用firefox存檔,也是會建立目錄將相關檔案集中到那目錄去,到時候移轉檔案,要一起搬移,這個要用來當日後對應ajax技術的範例樣板用.
6.把抓下來的兩個檔案內部不需要用的script內容和css檔清除乾淨,否則日後可能會跟jquery元件或是你自撰程式衝突.
(某一個晚上我就是被這個搞到..弄到晚上快4點)
7.把照片(整體結構目錄)和頁面與頁面相關檔案放置到網路空間上,不需要可以跑cgi.php等等動態網頁技術的主機都可以.
8.還有好多要說,好懶,不過大意就是利用這個JSON數據包和hash id值把文章數據撈出來,動態插入到靜態頁面上,end....
直接看我的code比較快了...
http://dl.dropboxusercontent.com/u/61164954/wretch/article.js
9.如果你的文章有照片連結,獨立於無名外部的照片連結是ok的,如果是無名本身的照片插入,就需要做一些置換照片url的工作,
搭配你用wget抓下來的那些照片.
這邊有兩個做法
1.用程式直接修正json數據包內的img網址內容,個人正規比對沒學好,雖然喜歡perl, 原本打算用perl下去弄一下,但是正規比對功力很差,所以懶得用這途徑來處理.
2.建置mapping & reindex 的處理, 我是利用程式 paser wget 抓下來的整體相簿內容, 包括了目錄名稱的新舊名稱轉換(舊的是只有數字編號,新的是數字編號+ -目錄標題) ,與檔案新舊名稱轉換(跟目錄新舊名稱關係類似), 先建好一個對照關係的json數據庫,日後轉換用.
以上就是整體blog移植的做法,這是靜態模擬動態網站,只能看不能有任何進一步功能,所以貼文.刪文等等功能是不可能有的,不過實際上如果搭配動態網站的程式功能和原無名樣板與ajax技術, 應該是可以在短時間內仿製無名"部分"的真正運作功能.
相關檔案下載 http://dl.dropboxusercontent.com/u/61164954/wretch/tools/wretch_ajax_sample.rar
留言列表