2010. április 20., kedd

ePUB formátumú könyvek 2. - Konténer állomány

Az ePUB formátumú könyvek igényes kialakítására a továbbiakban szükségünk lesz XML alapismeretekre is. Aki ilyennel nem rendelkezik, vagy kevésbé igényes munkát szeretne végezni, az egyszerűen csak használja a Calibre programot a korábbiakban létrehozott HTML-állomány átalakítására. Ugyanakkor meg kell jegyezni, hogy Calibre használata esetén nem garantált, hogy az egyes fejezetek közti váltás és a tartalomjegyzék működni fog.

Sablon az ePUB formátumhoz


Mindenekelőtt (mivelhogy meglehetősen lusták vagyunk) töltsük le a sample.zip állományt. Ez egy üres, tömörített sablon, amit a továbbiakban fel fogunk tölteni a könyv adataival, tartalmával.

Csomagoljuk ki egy mappába a letöltött állományt. Az állomány a következő fájlokat és mappákat tartalmazza:

  • mimetype: ebből tudja az olvasó/operációs rendszer, hogy milyen típusú állományról van szó
  • META-INF mappa: ez a mappa tartalmaz egy containet.xml állományt, ami azt mutatja, hogy hol található az e-könyv tartalma
  • OEBPS mappa: a könyv tartalmának tényleges helye, és a következőket tartalmazza:
    • images mappa: a könyv képei ide kerülhetnek.
    • Content.opf: egy XML állomány, ami leírja a könyv szerkezetét.
    • toc.ncx: a tartalomjegyzék
    • .xhtml állományok: a könyv tartalmai kerülnek ide.
Nézzük meg részletesen ezeket a fájlokat és mappákat.

mimetype
Ez egy sima ASCII szöveges állomány, ami csak egy sort tartalmaz: "application/epub+zip"

META-INF mappa
Ez a mappa tartalmazza a container.xml állományt, ami a Content.opf fájlra mutat. Ez minden e-könyvnél ugyanaz, viszont ha másik mappát szeretnénk neki beállítani, akkor akkor az itt található állományban is módosítanunk kell az elérési útvonalat.

OEBPS mappa
Ez az a mappa, ahol az e-könyv ténylegesen el van tárolva.

- images mappa: minden, a könyvben szereplő képet ide kell bemásolni, lehetőleg nem túl nagy felbontásban, hogy az e-olvasó képernyőjére is kiférjen.

- Container.opf: ez a fájl adja meg a könyv részeinek listáját, meghatározza azok sorrendjét, és eltárolja a különböző metaadatokat (cím, szerző, ISBN, kiadó, stb.)

A fontosabb metaadatok (tag-ek) a fájlban:
dc:title: a könyv címét tartalmazza
dc:language: a könyv nyelve (magyar nyelv jelzése a hu, más nyelvek esetén a nyelvek kódjában kell keresgélnünk)
dc:author: a könyv szerzője
dc:publisher: a könyvkiadó neve
dc:description: a könyv rövid leírása, általában a fülszöveget célszerű ide felvinni
dc:identifier: a könyv azonosítója. Minden könyvnek egyedi azonosítóval kell rendelkeznie, nem lehet két könyvnek ugyanazt az azonosítót adni. Az egyik legegyszerűbb ilyen módszer, ha azonosítóként a nicknevünk után az aktuális dátumot adjuk meg, pl.: melchiadesian20100422. Az azonosítót mindig az "uuid:" után kell megadni.
dc:subject: a könyv műfaja

A forráskódban ezután következő manifest rész tartalmazza a könyv részeit (a fejezetek állományait), a stíluslap, a borító kép és a tartalomjegyzék-fájl nevét és helyét. Alapértelmezésben ezek a fájlok mind az OEBPS mappában kell, hogy elhelyezkedjenek.

A spine-nal jelölt rész az egyes fejezetek olvasási sorrendjét mutatja úgy, ahogyan az a tartalomjegyzékben meg fog jelenni. Ügyeljünk arra, hogy az idref tag utáni szövegek mindig megegyezzenek a manifest rész sorainak id tagjaival. Amennyiben a mi könyvünk kevesebb állományból áll, mint amennyi a fejezeteknek biztosítva van, a többi állományt nyugodtan töröljük.

- toc.ncx
Ez a fájl a tényleges tartalomjegyzék, ami alapján a könyvolvasók képesek az egyes fejezetek között navigálni. Minden egyes itt megadott fejezet új oldalon fog kezdődni. Amire itt figyelni kell:

  • a dbt:uid részen lévő azonosító azonos legyen az opf állományban megadott azonosítóval.
  • doctitle: a könyv címe, ahogyan az megjelenik a könyvolvasó szoftverben
  • navpoint tag:
    • a navpoint tag-ek határozzák meg az egyes fejezetek sorrendjét
    • id: Az adott fejezet azonosítója, meg kell egyeznie az .opf fájl spine részében foglalt azonosítókkal
    • playOrder: Az egyes fejezetek sorrendjét adják, folyamatosan növekvőnek kell lenniük aszerint, hogy hogyan követik egymást a könyvben.
    • text: Az adott fejezet elnevezése. Annak ellenére, hogy az ePUB formátum az UTF-8 karakterkódolást támogatja, gyakran előfordul, hogy a tartalomjegyzéket képtelen megjeleníteni az ékezetes betűk miatt. Ezért javasolt ezeket mellőzni. Ha a könyv fejezetei csak sorszámozottak, akkor az "x. fejezet" szövegek teljesen jók lesznek, minden egyéb esetben pedig ékezet nélkül adjuk meg itt a fejezetcímeket, pl.: "Eloszo"
- page-template.xpgt: Ez az állomány nem része az alapértelmezett ePub formátumnak, de az olyan asztali könyvolvasó programok, mint pl. az Adobe Digital Editions ennek segítségével sokkal könnyebben átláthatóvá teheti a szövegek szerkezetét.

- chapX.html fájlok: ezek tartalmazzák a tényleges szöveget, fejezetekre bontva, ahol X az adott fejezet sorszáma.

A következő részben a könyv feldarabolásáról és a végleges formázásról ejtünk szót.

Nincsenek megjegyzések:

Megjegyzés küldése