Статьи

Моя первая книга Kindle: тематическое исследование

В течение нескольких лет я думал о создании и публикации книги 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,6.
Рисунок 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 показана начальная страница книги, которая является введением.

Kindle Previewer рассматривает начальную страницу как начальную страницу. Страница отображается так, как она выглядит на базовом устройстве Kindle e-ink.
Рисунок 3: Kindle Previewer рассматривает начальную страницу как начальную страницу. Страница отображается так, как она выглядит на базовом устройстве Kindle e-ink.

Kindle Previewer предоставляет богатую систему меню и элементы управления навигацией. Например, вы можете указать, куда вы хотите перейти в книге, выбрав один из пунктов меню в меню Go to . Кроме того, вы можете выбрать группу устройств Kindle, из которых вы выбираете одно устройство для эмуляции, выбрав пункт меню группы в меню « Device .

Еще одна функция — это возможность получить представление книги в NCX View выбрав NCX View меню « NCX View меню « View , и возможность просмотра информации о книге, выбрав « Book Information из того же меню. На рисунке 4 показан результат.

Вы можете просмотреть иерархию NCX книги и дополнительную информацию о книге.
Рисунок 4: Вы можете просмотреть иерархию NCX книги и дополнительную информацию о книге.

Хотя Kindle Previewer является полезным инструментом для тестирования книги, еще более полезно протестировать книгу на реальном устройстве Kindle. После тестирования моей книги на Kindle Previewer я подключил свое устройство Kindle к компьютеру и перенес tbjq.mobi на устройство. На рисунке 5 показан экран с изображением обложки.

Изображение на обложке размером 500x800 пикселей хорошо вписывается в экран моего устройства Kindle.
Рисунок 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.

БОЛЬШАЯ Java-викторина ждет своего первого обзора.
Рисунок 7: БОЛЬШАЯ Java Quiz ждет своего первого обзора.

Вывод

Создание и публикация моей первой книги Kindle были довольно приятным опытом. Я сделал несколько ошибок, но многому научился. Надеемся, что эта статья окажется полезной, если вы решите создать свои собственные книги Kindle. В будущем я, вероятно, создам еще одну книгу для Kindle. Возможно, на этот раз я сосредоточусь на шрике-ориентированной сатире вампиров, которые любят друг друга и пишут книги Kindle для жизни!