隨著無名關閉、Google blogger 越來越慢等等原因,我心中就一直想要替自己的部落格搬家,同時看到 Jenny 使用 Pelican 的心得,就引起我的興趣,也想要將部落格搬到 GitHub Pages,不過拖了很久一直沒有開始動工,直到最近終於開始部落格的搬家作業。
這篇文章是用來記錄一下搬家的相關資訊。
安裝
為了安裝方便我將 Pelican 安裝在工作機上面,參照 Pelican 3.3.0 官方文件 ,並搭配 Python2.7,很順利的就完成所有安裝步驟。
真正的問題是當我要匯入 Blogger 的文章才開始...
文章
首先,我把 Blogger 的文章匯出成 ATOM/RSS 的格式,並且在工作機上面安裝 feedparser ,就可以利用 Pelican-import 的內建指令來做轉出文章的動作。
pelican-import --feed <your-blogger-documents>.xml -o output
再來,當我使用 Pelican 執行文章轉出後,得到的不是文章,而是 exception:
/bin/sh: pandoc: command not found Please, check your Pandoc installation.
上網搜尋關鍵字,發現是因為我的文章中有包含中文內容,如果要轉換就必須要安裝 Pandoc ,然後如果要安裝 Pandoc 的話必須要有 Haskell Platform ,但我的工作機的作業系統是 RHEL6,其內建不包含 Haskell Platform 。
所以我要先安裝 Haskell Platform ,然後使用內建的指令 cabal 來安裝 Pandoc ,最後才能將所有文章轉成 reStructuredText 格式。
Pandoc 會使用其內建的語法來做轉換 Pandoc 語法中文翻譯 。
當文章終於順利轉完後,接著我發現圖片資訊會有殘缺或錯誤的現象,例如圖片失去超連結,或著是圖片重複出現,因此文章轉完後就要開始漫長的編修...
這邊補上 reStructuredText 插入圖片和超連結的方法:
in inline images: .. image:: pageflip-200.png :target: pageapplet/index.html With a reference, like: Click on my |ImageLink|_ .. |ImageLink| image:: /images/link.png .. _ImageLink: http://link.url/
樣式
Pelican 的樣式都放在 pelican-themes ,我們可以直接挑選喜歡的樣式來用,也可以將自己設計的樣式加入 pelican-themes ,分享給 Pelican 的使用者,因為我希望可以挑一個簡單可擴充的樣式,在逛完 pelican-themes 之後,還是決定以 Jenny 設計的 pelican-fresh 為基礎,在根據自己的需求稍作調整。
套件
Pelican 的套件都在 pelican-plugins ,一樣可以直接挑選喜歡的套件來用。
直接放上現在有使用的 plugin:
PLUGINS = [ 'gravatar', 'related_posts', 'pelican_youtube', 'pelican_vimeo', ]