半夜無眠
由於不久前才在Github上架設了這個blog,如果不把之前在痞客邦寫的文章搬遷過來,感覺會有點空虛。
其實要備份痞客邦的文章非常方便,只要在後台管理介面的設定管理
內的匯入/匯出
就可以輸出.txt
檔案。
有趣的問題來了,輸出的檔案格式似乎跟markdown不太相同,要一篇一篇手動修改,對目前只有30幾篇文章,我的渣部落格而言應該很快就能搞定,但是對於比較大規模的部落格能有較系統化的處理方式嗎?
想嘗試用Python處理文檔,由備份文件自動產生post的想法就一直在腦海中揮之不去,輾轉難眠之下我決定開一個Github repository專門來處理各種blog的疑難雜症。
程式規劃
之前在學習Python的時候,發現了這一本書完全免費公開在網路上,而其中的第8章節就有講述到檔案的讀寫。
只要有這些基礎知識,應該不難將痞客邦匯出的.txt
軟為符合Jekyll格式的.md
文檔。
然而在動手開始寫程式前,有一個完整的規劃,是寫好程式的第一步。
- 拆解文章: 由於匯出的文件總結了全部的文章,並且還包含了comments以及有的沒的分隔字串。所以將每篇文章,拆成對應的一份份
.md
檔是首要動作。
- 修正格式: 對於每個
.md
文檔,對metadata及內文都要整理成符合Jeykyll的markdown格式。
路徑設定
拆解文章
第一步是找到分割每篇post的字串,觀察過後小弟自以為的決定TITLE
應該是個關鍵的字串,如此一來就可以分割並產生一份份的.md
文檔。
這部分會用到一個小小的副程式,用意在於由.txt
內的文件得到每篇文章.md
檔名應該要有的檔案格式,範例如下:
修正格式
目前拆解出來的.md
文件慢慢開始有點感覺囉,接下來就是分別對metadata、content部分進行格式修改。
處理格式用的副程式如下,可能還需要微調。
細節修正
經過一個下午的奮戰,終於將所有的post轉換成.md
,但是奮戰還沒結束,我發現竟然舊的blog的標題全部不見了,類別也沒在固定的位置,慘慘慘!
最終問題是post中的title
,應該是不能有特殊的符號斷開,經過測試後終於搞定,詳見Github。
但是還沒結束呢,剩下才是痛苦的地方,因為有大量的照片圖片要搬遷,以及每篇部落格的段落要重新編排,剩餘的主要工作如下:
- 文章目錄
- 文章簡介
- 文章內的連結、欄位格式修正
- 文章內的圖片:痞客邦非常不貼心,沒有圖片備份的功能,參考相關網站的介紹後,下載了WGet(目前2017-05-24還有更新)對相簿圖片進行備份,但是文章使用圖片還是得人工修改。
時間真的夠嗎?
- [2017-08-31] 網路上找了老半天如何設定痞客邦文章頁面的跳轉,結果中文網站盡是一堆…ㄌㄐ。
但是在StackOverflow大神的引領下,終於整理出下方跳轉的javascript,將這段嵌入到文章開頭即可。
留言