Ubuntu環境下,如何使用calibre ebook-convert recipe的功能
測試環境
撰寫本文時,測試的環境是
- 「Xubuntu 14.04 64位元」
- 「calibre v1.25.0」
緣起
在撰寫「Ubuntu環境下,快速開始使用gitbook」這篇時,發現「gitbook」是使用「ebook-convert」這個「工具」來產生「pdf」「epub」「mobi」這三個格式的檔案。
然後看到有一個參數「–list-recipes」,蠻特別的。
1 | --list-recipes |
所以執行了一下,顯示的訊息,又引起我的好奇心了。
1 | $ ebook-convert --list-recipes |
顯示的訊息
1 | ...略... |
所以使用「calibre recipe」查詢了一下資料,看到「這篇」和「這篇」參考文章。
原來可以這樣使用。
1 | $ ebook-convert "聯合新聞網.recipe" udn.pdf |
1 | $ ebook-convert "聯合新聞網.recipe" udn.epub |
1 | $ ebook-convert "聯合新聞網.recipe" udn.mobi |
不過抓出來的,有些內容是亂碼,我猜應該是網頁編碼不一致的問題。
深入探索
若已經有安裝「calibre」這個套件。
1 | $ sudo apt-get install calibre |
切換到「/usr/share/calibre/」這個資料夾。
1 | $ cd /usr/share/calibre/ |
可以看到兩個檔「builtin_recipes.xml」和「builtin_recipes.zip」。
1 | $ ls builtin_recipes.* |
顯示
1 | builtin_recipes.xml builtin_recipes.zip |
查看「builtin_recipes.xml」內容
1 | $ grep zh_TW ./builtin_recipes.xml |
可以看到
1 | <recipe description="United Daily (Taiwan)" language="zh_TW" |
解開「builtin_recipes.zip」到「/tmp/recipe」。
1 | $ unzip builtin_recipes.zip -d /tmp/recipe |
利用「united_daily」查詢相關的檔案。
1 | $ ls /tmp/recipe/united_daily* |
顯示
1 | /tmp/recipe/united_daily.recipe |
觀看「united_daily.recipe」
1 | $ less /tmp/recipe/united_daily.recipe |
custom recipe
以下以「https://www.ubuntu-tw.org/modules/newbb/rss.php」這個「RSS Feed」為例。
根據「這篇」提到的,可以利用「calibre」的「GUI」來產生自己的「recipe」。
產生的檔案會放在「~/.config/calibre/custom_recipes」這個資料夾。
1 | $ cd ~/.config/calibre/custom_recipes |
顯示
1 | index.json UbuntuTw_1000.recipe |
觀看「UbuntuTw_1000.recipe」的內容
1 | $ cat UbuntuTw_1000.recipe |
「UbuntuTw_1000.recipe」的內容如下
1 | class BasicUserRecipe1422253355(AutomaticNewsRecipe): |
除了可以使用GUI的「Fetch news」的功能,
也可以執行下面的指令。
1 | # cd ~/.config/calibre/custom_recipes |
官方參考文件
- https://manual.calibre-ebook.com/news.html
- https://manual.calibre-ebook.com/news_recipe.html
- https://manual.calibre-ebook.com/conversion.html
- https://manual.calibre-ebook.com/cli/ebook-convert.html
- https://blog.calibre-ebook.com/2011/10/custom-news-fetching.html