В течение нескольких лет я думал о создании и публикации книги Kindle. Однако другие проекты были на первом месте, и я отложил эту идею до недавнего времени.
Пару месяцев назад я купил свое первое устройство для чтения электронных книг Kindle, которое подтолкнуло меня к созданию моей первой книги Kindle, которую я протестировал на устройстве и впоследствии опубликовал на Amazon. Я многому научился из этого проекта методом проб и ошибок и решил поделиться этим опытом с вами. Возможно, вы найдете это полезным, когда решите создать и опубликовать свою первую книгу Kindle.
Узнайте, о чем писать
Выяснение темы книги было самой трудной частью в написании моей книги. Я думал о написании художественной литературы, например, о модном романе о вампирах, как о некоторых самых продаваемых предложениях Аманды Хокинг , но сам себя дисквалифицировал, потому что у меня нет ни малейшего представления о том, как вампиры встречаются друг с другом. С другой стороны, возможно, сатирическая ориентация такого романа может оказаться прибыльной (и стоить нескольких смехов).
Поскольку я гораздо больше интересуюсь технологиями, техническая книга находится прямо в моем переулке, и я решил сосредоточиться на создании такого рода книг. Кроме того, мой опыт работы с языком и платформой Java убедил меня ориентироваться на Java.
Какую книгу по Java я должен создать? Существует много разных книг по Java, и перефразирование одной и той же старой формулы «Введение в Java», вероятно, не вызовет большого интереса. Я хотел что-то другое и исследовал сайт Amazon, читая описания и обзоры различных книг по Java.
Во время моего исследования я ввел поисковый запрос Java викторины и получил один результат поиска. Наконец, я нашел недостаточно разработанную категорию для использования и решил написать книгу, в которой читатель узнает о понятиях языка Java.
Написать книгу
Мне нужно было ответить на несколько вопросов, прежде чем я смог начать писать: каково будет название книги, как мне организовать книгу, и должен ли я использовать высокоуровневый или низкоуровневый подход к ее написанию?
Я решил назвать свою книгу БОЛЬШАЯ Java-викторина . Кроме того, я избегал традиционного формата глав, который не подходил для книги, которую я имел в виду, по сути, книги из одной главы. Вместо этого я организовал книгу следующим образом:
- страница обложки
- обложка
- содержание
- вступление
- викторина
- о странице
Для тестовой части книги я выбрал формат, в котором я представляю один вопрос на экране и представляю его ответ на следующем экране. Этот формат предотвращает отвлечение внимания от нескольких вопросов на экране и обеспечивает немедленную обратную связь относительно ответа.
Существует два основных подхода к написанию книги Kindle: высокий уровень и низкий уровень. Подход высокого уровня включает использование текстового процессора, такого как Microsoft Word, и инструмента, такого как MobiPocket Creator . Низкоуровневый подход предполагает непосредственную работу с HTML, CSS и использование инструмента KindleGen. Я решил следовать низкоуровневому подходу, чтобы иметь полный контроль над форматированием и изучить основную структуру любой книги Kindle.
PDF-книги
Трудно (если не невозможно) создать техническую книгу Kindle с перечнями кодов, таблицами и другими полезными функциями, которые отлично смотрятся на всех устройствах Kindle. Две причины этой трудности: старые устройства не поддерживают новые функции, а разные устройства имеют разные разрешения экрана, что затрудняет предотвращение переноса кода между строк (и выглядит ужасно). Учитывая эти ограничения, вы можете подумать о создании великолепной книги на основе PDF, которую поддерживает Kindle. Тем не менее, Amazon не позволяет вам продавать книги на основе PDF на своем веб-сайте, так зачем беспокоиться?
Затем я получил Руководство по публикации Amazon Kindle, чтобы узнать больше о правилах форматирования книги Kindle. Я нашел главу 3 «Общие рекомендации по форматированию» очень полезной.
Наконец, я начал писать книгу, создав файл quiz.html
для размещения теста и quiz.html
его вопросами и ответами. В листинге 1 представлен фрагмент этого файла (переформатированный для удобства чтения).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> </head> <body> <div> <ol> <li> <b>True or false:</b> The Java language was developed by Oracle. </li> <mbp:pagebreak /> <b>Answer:</b> false<br><br> The Java language was developed by Dr. James Gosling at Sun Microsystems. Oracle acquired Java as part of its acquisition of Sun Microsystems on January 27, 2010. <mbp:pagebreak /> <li> Java's original name was what?<br><br> <b>a)</b> Java<br> <b>b)</b> Oak<br> <b>c)</b> Project Green<br> <b>d)</b> Star7 </li> <mbp:pagebreak /> <b>Answer:</b> b <mbp:pagebreak /> <li> <b>True or false:</b> Java is partly patterned after the C and C++ languages. </li> <mbp:pagebreak /> <b>Answer:</b> true <mbp:pagebreak /> <!-- ... --> <mbp:pagebreak /> </li> </ol> </div> </body> </html>
Листинг 1: Исключенный контент из quiz.html
.
В листинге 1 показан очень простой формат, который я принял после изучения образца Guide в файле samples.zip, связанном с инструментом KindleGen .
Я оставил раздел <head></head>
пустым, хотя мог бы вставить элемент <title>
(отсутствие которого, похоже, не повлияло на книгу). Если бы я планировал использовать CSS, я бы, вероятно, также вставил бы элемент <link>
в файл таблицы стилей.
Я решил закодировать викторину в виде упорядоченного списка чередующихся пунктов «истина / ложь» и списка вопросов с несколькими вариантами ответов, размещенных в разделе <div></div>
Возможно, я мог бы проигнорировать разделение, но оно может понадобиться в будущей версии викторины.
Каждый вопрос и ответ должен отображаться на отдельном экране. Чтобы вызвать необходимые разрывы страниц, я использовал <mbp:pagebreak />
, который представляет собой пользовательский тег HTML, поддерживаемый Amazon .
Создать дополнительные файлы книг
Файл quiz.html
— это только один из нескольких файлов, которые мне нужно было создать для моей книги. Например, мне также нужно было создать обложки книги и обложку.
Покрытие книги
Amazon требует, чтобы каждая книга имела два обложки: изображение, которое будет отображаться на веб-сайте Amazon, и изображение, которое отображается в качестве первой страницы книги. Хотя это и не обязательно, я также создал обложку, которая следует за страницей обложки.
На странице Amazon « Создание каталога / обложки» говорится, что изображение обложки «должно иметь идеальное соотношение высоты и ширины 1,6». Кроме того, изображение, отображаемое на веб-сайте, должно «иметь 1563 пикселя на самой короткой стороне и 2500 пикселей на самой длинной». сторона »(для лучшего качества).
Я создал файл cover_big.jpg
с размерами 1563 (ширина) на 2500 (высота) для веб-сайта. Я также создал уменьшенную версию (хранящуюся в cover.jpg
) с размерами 500 (ширина) на 800 (высота) для отображения внутри книги. На рисунке 1 показано изображение.
Рисунок 1: Для наилучшего качества изображение с обложки должно иметь отношение высоты к ширине 1,6.
Несмотря на то, что добавление изображения на обложке с обложкой не является обязательным, рекомендуется добавить ее. На этой странице вы представляете название книги и свое имя как ее автора. Вы также можете включить сообщение об авторском праве или любую другую информацию, которую вы считаете важной. В листинге 2 представлено содержимое coverpg.html
, которое описывает титульную страницу моей книги.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> </head> <body> <div> <center> The <b style="font-size: x-large">BIG</b> Java Quiz<br><br> by<br><br> Jeff Friesen<br><br><br><br><br><br><br><br><br><br> A <a href="http://tutortutor.ca">TUTORTUTOR.CA</a> PUBLICATION </center> </div> </body> </html>
Листинг 2. Содержимое титульной страницы обычно центрировано.
Включая оглавление
За титульным листом следует оглавление. Этот HTML-файл содержит ссылки на различные разделы книги. Он не включает номера страниц, потому что книги Kindle можно переформатировать : изменение размера шрифта может привести к тому, что текст будет перетекать через текущий экран и на следующий экран. В листинге 3 представлено содержание моей книги.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <style> p {margin-bottom: 1em; text-align: left} p.ind {margin-left: 2em;} </style> </head> <body> <p><a href="intro.html">Introduction</a></p> <p><a href="quiz.html">Quiz</a></p> <p><a href="aboutjf.html">About Jeff Friesen</a></p> </body> </html>
Листинг 3: в оглавление не включены номера страниц.
В листинге 3 показаны некоторые основные стили CSS, которые я выбрал при изучении различных образцов книг Kindle. По сути, текст выравнивается по левому краю, между последовательными строками появляется некоторый интервал, а текст имеет отступ с левой стороны. Я думаю, что результат выглядит хорошо — я покажу его вам позже в этой статье.
Создание вступления
Введение обычно следует за оглавлением и дает читателю обзор книги. Поскольку оно появляется в начале книги, введение, скорее всего, появится в предварительном просмотре Amazon, который потенциальные читатели могут прочитать, чтобы узнать больше о книге и о том, стоит ли ее покупать. В листинге 4 представлено введение в мою книгу, которое хранится в intro.html
.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> </head> <body> <div> <i>Java</i> is a language and a platform based on a virtual machine and execution environment. The Java language offers many language features; the Java platform offers a wealth of APIs. There's much to learn and the list of language features/APIs grows with each new Java release.<br><br> Perhaps you've been working with Java for some time and would like to assess your Java knowledge level. To help you with this task, I've developed a 150-question Java quiz that challenges you on many aspects of Java Platform, Standard Edition. This quiz focuses on Java SE 1 through Java SE 7.<br><br> I've organized this Java quiz into interleaved true/false and multiple choice categories. To help you quickly determine if you've answered a question correctly, I've listed the question's answer on the page immediately following the question page. I hope you find this quiz helpful. </div> </body> </html>
Листинг 4: Представляем книгу своим читателям.
Файл intro.html
связан с оглавлением — см. Листинг 3.
Создание страницы о
Я последовал за введением с викториной (обсуждавшейся ранее) и следовал за викториной со страницей «О нас», которая предоставляет информацию обо мне (включая контактную информацию). Я чувствовал, что эта страница обеспечит правильное закрытие книги — своего рода заключение. В листинге 5 представлена страница about моей книги, которая хранится в aboutjf.html
.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> </head> <body> <div> <center><img src="jeff.png" altwidth="161" height="155"></center><br> <b>Jeff Friesen</b> is a freelance tutor and software developer with an emphasis on Java. Check out my <a href="http://www.tutortutor.ca">TutorTutor.ca</a> website to learn more about me.<br><br> If you have any comments/questions about this quiz or would like to see it expanded, let me know by sending an email to <a href="mailto:[email protected]">[email protected]</a>. </div> </body> </html>
Листинг 5: Предоставление читателю информации об авторе.
Файл aboutjf.html
связан с оглавлением — см. Листинг 3. Кроме того, он ссылается на файл изображения с именем jeff.png
.
Указание файла OPF книги
Книги Kindle обычно создаются в виде документов EPUB (электронная публикация) , которые впоследствии конвертируются в собственный формат Amazon при загрузке на платформу самоиздания (будет обсуждаться позже). Документы EPUB должны включать файл OPF.
В файле Open Packaging Format (OPF) хранятся метаданные документа EPUB, манифест файла и порядок линейного чтения. В листинге 6 представлено содержимое файла моей книги tbjq.opf
— в качестве расширения файла принято указывать .opf
.
<?xml version="1.0" ?> <package version="2.0" xmlns="http://www.idpf.org/2007/opf" unique-identifier="tbjq"> <metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf"> <dc:title>The BIG Java Quiz</dc:title> <dc:language>en</dc:language> <dc:identifier id="tbjq" opf:scheme="uuid">urn:uuid:e9d31c40-0cfe-11e3-8ffd-0800200c9a66</dc:identifier> <dc:creator>Friesen, Jeff</dc:creator> <dc:publisher>Friesen, Jeff</dc:publisher> <dc:date>2013-08-24</dc:date> <dc:subject>Quiz</dc:subject> <dc:description>A quiz on the Java language, various APIs, and other aspects of this technology.</dc:description> <meta name="cover" content="BookCover" /> </metadata> <manifest> <item id="BookCover" media-type="image/jpg" href="cover.jpg"></item> <item id="cp" media-type="application/xhtml+xml" href="coverpg.html"></item> <item id="tc" media-type="application/xhtml+xml" href="toc.html"></item> <item id="intro" media-type="application/xhtml+xml" href="intro.html"></item> <item id="quiz" media-type="application/xhtml+xml" href="quiz.html"></item> <item id="aboutjf" media-type="application/xhtml+xml" href="aboutjf.html"></item> <item id="MyNcx" media-type="application/x-dtbncx+xml" href="toc.ncx"></item> </manifest> <spine toc="MyNcx"> <itemref idref="cp"/> <itemref idref="tc"/> <itemref idref="intro"/> <itemref idref="quiz"/> <itemref idref="aboutjf"/> </spine> <guide> <reference type="cover" title="Cover" href="coverpg.html"></reference> <reference type="toc" title="Table of Contents" href="toc.html"></reference> <reference type="text" title="Beginning" href="intro.html"></reference> </guide> </package>
Листинг 6: Предоставление метаданных, манифеста, позвоночника и руководства книги.
Корневым элементом файла OPF является <package>
. Этот элемент требует атрибута version
который идентифицирует версию OPF, которой соответствует документ (например, 2.0
), и атрибут unique-identifier
, значение которого идентифицирует элемент метаданных, обеспечивающий идентификационный номер книги.
В <package>
элементы <metadata>
, <manifest>
, <spine>
и <guide>
. Первые три элемента являются обязательными; <guide>
является обязательным.
Изучение <metadata>
Элемент <metadata>
предоставляет информацию о публикации в целом. Он предоставляет эту информацию через набор элементов, стандартизированных Инициативой метаданных Дублинского ядра (DCMI), которые обычно называют Дублинским ядром .
Из различных элементов метаданных Dublin Core EPUB требует только, чтобы были указаны <title>
, <language>
и <identifier>
:
-
<title>
предоставляет название книги (например,The BIG Java Quiz
). -
<language>
обеспечивает язык содержания книги в формате RFC 3066 или его преемников, таких как более новый RFC 4646 . Например,en
определяет английский как язык моей книги. -
<identifier>
предоставляет уникальный идентификатор для книги, такой как ее ISBN или URL. Значение атрибутаid
этого элемента должно соответствовать значению атрибутаunique-identifier
элемента<package>
. Атрибутscheme
указывает уникальный идентификатор. Я решил использовать универсальный уникальный идентификатор и получил его через онлайн-инструмент .
Я также указал элементы метаданных Dublin Core: <creator>
, <publisher>
, <date>
, <subject>
и <description>
. Проверьте Использование Dublin Core — Элементы, чтобы узнать больше о них.
Элемент <metadata>
может содержать элементы <meta>
которые предоставляют произвольные элементы данных помимо данных, описанных Dublin Core (элементы, принадлежащие пространству имен dc:
XML). Только один такой элемент необходим, чтобы идентифицировать изображение обложки книги (не изображение обложки на веб-сайте Amazon). Его атрибут name
должен быть установлен для cover
; его атрибут content
должен быть равен значению атрибута id
для одного из вложенных элементов <item>
элемента <manifest>
.
Изучение <manifest>
Элемент <manifest>
предоставляет список всех файлов, которые являются частью публикации (например, файлы HTML, файлы изображений и таблицы стилей) через его вложенные элементы <item>
. Я идентифицировал каждый файл, за исключением файла jeff.png
который связан со страницей about — я забыл включить jeff.png
(пропуск которого не вызвал никаких проблем).
Последний <item>
интересен тем, что он ссылается на файл с именем toc.ncx
. Вы узнаете больше о файле NCX позже. Пока что обратите внимание, что MyNCX
, который является значением атрибута id
элемента <item>
, также является значением атрибута toc
последующего элемента <spine>
.
Изучение <spine>
Элемент <spine>
определяет линейный порядок чтения документа. Он выполняет эту задачу посредством последовательности вложенных элементов <itemref>
чьи атрибуты idref
ссылаются на элементы документа (например, оглавление или введение), описанные в манифесте.
Я указал, что титульный лист должен появиться первым. За этой страницей следует страница оглавления, за которой следуют введение, затем викторина и, наконец, страница. Если я опущу любой из этих элементов в позвоночнике, отсутствующий элемент появится (по крайней мере, в инструменте предварительного просмотра Kindle, который будет обсуждаться позже) в самом конце книги.
Изучение <guide>
Необязательный элемент <guide>
предоставляет фундаментальные структурные компоненты книги через вложенные элементы <reference>
. Примеры включают изображение обложки и оглавление. Его наличие позволяет Kindles и другим устройствам для чтения электронных книг непосредственно перемещаться к этим элементам (без необходимости проходить через промежуточные элементы).
Например, инструмент Kindle Previewer содержит меню « Go to
для навигации по различным частям книги. Три из пунктов меню — Table of Contents
, Beginning
и Cover
. Выбор этих пунктов меню должен привести вас к странице содержания книги, началу и обложке.
Вы можете определить HTML-файл для оглавления, указав элемент <reference>
, атрибут type
которого имеет значение toc
а атрибут href
которого определяет файл. Аналогично, вы можете идентифицировать HTML-файл для начальной страницы, указав элемент <reference>
, атрибут type
которого имеет значение text
а атрибут href
идентифицирует файл. Kindle Previewer (и устройство Kindle, на котором я тестировал), похоже, игнорирует элемент обложки <reference>
.
Kindle Previewer и начальная страница
Когда вы открываете книгу в Kindle Previewer, она отображает содержимое файла HTML, идентифицированного как значение элемента <reference>
начальной страницы.
Указание файла NCX книги
Хотя документ EPUB не входит в спецификацию EPUB, он обычно включает файл элемента управления навигацией для файла XML (NCX) , который содержит иерархическое оглавление документа EPUB и который традиционно назывался toc.ncx
(и я придерживался этого традиции).
Старые Kindles с клавиатурами обрабатывают файл NCX, чтобы получить его набор предопределенных закладок (обычно для глав или основных разделов внутри глав). Эти устройства могут переключаться между этими предустановками, используя стрелки влево и вправо на пятипозиционном контроллере устройства. Kindle Touch и Kindle Fire, по-видимому, не используют файл NCX, но он по-прежнему стоит того, чтобы предоставить файл для поддержки старых Kindles.
В листинге 7 представлен файл toc.ncx
моей книги.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN" "http://www.daisy.org/z3986/2005/ncx-2005-1.dtd"> <ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1" xml:lang="en"> <head> <meta name="dtb:uid" content="urn:uuid:e9d31c40-0cfe-11e3-8ffd-0800200c9a66"/> <meta name="dtb:depth" content="1"/> <meta name="dtb:totalPageCount" content="0"/> <meta name="dtb:maxPageNumber" content="0"/> </head> <docTitle><text>The BIG Java Quiz</text></docTitle> <docAuthor><text>Friesen, Jeff</text></docAuthor> <navMap> <navPoint id="navpoint-1" playOrder="1"> <navLabel><text>Cover Page</text></navLabel> <content src="coverpg.html"/> </navPoint> <navPoint id="navpoint-2" playOrder="2"> <navLabel><text>Table of Contents</text></navLabel> <content src="toc.html"/> </navPoint> <navPoint id="navpoint-3" playOrder="3"> <navLabel><text>Introduction</text></navLabel> <content src="intro.html"/> </navPoint> <navPoint id="navpoint-4" playOrder="4"> <navLabel><text>Quiz</text></navLabel> <content src="quiz.html"/> </navPoint> <navPoint id="navpoint-5" playOrder="5"> <navLabel><text>About Jeff Friesen</text></navLabel> <content src="aboutjf.html"/> </navPoint> </navMap> </ncx>
Листинг 7: Предоставление информации управления навигацией в книге.
Файл NCX начинается с элемента <head>
который предоставляет различные метаданные через вложенные элементы <meta>
. Атрибут name
каждого элемента <meta>
идентифицирует вид
метаданные и их атрибут content
предоставляют данные.
Значение атрибута name
называет элемент метаданных. Это имя начинается с префикса dtb:
где dtb
является аббревиатурой от Digital Talking Books . Используются следующие имена:
-
dtb:uid
: уникальный идентификатор книги, который должен соответствовать значению атрибутаscheme
в элементе<dc:identifier>
файла OPF. -
dtb:depth
: глубина последующего элемента<navmap>
— начальная глубина равна 1. -
dtb:totalPageCount
: игнорируется Kindle, поэтому егоcontent
установлено на 0. -
dtb:maxPageNumber
: игнорируется Kindle, поэтому егоcontent
установлено на 0.
Файл NCX продолжается <docTitle>
и <docAuthor>
которые указывают название и автора книги, которые должны соответствовать их аналогам в файле OPF.
Файл NCX заканчивается элементом <navMap>
который идентифицирует карту навигации. Эта карта состоит из вложенных элементов <navPoint>
которые определяют точки навигации, представляющие значимые точки в книге, к которым читатель может перемещаться напрямую; например, перейти к началу определенной главы.
Каждый элемент <navPoint>
должен иметь уникальное значение id
— я указал navpoint-
префиксом navpoint-
. Элемент также должен иметь атрибут playOrder
с уникальным целочисленным значением, начинающимся с 1
, что указывает на то, что это первая точка навигации на карте.
Элемент <navLabel>
содержит текст (через вложенный элемент <text>
), который может появиться в оглавлении. Элемент <content>
идентифицирует HTML-файл, содержимое которого должно отображаться, когда читатель переходит к этой точке.
Мой файл NCX позволяет быстро перемещаться от титульной страницы к странице содержания, к странице введения, к началу страницы викторины, к странице о программе с помощью клавиш со стрелками влево / вправо на пятипозиционном контроллер поддерживается некоторыми устройствами Kindle.
Генерация и тестирование книги
После создания необходимых файлов для моей книги Kindle мне нужно было объединить их в один файл и протестировать этот файл. Для создания книги я использовал инструмент Amazon KindleGen, а для тестирования — инструмент Amazon Kindle Previewer, а также устройство для чтения электронных книг Kindle.
Создайте книгу с KindleGen
KindleGen — это инструмент командной строки, который позволяет издателям работать в автоматизированной среде с разнообразным исходным контентом, включая HTML, XHTML или EPUB. Этот инструмент преобразует исходный контент в один файл, который поддерживает форматы Mobipocket и Amazon KF8 .
Вы можете скачать KindleGen для платформ Windows XP / Vista / 7, Mac OS и Linux. Я скачал KindleGen v2.9 для моей платформы Windows 7, разархивировал его дистрибутивный архив и добавил путь к исполняемому файлу kindlegen.exe
в PATH
среды PATH
.
Убедившись, что в текущем каталоге содержатся quiz.html
книги quiz.html
, cover.jpg
, coverpg.html
, toc.html
, intro.html
, aboutjf.html
, jeff.png
, tbjq.opf
и toc.ncx
, я выполнил следующая командная строка для генерации книги:
kindlegen tbjq.opf
KindleGen не выпустил предупреждающих сообщений и создал файл tbjq.mobi
для моей книги. Этот файл по сути является ZIP-файлом, который содержит следующую структуру:
html/aboutjf.html html/coverpg.html html/intro.html html/quiz.html html/toc.html image/cover.jpg image/jeff.png tbjq.opf xml/toc.ncx
Протестируйте книгу с Kindle Previewer и реальными устройствами
Не каждый начинающий автор Kindle имеет реальное устройство Kindle, и многие другие не имеют нескольких устройств Kindle для тестирования своих творений. Чтобы помочь разработчикам, у которых нет устройств Kindle, Amazon выпустила эмулятор Kindle, известный как Kindle Previewer .
Вы можете скачать Kindle Previewer для платформ Windows XP / Vista / 7 и Mac OS. Я скачал Kindle Previewer v9 для своей платформы Windows 7 и запустил установщик. После установки Kindle Previewer я запустил этот инструмент. На рисунке 2 показана часть начального экрана.
Рисунок 2. На начальном экране также есть ссылки для доступа к справке, возможность изменения настроек по умолчанию и многое другое.
Чтобы проверить мою книгу с помощью Kindle Previewer, я выбрал пункт меню « Open Book
меню « File
и tbjq.mobi
в открывшемся диалоговом окне «Открыть». На рисунке 3 показана начальная страница книги, которая является введением.
Рисунок 3: Kindle Previewer рассматривает начальную страницу как начальную страницу. Страница отображается так, как она выглядит на базовом устройстве Kindle e-ink.
Kindle Previewer предоставляет богатую систему меню и элементы управления навигацией. Например, вы можете указать, куда вы хотите перейти в книге, выбрав один из пунктов меню в меню Go to
. Кроме того, вы можете выбрать группу устройств Kindle, из которых вы выбираете одно устройство для эмуляции, выбрав пункт меню группы в меню « Device
.
Еще одна функция — это возможность получить представление книги в NCX View
выбрав NCX View
меню « NCX View
меню « View
, и возможность просмотра информации о книге, выбрав « Book Information
из того же меню. На рисунке 4 показан результат.
Рисунок 4: Вы можете просмотреть иерархию NCX книги и дополнительную информацию о книге.
Хотя Kindle Previewer является полезным инструментом для тестирования книги, еще более полезно протестировать книгу на реальном устройстве Kindle. После тестирования моей книги на Kindle Previewer я подключил свое устройство Kindle к компьютеру и перенес tbjq.mobi
на устройство. На рисунке 5 показан экран с изображением обложки.
Рисунок 5: Изображение обложки размером 500 × 800 пикселей хорошо вписывается в экран моего устройства Kindle.
Публикуй и богатей и знаменит (или нет)
После тестирования книги я решил опубликовать ее в Amazon Kindle Store с помощью Kindle Direct Publishing (KDP). Если вы никогда не пользовались платформой самоиздания Amazon, вам сначала необходимо создать учетную запись (бесплатно). Выполните эту задачу, указав в браузере главную страницу KDP и следуйте инструкциям, чтобы создать учетную запись.
Каждый раз, когда вы входите в KDP, вы попадаете на книжную полку, где представлен список всех опубликованных вами книг (с соответствующими сведениями для каждой книги), который предоставляет доступ к различным отчетам, чтобы вы могли видеть, насколько хорошо ваши книги продаются и предоставляют доступ к другим функциям. Например, на рисунке 6 показана часть моей книжной полки.
Рисунок 6: Книжная полка перечисляет все ваши записи в книге.
Чтобы добавить свою книгу, я нажал кнопку « Add New Title
, а затем заполнил экраны « Your book
и « Rights & Pricing
. Наконец, я нажал кнопку « Save and Publish
.
На экране « Your book
вам предоставляется возможность загрузить или создать обложку книги, которая появляется на веб-сайте Amazon. Я загрузил свой файл cover_big.jpg
, нажав кнопку « Browse for image...
и следуя инструкциям.
Почему есть две записи БОЛЬШОЙ Java Quiz ? После публикации нижней записи я передумал над изображением обложки и создал новое изображение. Затем я выбрал Edit book details
в раскрывающемся списке Actions
на странице книжной полки и загрузил новое изображение обложки.
К сожалению, Amazon не обновил изображение обложки на своем веб-сайте, поэтому я не опубликовал свою книгу, но не смог ее удалить. Я решил переиздать книгу с новым изображением обложки и забыть о первоначальной попытке. Урок: с первого раза получите правильное изображение обложки книги!
На рисунке 7 показана опубликованная The BIG Java Quiz на его собственной веб-странице Amazon.
Рисунок 7: БОЛЬШАЯ Java Quiz ждет своего первого обзора.
Вывод
Создание и публикация моей первой книги Kindle были довольно приятным опытом. Я сделал несколько ошибок, но многому научился. Надеемся, что эта статья окажется полезной, если вы решите создать свои собственные книги Kindle. В будущем я, вероятно, создам еще одну книгу для Kindle. Возможно, на этот раз я сосредоточусь на шрике-ориентированной сатире вампиров, которые любят друг друга и пишут книги Kindle для жизни!