最近利用閑暇時間把2015年寫的m2m.exe(參考:KindleGen與Markdown轉換為Mobi的Kindle電子書工具:m2m.exe)用Delphi XE 10.2.3改寫,把文字格式自動轉換為Markdown格式的功能也加進去,對於不熟悉正規運算式轉換語法的朋友們應該會覺得簡單很多。以下是m2m的簡單使用說明。
m2m.exe的用途
m2m.exe代表的是「Markdown To MOBI」的意思,不是物聯網的Machine-to-machine,主要用來把文字格式的電子書轉換成Kindle使用的.MOBI格式。
我們搜尋到的電子書通常是文字格式(.txt),為了更好的閱讀體驗便可以利用m2m.exe將之轉換為.MOBI格式,除了章節標題字體變大,也能有Kindle的目錄巡航等增強功能,產生出.MOBI檔後會複製到網路磁碟機資料夾(我用的是Dropbox)並上傳到網路磁碟,再用IFTTT.com的郵寄操作(由Dropbox傳送到Kindle的接檔信箱),最後Kindle就能收到電子書。
以下是逐步執行的操作步驟。
1. 準備好電子書
首先準備好要轉換的電子書文字檔(範例中使用的三國演義.txt可由此處下載)。
如果文字檔第一行是書名,第二行是作者,則讀檔時會自動填入輸入欄位。
2. 點選電子書檔案
執行m2m.exe,按書名輸入欄位右方的開啟按鈕並點選三國演義.txt,點選後書名輸入欄位會出現電子書的檔名路徑。
3. 開始讀檔
如果要轉換為Markdown格式則勾選【讀檔時轉換為Markdown格式】,若選用檔案已經轉換過則不勾選。按〔1.讀檔〕開始讀檔,有勾選轉換者一併轉換格式。
轉換章節標題的設定在安裝資料夾的m2m.ini,可以按右上方的齒輪按鈕用記事本開啟m2m.ini,找到 [RegularExpressions]:
[RegularExpressions]
^正文 (.*)=$1
^第(.*)章 (.*)=## 第$1章 $2
^第(.*)章(.*),(.*)=## 第$1章 $2·$3
^第(.*)章(.*),(.*)集=第$1章 $2·$3
^第(.*)卷 (.*) 第(.*)章 (.*)=## 第$1卷 $2 第$3章 $4
^第(.*)卷(.*)第(.*)章(.*)=## 第$1卷 $2 第$3章 $4
^第(.*)卷 (.*)=# 第$1卷 $2
^卷(.*) (.*) (.*)章 (.*)$=# 第$1卷 $2\n## 第$3章 $4
^第(.*)章 (.*),(.*)=## 第$1章 $2·$3
^第(.*)章 (.*),(.*)=## 第$1章 $2·$3
^第(.*)章 (.*)=## 第$1章 $2
^第(.*)章:(.*)=## 第$1章 $2
^第(.*)集 (.*)=## 第$1集 $2
^第(.*)節 (.*)=## 第$1節 $2
^第(.*)回 (.*)=## 第$1回 $2
^第(.*)回:(.*)=## 第$1回 $2
^楔子 (.*)=## 楔子 $1
(.*)本帖最後由(.*)編輯(.*)=
^更新時間(.*) 字數:(.*)$=
設定中使用到的運算式符號說明:
- ^表示每行開頭
- (.*)表示數目不定的任意文字,「第(.*回)」運算式則「第一回」、「第四十八回」等都符合
- 等號右邊的\$1、\$2表示等號左邊符合的第一個與第二個內容,例如「第一回」的「一」、「第四十八回」的「四十八」就是\$1
^第(.*)回:(.*)=## 第$1回 $2
的意思是把符合等號左邊的運算式轉換成等號右邊的內容,例如文字內容「第四十八回:宴長江曹操賦詩,鎖戰船北軍用武」符合這個運算式,則「四十八」就是右邊的\$1,「宴長江曹操賦詩,鎖戰船北軍用武」就是\$2,轉換後就變成「## 第四十八回 宴長江曹操賦詩,鎖戰船北軍用武」;轉換後的兩個半形井號表示標題二,字體會變大
標題有個奇怪的問題,文字中有半形或全形逗點時,在.MOBI的內容會被截斷,例如「宴長江曹操賦詩,鎖戰船北軍用武」會變成「宴長江曹操賦詩,」或「宴長江曹操賦詩?」,因此m2m.exe會把標題中的逗點變成黑點以避開這個問題。
如果電子書的標題樣式不在現有的設定中,請自行依格式添加在後。
3.1. 轉直排與空兩格
0.03版增加了段落開頭插入兩個全形空白與直排功能,只要勾選就會產生對應的結果。
因為直排時有些標點符號無法正確的轉直,因此m2m.ini增加了轉換標點符號的設定,其中[SymbolReplace_Horizental]是轉換橫排的標點符號,包括半形逗點轉成全形逗點等,[SymbolReplace_Vertical]則是直排時的標點符號轉換,其中冒號必須換成橫的冒號,但宋體位置不太美觀,但黑體卻又正常…。
4. 讀檔後
讀檔後在下方的訊息框會顯示執行訊息,若有勾選自動轉換Markdown,則會額外產生同名的.markdown檔案,按下勾選欄位右方的按鈕會以記事本開啟三國演義.markdown。
如果檢查.markdown後手動做了調整,那麼要重新選取檔案,選取三國演義.markdown,不勾選自動轉換,再按〔1.讀檔〕以重新讀入修改後的Markdown檔。
5. 產生設定檔
讀檔後按〔2.產生設定檔〕以產生需要的各式檔案,此時右下方會出現檢視設定檔的多個按鈕。
產生的檔案說明如下:
檔案 | 檔案範例 | 說明 |
---|---|---|
書籍內容的HTML檔 | mybook.html | HTML是書籍本文的內容。一本書可以使用多個HTML檔,但為方便我只使用一個HTML檔 |
HTML使用的樣式表 | style.css | HTML檔若有使用CSS樣式就需要本檔 |
目錄的HTML檔 | toc.html | 形成目錄(Table of Contents, toc)的網頁內容 |
目錄的索引檔 | toc.ncx | Kindle 「前往」出現的選單(ncx是Navigation Control file for XML applications) |
封面圖片 | mybook.jpg | 封面圖片可不使用,但缺少時KindleGen較不穩定 |
控制組合的OPF檔 | mybook.opf | OPF是Open Packaging Format,負責將上述檔案組合起來以形成最終的Mobi檔 |
執行的批次檔 | mybook.bat | 用來產生MOBI檔的批次檔,叫用kindlegen.exe並拷貝到輸出目錄 |
真正執行產生.MOBI的是mybook.bat,若有需要做其他操作的話,可以編輯安裝目錄裡的template.bat,自行修改內容,則重新產生的mybook.bat就會是修改後的內容。
6. 檢視產生的檔案
為確認需要的檔案都有正常產生,可點擊右下方的按鈕來檢視其內容,尤其是 toc.ncx 必須正確產生目錄標題,否則無法產生.MOBI檔。
7. 產生MOBI檔
最後按〔3.產生MOBI檔〕則會開啟命令提示字元(DOS視窗)執行mybook.bat,再以下列命令產生MOBI檔:
[安裝目錄]\kindlegen.exe mybook.opf -c1 -dont_append_source
kindlegen產生出的檔名固定為「mybook.mobi」,在mybook.bat裡複製到輸出目錄\書名_作者.mobi。
8. 檢視.MOBI檔
最後按右下角的預覽MOBI檔可以用設定的預覽程式來開啟輸出目錄裡的「書名_作者.mobi」。預覽程式必須另行安裝,可以用Kindle for PC或Kindle Previewer,透過m2m.ini設定好執行檔路徑。
9. 上傳到Kindle接收信箱
Kindle的【設置】→【我的帳戶】→【發送至Kindle 電子郵件地址】可以查到信箱,或由下列網址查詢:
- 美國亞馬遜:https://www.amazon.com/myk
- 中國亞馬遜:https://z.cn/myk
<
p>瀏覽ifttt.com並登入後,搜尋「Send files from Dropbox to your Kindle」再設定成自己的Dropbox資料夾與接收信箱,日後只要把.MOBI輸出到Dropbox指定的資料夾,IFTTT.com就會自己寄信到Kindle接檔信箱。
- m2m.ini設定
m2m.ini可以設定下列選項,以符合個別環境:
設定參數 | 說明 |
---|---|
KINDLEGEN | 要指定其他位置的kindlegen.exe時使用,預設直接使用安裝目錄裡的檔 |
LEVEL2_MAX_COUNT | 標題二章節的最多數目 |
OPTIONS | 預設的壓縮等級 |
MOBI_FOLDER | MOBI檔的輸出目錄 |
TEXT_FOLDER | 電子書文字檔的存放目錄 |
HTML | 讀mybok.html的編輯器 |
TEXT | 讀文字檔的編輯器 |
MOBI | 讀.MOBI檔的編輯器 |
如何由橫排改為直排
要產生成由上到下的直排
相關連結
- Kindlegen下載:https://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765211
- Kindle Previewer下載:https://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765261
- m2m下載解;壓縮後執行win32\m2m.exe或win64\m2m.exe:
版本 | 釋出日期 | 更新說明 | 下載連結 |
---|---|---|---|
0.02 | 2018/09/29 | 由Lazarus改寫為Delphi XE | 下載 |
0.03 | 2018/10/02 | 段落空兩格與直排 | 下載 |
##
您可能也會有興趣的類似文章
- KindleGen與Markdown轉換為Mobi的Kindle電子書工具:m2m.exe (0則留言, 2015/08/30)
- 使用Calibre轉換TXT電子書(含目錄)並傳送至Kindle Paperwhite操作全攻略 (0則留言, 2015/01/02)
- Kindle電子書備份站介紹 (0則留言, 2017/09/24)
- 將電子書檔案傳入Kindle與自動傳檔的方法 (4則留言, 2015/09/16)
- Kindle Paperwhite新手入門簡易操作說明 (0則留言, 2014/12/28)
- Kindle自訂字型操作步驟與簡轉繁字型連結 (5則留言, 2018/06/14)
- 修改WordPress外掛讓Markdown與HTML格式並存 (0則留言, 2011/03/30)
- 帶iPad去旅行—行前準備篇+Markdown試用 (5則留言, 2011/03/05)
- 將Kindle電子書由簡體轉換為繁體的工具與步驟 (0則留言, 2018/06/10)
- 移除Kindle DRM以複製電子書到另一部Kindle的作法 (0則留言, 2018/05/17)
- 超簡易Windows Markdown編輯器:Markdown Monster (0則留言, 2017/01/08)
- 使用Markdown on Save外掛完美解決Markdown與HTML格式並存狀況 (2則留言, 2011/03/31)
- 使用「長篇小說網頁擷取程式」產生電子書 (0則留言, 2015/08/03)
- 新購閱讀利器Kindle Voyage (0則留言, 2017/10/14)
- Windows Markdown工具:MarkdownPad 2新版本登場 (0則留言, 2013/03/26)