eKsiążki
https://forum.eksiazki.org/

Sekcja <guide>
https://forum.eksiazki.org/epub-f157/sekcja-guide-t14389.html
Strona 1 z 1

Autor:  UncleLion [ 11 kwi 2014 23:26:03 ]
Tytuł:  Sekcja <guide>

Mam pytanie. Jak poprawnie stworzyć sekcję guide (zarówno dla epub jak i dla mobi). Mam wrażenie że w wielu ebookach nie jest ono zbyt dobrze ustawione. Czasem ebook otwiera się w połowie spisu treści, czasem na okładce. W przypadku gdy w guide wpisany jest jako miejsce początku wstęp bądź rozdział czasem po otwarciu ebooka wyświetla środek danego rozdziału.
Czy jest zatem sposób by ustawić konkretny punkt startowy?

Autor:  quiris [ 12 kwi 2014 12:33:38 ]
Tytuł:  Re: Sekcja <guide>

Standard EPUB 2.0.1 definiuje sekcję guide w taki sposób: http://www.idpf.org/epub/20/spec/OPF_2. ... Section2.6

Poniżej fragment z najczęściej potrzebnymi definicjami:
Kod:
<guide>
        <reference type="toc" title="Spis treści" href="toc.html" />
        <reference type="cover" title="Okładka" href="cover.html" />
        <reference type="text" title="Text" href="chapter1.html" />
</guide>


Dla poprawnej konwersji z EPUB do mobi tak naprawdę krytycznie ważny jest jeden element toc, czyli spis treści w formacie HTML. Jest on potrzebny czytnikowi Kindle Classic do pokazania czytelnikowi spisu treści.
Kod:
<reference type="toc" title="Spis treści" href="toc.html" />


Drugim mniej ważnym dla kindlegena, a krytycznie ważnym elementem dla pliku EPUB jest definicja okładki HTML (type="cover"). Wskazuje ona na plik HTML z okładką książki. W celu uniknięcia różnych problemów bardzo ważne jest, żeby ten plik występował jako pierwszy w kolejności w sekcji <spine>, a także, żeby nie miał ustawionej opcji linear="no" .

Uwaga! Okładka dla kindlegena musi być ustawiona w sekcji metadata w postaci znacznika <meta name="cover" content=""/>. Żeby uniknąć problemu podwójnych okładek kindlegen rozpoznaje, czy w okładce HTML jest zdefiniowany ten sam obrazek, co w sekcji meta, jeśli tak będzie to podwójnych okładek nie będzie. Kindlegen usunie okładkę html automatycznie. Jeśli inny obrazek będzie ustawiony w sekcji meta, a inny w okładce html w pliku wynikowym będzie widać podwójne okładki. Pierwsza to oczywiście ta z sekcji meta, druga to ta z okładki html, której kindlegen nie usunie.

Trzeci istotny element w sekcji guide, którego używa kindlegen to type="text" wskazuje on na plik, który jest pierwszym plikiem z właściwym tekstem książki. Z reguły będzie to plik z pierwszym rozdziałem na przykład.

Uwaga! w sekcji guide każdy ze z atrybutów type może pojawić się tylko raz, np. taki zapis jest niedozwolony:
Kod:
<guide>
        <reference type="text" title="Text" href="toc.html" />
        <reference type="text" title="Text" href="chapter1.html" />
</guide>


Również dany plik wskazany w atrybucie href może występować tylko raz, np. taki zapis jest niedozwolony:
Kod:
<guide>
        <reference type="toc" title="Spis treści" href="TOC.HTML" />
        <reference type="cover" title="Okładka" href="TOC.HTML" />
</guide>

Czyli, jeśli jakiś plik oznaczymy, że jest to wprowadzenie (foreword), to już nie możemy tego pliku oznaczyć jako text.
Wielkość liter ma krytyczne znaczenie. Wolno wskazać type="toc" (tak przewiduje cytowany wyżej standard), ale nie wolno type="TOC"

PS. epubQTools jeszcze nie kontroluje wszystkich wyżej wymienionych elementów. W wolnej chwili postaram się zaimplementować odpowiednią kontrolę i ewentualnie korektę.

Autor:  jarek0z [ 16 kwi 2014 20:10:14 ]
Tytuł:  Re: Sekcja <guide>

Dzięki za wpis o problemie podwójnych okładek, przydatne info. Trafiłem jednak na upartą sztukę gdzie nie mogę sobie poradzić. Jeśli znajdziesz chwilę zajrzyj do próbki e-booka LINK. Jeśli uda Ci się ustalić, napisz co tam jest sknocone.

Autor:  quiris [ 16 kwi 2014 20:48:56 ]
Tytuł:  Re: Sekcja <guide>

jarek0z napisał(a):
Dzięki za wpis o problemie podwójnych okładek, przydatne info. Trafiłem jednak na upartą sztukę gdzie nie mogę sobie poradzić. Jeśli znajdziesz chwilę zajrzyj do próbki e-booka LINK. Jeśli uda Ci się ustalić, napisz co tam jest sknocone.

Widzę, że kindlegen wymaga jeszcze jednego, żeby automatycznie usunąć duplikat okładki. Na stronie z okładką HTML nie może być żadnego tekstu, nawet ukrytego stylem display:none;

Musisz usunąć słowo Okładka z linii:
Kod:
<h1 id="heading_id_2" style="display: none;">Okładka</h1>

Autor:  quiris [ 16 kwi 2014 21:15:04 ]
Tytuł:  Re: Sekcja <guide>

Moje narzędzie epubQTools sprawdza już ten przypadek: https://github.com/quiris11/epubQTools/ ... 17130f3828

Strona 1 z 1 Wszystkie czasy w strefie UTC + 1 [czas letni (DST)]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/