Google Play 電子書新手上架(一)從 MD 到 PDF、ePub by caterpillar | CodeData
top

Google Play 電子書新手上架(一)從 MD 到 PDF、ePub

分享:

在不久之前,我在 Github 上開放了《Java SE 6 技術手冊》,以 Markdown 的方式發佈,過了不久與朋友聊天時談到「你的東西雖然都在網路上,可我就是一個不見得隨時都能上網的人 … 像你放在 GitHub 上的電子書,我就很想把他拿來變成 PDF 檔案串成一本。」

這類需求我收過不少,我沒作過電子書,想想是蠻好玩的,只不過,既然要做,就讓過程有趣一些,想想 Google Play 電子書平台在台灣開放了,那就以在 Google Play 上架為目標好了,並且希望書籍的版面可以有我的編排風格,因而就有了 《Java SE 6 技術手冊》電子書,你可以在上頭 預覽一下編排成果,至於手機上的 ePub 與 mobi 效果 …

google-play-ebook-1-1    google-play-ebook-1-2

mobi?是的,Google Play 雖然只可以上架 PDF 與 ePub,不過若想要可以在 Kindle 上觀看,可以使用 Calibre 從我的 ePub 轉換過去,效果也是不錯的,像是在 PC 版上的 Kindle 程式上效果會是 …

google-play-ebook-1-3

實際在我的 Kindle DX 上是長這樣(點圖放大)…

google-play-ebook-1-4

那我是怎麼製作的呢?這個流程其實很簡單,如果你在 Github 上已經有 Markdown 文件檔案,那就更簡單了 …

Markdown 文件檔案

正如一開始我說的,我在 Github 上已經有 了《Java SE 6 技術手冊》 的 Markdown 檔案了,我接觸 Markdown 算是比較晚的,當初編寫時,並沒有區分哪些是 Markdown 原有語法,哪些又是 Github flavored syntax,我調查了幾個方案,每個方案都不錯,但都有個問題,它們都有自己的 Markdown 擴充語法,我不想為了製作電子書再重新手刻一份,寫程式來作個 Regex 取代是也可以,不過我在想的是,有沒有可能更簡單的方式?我整理了一下我的需求就是 …

  • Markdown 編輯工具可以支援 Github flavored syntax
  • 可以自訂 CSS,以便自訂電子書編排風格
  • 最好可以支援目錄產生

經過調查之後,我選擇了 MarkdownPad Pro,而為了支援目錄產生,我略為調整了一下 Markdown 文件的結構階層,基本上要以 # 定義出綱要階層,像是這樣 …

# 第 3 章 語法入門

程式語言(Programming Language)本質上就是一個語言,語言的目的在於讓您與特定對象進行溝通,只不過程式語言的溝通對象是電腦 ....

## 3.1 第一個 Java 程式

先來解釋一下第 2 章中您所完成的「第一個 Java 程式」,如果您學過 C 語言,對於 3.1.2「給 C 使用者的第一個 Java 程式」可能會覺得比較親切 ...

### 3.1.1 解釋第一個 Java 程式

要對新手解釋第一個 Java 程式事實上並不簡單,因為一個最簡單的 Java 程式就會涉及檔案管理、類別 (Class)、主程式、命令列引數(Command line argument)等觀念...

#### **範例 3.1 HelloJava.java**

MarkdownPad Pro 可以設定語法支援 …

google-play-ebook-1-5

以及自訂 CSS …

google-play-ebook-1-6

接下來就是產生 PDF 的時候了 …

匯出為 PDF

MarkdownPad Pro 可以直接匯出 PDF,如果你想要產生目錄,可以調整一下選項為:

google-play-ebook-1-7

選擇「Include document outline in PDF」 ,這樣匯出的 PDF,側欄就有目錄索引(點圖放大):

google-play-ebook-1-8

轉換 ePub 檔案

PDF 在小型裝置上無法重排文字,如果用小型裝置看 PDF,就會陷入不停的縮放循環,Markdown Pad 沒有選項可以匯出為 ePub 檔案,這該怎麼辦呢?ePub 檔案本質上就是個 zip 檔,裏頭包括了一些 metadata、HTML 與相關素材,因此我想到的就是,如果試著從 HTML 轉過去,不知道效果好不好?

MarkdownPad Pro 支援匯出為 HTML,產生的 HTML 檔案包括所有的樣式內容,我試著使用 Calibre 轉換為 ePub,效果不錯,版面編排都沒有走掉,不過,Google Play 會說「錯誤:無法為 ePub 掃描病毒」

原因在於 MarkdownPad Pro 匯出的 HTML,每個 img 標籤會外包著 a 標籤,也就是每個圖片是有超鏈結的,然而在 台灣電子書研究基地的討論中董福興網友提到  …

如果在EPUB裡頭要做<a href="localfile">這樣的事,連結的的檔案都應該在<spine>中被宣告,如果你不希望檔案在順著翻頁中出現,就設定為linear="no"

如果你瞭解如何編寫 ePub,應該會知道該怎麼做,如果不瞭解,那想要讓 Google Play 吃下你的 ePub 檔案,就是將 MarkdownPad Pro 匯出的 HTML 中,包裹著 img 標籤的 a 標籤拿掉,再用 Calibre 轉換為 ePub 就可以了…

要拿掉 img 標籤外的 a 標籤很簡單,連寫個程式都不用,只要找個有支援 Regex 搜尋取代的文字編輯器就可以了,像是 NotePad++ 就可以了。例如:

google-play-ebook-1-10

如果希望你的 ePub 在轉換時可以建立目錄,那在使用 Calibre 轉換時,可以設定「目錄頁」:

google-play-ebook-1-9

轉換為 mobi 檔案

Google Play 不支援 mobi,不過還是順便提一下 mobi 怎麼產生好了,實際上,如果你想產生 mobi 檔案,可以使用 Calibre 直接從 HTML 轉換過去,HTML 不需要做任何修改,目錄頁的產生方式與 ePub 相同。

介紹到這邊,你可以試著做份電子書了,如果覺得這篇文章還算有用,你可以在 Google Play 向 《Java SE 6 技術手冊》電子書 的便當價致敬!下一篇文章,會來說一下怎麼在 Google Play 上架以及一些注意事項 …

後續 >> Google Play 電子書新手上架(二)上架 PDF 與 ePub 檔案

分享:
按讚!加入 CodeData Facebook 粉絲群

相關文章

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

熱門論壇文章

熱門技術文章