Tutorial Singkat Membuat Ebook EPUB

Menindaklanjuti tulisan saya tentang Sigil, kali ini saya menulis sedikit tutorial cara menggunakannya. Langsung saja ke laman 2 untuk panduan penggunaan Sigil.

EPUB adalah spesifikasi terbuka untuk buku digital berlandaskan pada teknologi yang umum digunakan seperti XML, CSS dan XHTML, dan file EPUB bisa dibaca pada perangkat e-ink, ponsel dan komputer. Tutorial ini menjelaskan tentang pembuatan eBook dalam format EPUB.

EPUB adalah format berbasis XML, dan ramah kepada pengembang, yang muncul sebagai standar de facto untuk buku digital. Tapi EPUB tidak hanya untuk buku saja, kita bisa saja:

  1. membendel dokumentasi untuk pembacaan secara luring (offline) atau agar mudah didistribusikan
  2. memaketkan posting blog atau konten natif web
  3. membuat, mencari dan remix menggunakan perkakas sumber terbuka

Perkakas yang dipakai

Kita ingin membuat EPUB dari laman web yang kita unduh, jadi sebenarnya sistem operasi apapun bisa. Perangkat lunak yang akan kita pakai adalahSigil, yang merupakan peranti lunak lintas platform. Kemudian untuk penyunting file HTML, ada banyak pilihan, baik di Windows, Linux, maupun MacOSX. Saya menyarankan software penyunting teks yang memiliki fitur syntax highlighting dan Regular Expression (regex) untuk Find and Replace. Dan untuk Regex, kita perlu meluangkan waktu untuk mempelajarinya. Selain itu, saya asumsikan bahwa kita sudah paham apa itu (X)HTML. Kemampuan desain sampul buku menjadi nilai plus. Jika tidak, kita bisa mencari gambar dari internet dan mengubahnya sedikit.

Lebih jauh mengenai EPUB

Apa itu EPUB?

EPUB adalah format XML untuk buku dan publikasi digital yang fleksibel (dalam artian dapat menyesuaikan tampilan pada device yang digunakan untuk membaca) yang distandarisasi oleh International Digital Publishing Forum (IDPF), sebuah asosiasi bagi industri penerbitan digital. IDPF secara resmi menyetujui EPUB pada Oktober 2007 dan pada 2008 sudah banyak dipakai oleh penerbit-penerbit besar. Kita bisa membaca EPUB menggunakan berbagai peranti lunak open source maupun berbayar di kebanyakan sistem operasi, perangkat e-ink semacam Sony PRS serta perangkat kecil semacam iPhone.

Pembuat EPUB

Walaupun yang pertama kali menggunakan EPUB adalah penerbit cetak tradisional, tidak ada yang membatasi penggunaannya pada eBook. Dengan perkakas peranti lunak yang tersedia secara bebas, kita bisa membendel laman-laman web menjadi EPUB, seperti yang akan kita lakukan kali ini. Atau mengubah dokumentasi DocBook XML menjadi EPUB yang valid dan rapi.

Perbedaan dengan PDF

PDF masih menjadi format dokumen elektronik yang digunakan secara luas di dunia. Dari sudut pandang penerbit, PDF memiliki sejumlah manfaat:

  1. PDF memungkinkan kontrol kesempurnaan piksel pada layout, termasuk layout print-friendly kompleks seperti multi kolom dan mengubah gaya halaman kanan/kiri.
  2. PDF bisa dibuat dengan banyak ragam perkakas dokumen berbasis GUI seperti LibreOffice Writer, Microsoft Office Word atau Adobe InDesign.
  3. Pembaca PDF ada di mana-mana dan ter-install pada kebanyakan komputer modern.
  4. Font khusus bisa dilekatkan dalam PDF guna mengontrol tampilan akhir secara tepat.

Mulai Membuat EPUB

Setelah kita mengetahui seluk beluk persoalan yang akan kita hadapi, kini saatnya kita memulai untuk melaksanakannya.

Mengumpulkan File HTML

Langkah pertama kita adalah mengumpulkan file-file HTML dan mengelompokkannya ke dalam susunan yang kita harapkan. Misalnya kelompok berdasarkan tanggal, jenis tulisan artikel, dan sebagainya.

Jika kita belum mengumpulkan, saya berikan sedikit contoh bagaimana mengambil bahan tulisan yang tersedia secara bebas di internet. Dan inilah bahan utama yang akan kita olah untuk membuat EPUB ini.

Misalnya kita ingin mengambil dan mengumpulkan seluruh tulisan pada sebuah blog, entah milik sendiri maupun milik orang lain, secara cepat dan banyak sekaligus. Saya menggunakan wget –yang merupakan mainan anak kecil kata Mark di film The Social Network— di Linux Kubuntu untuk ini. Sebagai contoh dalam tutorial ini, saya mengambil –hampir– seluruh artikel dari blog Mutiara Zuhud. Selain itu memang saya ingin mengarsipkannya untuk saya baca sendiri.

Di Konsole saya jalankan perintah:

wget -r -p -c -nc -U Mozilla http://mutiarazuhud.wordpress.com/

maka wget akan mengambil semua link yang ada dalam blog tersebut dan menyimpan file-file HTML ke folder-folder sesuai dengan subdirektori URL, dalam hal ini karena blog tersebut adalah WordPress, maka subdirektori diatur berdasarkan kronologi ./tahun/bulan/tanggal/judul-artikel/index.html.

Maka saya mendapatkan hampir seluruh tulisan yang ada di blog tersebut dan tersusun rapi ke dalam folder yang beraturan. Saya menambahkan kata hampir, karena proses unduhan sangat lama dan saya jeda dan lanjutkan kembali selang beberapa waktu setelahnya. Dan saya rasa ada sejumlah artikel yang tidak terunduh. Ini karena saya juga berlangganan pembaruan tulisan dari email, dan mencocokkan artikel-artikel yang ada di email dan yang saya unduh. Dan memang ada beberapa yang terlewat. Saya merasa sudah cukup dan tidak melanjutkan mengunduh karena saya rasa sudah 90% yang terunduh dan ternyata ukuran semua file HTML itu lumayan besar, 600MB lebih.

Jika anda pengguna Windows, saya rasa WinHTTrack bisa mewakili perintah wget di atas. Tapi saya belum mencobanya dan tidak ada pengalaman dalam penggunaannya. Jadi anda bisa mencari tutorialnya di internet.

Menggabungkan dan Merapikan File HTML

Setelah semua file HTML siap, sekarang kita gabungkan menjadi satu serta merapikannya, atau bisa merapikan dulu baru menggabungkan. File-file HTML yang banyak itu tentu saja belum ‘bersih’ dari skrip-skrip Javascript. Tetapi daripada menghapus skrip-skrip tersebut satu demi satu, lebih baik kita meng-ekstrak isi yang esensial dari tiap file HTML, yaitu artikel. Untuk melakukannya, saya memanfaatkan html-xml-utils di Kubuntu. Perkakas ini sangat bagus untuk manipulasi dan pengelolaan file HMTL atau XML. Perkakas tersebut memiliki banyak perintah yang bisa dijalankan, tapi saya hanya butuh hxextractyang digunakan untuk meng-ekstrak isi artikel tadi. Sebelum itu, saya membuat senarai semua berkas yang ada di dalam satu folder tahun. Jadi, misalnya dalam folder 2010 ada 12 folder bulan, tentu saja akan memakan waktu jika mengekstrak satu per satu dengan hxextract. Maka setelah melakukan beberapa kali eksperimen, saya menemukan sebuah efisiensi untuk melakukan ini, yaitu menggunakan skrip bash sederhana. Mungkin akan lebih efisien dengan Python, namun saya tidak menguasai Python.

Jadi, dari folder 2010 itu, saya menjalankan perintah ls -R > senarai.txt, maka output perintah akan dituliskan dalam file senarai.txt yang bisa kita sunting agar menjadi file skrip bash. Contoh keluarannya:

./01:
13  18  26  27  28  index.html

./01/13:
dibalik-krisis

./01/13/dibalik-krisis:
index.html

./01/18:
sekularisme-pluralisme-dan-liberalisme

./01/18/sekularisme-pluralisme-dan-liberalisme:
index.html

./01/26:
kekeliruan-pluralisme

./01/26/kekeliruan-pluralisme:
index.html

./01/27:
salaf-dan-salafi

./01/27/salaf-dan-salafi:
index.html

./01/28:
jamaatul-muslimin  menjadi-muslim-terbaik

./01/28/jamaatul-muslimin:
index.html

./01/28/menjadi-muslim-terbaik:
index.html

kemudian saya merapikan dengan search and replace menggunakan regex antara lain

.([/0-9]{3}){2}:[a-z0-9-\n]+
.([/0-9]{3}):[0-9\n]+index.html
:\n
\n{2}

yang nantinya menghasilkan

hxextract div.post ./01/13/dibalik-krisis/index.html ./01/18/sekularisme-pluralisme-dan-liberalisme/index.html ./01/26/kekeliruan-pluralisme/index.html ./01/27/salaf-dan-salafi/index.html ./01/28/jamaatul-muslimin/index.html ./01/28/menjadi-muslim-terbaik/index.html > januari.html

dan akhirnya saya menyimpannya sebagai file baru januari.sh yang saya jadikan executable. Dan setelah mengeksekusi file ini, saya mendapatkan filejanuari.html. Perhatikan huruf tebal div.post, itu adalah posisi di mana artikel dalam file HTML berada, yang berarti isi artikel berada di dalam tag <div class=”post”>. Sebenarnya dalam tag tersebut masih banyak juga skrip-skrip javascript yang tidak perlu. Maka saya masih perlu membersihkannya, lagi-lagi regex sangat mempersingkat pekerjaan ini. Salah satu contoh string regex untuk mencari satu tag :

\n[j][A-z0-9'";:>
regex in kate
Search and replace with regex

Lanjut ke halaman 2 →

Advertisements

Published by

Badwi

A Muslim, sober, a Javanese

2 thoughts on “Tutorial Singkat Membuat Ebook EPUB”

Share your idea here (markdown enabled)

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s