Kier­mel nos dice: «Ya hay un soft­ware con el que pue­des crear un ePub de forma visual WYSIWYG. Se llama Sigil y tiene licen­cia de Fuente Abierta GPLv3: http://code.google.com/p/sigil/». Podéis leer un mini­tu­to­rial ilus­trado sobre cómo usar Sigil aquí.

Lo que sigue son ins­truc­cio­nes téc­ni­cas sobre el for­mato ePUB. La mayor parte de la infor­ma­ción pro­cede de aquí y de aquí.

Nota del Autor: Si te interesa el diseño de este sitio, el tema para Word­Press se puede des­car­gar aquí.

Los docu­men­tos ePub no son más que HTML, CSS, meta­da­tos e imá­ge­nes empa­que­ta­dos en un zip. Si uno abre el archivo con un ges­tor de archi­va­do­res puede extraer los con­te­ni­dos sin más (si no lle­van DRM). Sin embargo, los docu­men­tos que gene­ran algu­nos con­ver­so­res auto­má­ti­cos no vali­dan con epub­check y están lle­nos de mar­cas de estilo inú­ti­les. En oca­sio­nes nos puede intere­sar saber cómo mani­pu­lar direc­ta­mente un archivo ePub sin uti­li­zar asistentes.

1. Requi­si­tos

  • Cono­cer HTML.
  • Cono­cer CSS.

2. Herra­mien­tas

  • Un edi­tor de tex­tos sen­ci­llo, mejor si resalta las pala­bras clave de CSSHTML.
  • Usua­rios de Win­dows: un com­pre­sor avan­zado de archi­vos zip.
  • Una plan­ti­lla. Cual­quier ePub sin DRM que sepa­mos que fun­ciona puede servir.
  • Opcio­nal: GIMP, Pho­tos­hop, etc. para edi­tar imágenes.
  • Opcio­nal: epub­check (requiere Java). Tam­bién se pue­den vali­dar los ePubs en línea aquí.
  • Un libro elec­tró­nico o soft­ware para com­pro­bar el resultado.

3. Pre­pa­ra­ción

Para acce­der a los con­te­ni­dos de un docu­mento en for­mato ePub que vaya­mos a edi­tar o a usar como plan­ti­lla para crear uno nuevo sólo tene­mos que descomprimirlo.

La car­peta de tra­bajo debe­ría contener:

mimetype: es un archivo de texto sin exten­sión que debe con­te­ner «application/epub+zip», sin comillas.

META-INF: car­peta.

OEBPS: car­peta.

Den­tro de META-INF:

container.xml: es el archivo que indica dónde está el con­te­nido en sí. Es la línea en la que pone «full-path=“OEBPS/content.opf”». Nor­mal­mente no nece­si­ta­re­mos cambiarlo.

Den­tro de OEBPS:

content.opf: con­tiene los meta­da­tos, el mani­fiesto (la decla­ra­ción de lo que con­tiene) de nues­tro docu­mento y el orden de pre­sen­ta­ción. Si no vamos a cam­biar nada en la plan­ti­lla no ten­dre­mos que hacer mucho aparte de edi­tar los datos y el número de capítulos.

La línea «dc:identifier» es el iden­ti­fi­ca­dor único. Detrás de “urn:uuid:” pode­mos poner el ISBN o cual­quier otro número que nos convenga.

En «dc:language» figura el indi­ca­dor de idioma. Para el espa­ñol es «es». Para el espa­ñol de España es «es-es», para el de Argen­tina «es-ar», etc.

En la sec­ción «mani­fest» se lis­tan los archi­vos que for­man parte del libro en sí:
<item id="imgl" href="images/cover.jpg" media-type="image/jpeg"/>
<item id="chapter01" href="Section0001.xhtml" media-type="application/xhtml+xml">
...

El orden no importa. Cada capí­tulo debe­ría ir en un archivo sepa­rado, por ejem­plo “Section0001.xhtml” “Section0002.xhtml”, etc., y los tene­mos que lis­tar aquí, junto con cual­quier otra sec­ción que que­ra­mos añadir.

El atri­buto «id» que de cada archivo se usa para orde­nar los con­te­ni­dos en la sec­ción «spine»:
<spine toc="ncx">
  <itemref idref="cover"/>
  <itemref idref="titlepage"/>
...

En el tag que abre la sec­ción se indica el id de la tabla de con­te­ni­dos (TOC).

toc.ncx: este es el índice. El enco­ding debe­ría ser «utf-8». En el meta­dato «dtb:uid» se indica la id que había­mos ele­gido. «dtb:depth» indica el número de nive­les del índice. En teo­ría «dtb:totalPageCount» y «dtb:maxPageNumber» son reque­ri­dos pero no hace falta poner­les un valor para que valide el ePub.

A con­ti­nua­ción viene la estruc­tura del índice. En los tags «nav­point» se indi­can los mis­mos id que apa­re­cen en content.opf para cada archivo. Los valo­res para «pla­yor­der» tie­nen que estar en orden y sin sal­tos de numeración.

stylesheet.css: La hoja de esti­los. En un libro ordi­na­rio no serán nece­sa­rio ser muy espe­cí­fi­cos con los for­ma­tos. Es mejor que los con­trole la apli­ca­ción del usuario.

cover.xhtml, titlepage.xhtml, copyright.xhtml, Section0001.xhtml, legal.xhtml…: Esto son las sec­cio­nes del libro en for­mato XHTML. Se pue­den crear tan­tas como se desee para poder acce­der a cada sec­ción desde el índice.

ima­ges: car­peta. Con­tiene las imá­ge­nes que acom­pa­ñan al texto, incluida la cubierta. Pro­ba­ble­mente los lec­to­res de ebooks espe­ren que el archivo se llame “cover.jpg” o “cover.png”. No hay nor­mas sobre el tamaño ade­cuado. Cuanto mayor sea la ima­gen mejor cali­dad ten­drá en lec­to­res de cierto tamaño, pero tam­bién aumen­tará de forma des­pro­por­cio­nada el tamaño del archivo.

4. Empa­que­tado

Para empa­que­tar de nuevo el libro, el archivo «mimetype» tiene que ir pri­mero y sin com­pre­sión. En Linux o en Mac sólo tene­mos que ir a la car­peta de tra­bajo en una ter­mi­nal y escri­bir:
zip -v0X miebook mimetype
zip -vr miebook * -x miebook.zip mimetype
mv miebook.zip miebook.epub

Por último, debe­ría­mos vali­dar el archivo. Si hemos bajado epub­check, vamos a la ter­mi­nal y escribimos:

java -jar epubcheck.jar "miebook.epub"

El pro­grama nos indi­cará si ha encon­trado algún error y qué tipo de error es.