Sigil: WYSIWYG-редактор книг формата EPUB

Продолжаем осваивать создание цифровых книг в формате EPUB. Для работы с этим форматом уже создано немало программ. Это и конверторы, и визуальные редакторы, и различные вспомогательные утилиты. Некоторые из этих инструментов постараемся рассмотреть на страницах "КВ". Сегодня сделаем обзор визуального редактора электронных книг Sigil.

В прошлый раз (№50, 2010) мы знакомились с процессом создания книги в формате EPUB в ручном режиме. То есть, говоря программистским языком, создавали все необходимые файлы на низком уровне - на уровне кода html-xml.

Конечно, такой способ позволяет уяснить внутренности формата, однако для многих он может оказаться излишне сложным. Поэтому на этот раз рассмотрим создание книги в визуальном режиме при помощи WYSIWYG-редактора Sigil. Этот редактор является чем-то вроде аналога FrontPage, но только для книг в формате EPUB, позволяя, орудуя мышкой, сверстать простую цифровую книгу, даже не особо разбираясь в коде html и xml.


Общие данные

Sigil - это кроссплатформенный визуальный редактор электронных книг в формате EPUB. Имеются версии для Windows, Linux, MacOS. Домашняя страница проекта, где можно скачать нужную версию, находится на интернет-площадке открытых проектов Google Code code.google.com/p/sigil.

 

Размер программы зависит от версии операционной системы. Версия для Windows весит 10 Мб, для Linux - 55 Мб.

Sigil - это свободная программа. Распространяется по лицензии GPL v3. Текущая версия самой программы 0.3.2. Так что программа ещё молодая, находится в стадии развития. Поэтому в дальнейшем здесь вполне возможны различные новшества как в области интерфейса, так и по функционалу.

Что касается импорта файлов для редактирования, то Sigil открывает не только файлы с расширением epub, но и позволяет импортировать содержание в виде простых текстовых файлов и HTML-файлов.

Ещё следует сказать, что Sigil работает полностью в юникоде. Причём внутренний стандарт этого редактора - UTF-16. Из форматов изображений поддерживаются все обычные графические стандарты EPUB - jpeg, gif, png и даже svg.


Интерфейс

Интерфейс Sigil представляет собой типичный интерфейс визуальных редакторов HTML. Основным здесь является главное окно, где и происходит сам процесс визуального редактирования содержания книги.

Главное окно поддерживает табы-вкладки и позволяет открыть в этих вкладках несколько файлов. Оно может функционировать не только в визуальном режиме, но и в режиме непосредственной правки HTML-кода. Есть и смешанный режим, когда верхняя половина окна - визуальное редактирование, а нижняя - правка кода.

С левой стороны находится панель менеджера файлов и ресурсов. По умолчанию, во время открытия нового проекта книги, там уже делаются папки для разных типов файлов: Text, Image, Style, Fonts, Misc. Эти папки не являются обязательными в стандарте EPUB, но их наличие совсем не помешает. Sigil автоматически будет размещать в этих папках соответствующие типы файлов.

И, конечно же, имеются панели инструментов с кнопками для форматирования текста и создания структуры книги.

Интерфейс программы пока только на английском языке. Хотя при установке программа пыталась изобразить и возможность выбора русского языка, но реальная локализация - это, видимо, дело последующих версий.


Форматирование содержания

Рассмотрим возможности форматирования в визуальном режиме. На момент текущей версии программы эти возможности не очень велики.

В визуальном режиме можно форматировать заголовки, стили текста - жирный, курсив, подчёркивание, выравнивание текста. Можно вставить нумерованные и ненумерованные списки. Есть кнопочка вставки изображения. Инструмента для создания таблиц в этом редакторе пока ещё нет.

Форматирование на уровне HTML-кода делается через локальный атрибут style. Инструментов для работы с внешней таблицей стилей в редакторе тоже нет. Контекстное редактирование по правой кнопке мыши, как в солидных редакторах, находится пока в минимальной реализации.

Однако хотелось бы обязательно отметить, что предлагаемый программой минимум форматирования - это как раз хорошо, а не плохо. Книга - не сайт, и здесь демонстрировать свои умения по форматированию HTML не нужно. Книга должна удобно читаться, а не красиво смотреться. Форматировать тот или иной элемент содержания нужно только в том случае, если без этого действительно никак не обойтись. Тем более, как мы рассматривали в одной из статей, современные мобильные программы-читалки всё ещё не полностью поддерживают возможности форматирования формата EPUB.

В качестве лирического отступления по вопросу стиля можно сказать, что хорошим тоном будет использовать в электронной книге встроенный шрифт, а не полагаться на дефолтные шрифты в программах-читалках. Благо, появляются уже и качественные бесплатные и свободные гарнитуры. Хотя в самом Sigil удобная кнопочка для подключения шрифтов пока не предусмотрена, но, надеюсь, что она появится.

Из особенностей автоматизации форматирования отмечу автоматическую расстановку тегов div при вставке из буфера обмена простого текста. Но, по правде говоря, это не всегда удобно.


Метаданные книги

И теперь что касается рутины, то есть создания вспомогательных xml-файлов с метаданными и оглавлением книги, ручное редактирование которых - не самое приятное времяпрепровождение. Sigil позволяет автоматизировать работу с этими xml-файлами.

В Sigil есть инструмент для ввода общей информации об издании, соответствующей данным раздела metadata файла content.opf. Находится он в меню "Tools - MetaEditor".

Это форма, которая по умолчанию предлагает ввести минимальные метаданные: название книги, автора и язык содержания. Однако дополнительные кнопки "add basic" и "add adv" в этой форме позволяют ввести много дополнительной информации об издателе, дате выпуска, авторских правах и т.д.

В Sigil имеется и редактор оглавления (toc-файла), который находится в меню "Tools - Table of content editor". Чтобы разбить содержание на нужные главы, понадобится инструмент Chapter Break, который просто разбивает нужный файл на две части в месте расположения курсора. И таким образом можно всё содержание разбить на отдельные главы-файлы. А Sigil уже из этих файлов создаст автоматически необходимый toc-файл с оглавлением книги.

И ещё в формате EPUB есть возможность задавать семантическое значение файлам содержания книги. Например, обозначить файл как обложку, эпиграф, примечание или как библиографический раздел.

Эта возможность не является обязательной в стандарте EPUB, но многие программы-читалки используют эти семантические данные. Реализуется она через специальный раздел guide в файле content.opf, который на уровне кода выглядит так:

<guide>
 <reference
  href="title.html"
  type="cover"
  title="Cover"/>
</guide>

Для того, чтобы установить семантическое значение того или иного файла в Sigil, xml-код писать не нужно - достаточно правой кнопкой мыши выбрать конкретный файл в менеджере ресурсов и в появившемся контекстном меню кликнуть на пункт "Add Semantics". Появится список, в котором можно выбрать нужное семантическое значение. Обычно задают семантическое значение "Cover Image" и "Cover" соответственно для картинки обложки и HTML-файла обложки.

И, конечно же, Sigil берёт на себя всю работу по созданию всех необходимых в стандарте EPUB вспомогательных файлов mimetype, container.xml, а также общей стандартной структуры каталогов внутри архива epub. Непосредственно архивация в правильный zip-архив всех файлов со всеми правильными ключами редактор Sigil тоже делает самостоятельно. Поэтому можно не напрягаться изучать опции архиватора zip.


Ошибки, проблемы

Из проблем, замеченных при работе с визуальным редактором Sigil версии 0.3.2, могу отметить некоторую нестабильность работы. Иногда программа "задумывалась" в смешанном режиме редактирования. Но эти баги обусловлены, видимо, ещё ранней неоптимизированной версией редактора.

А так, в целом, программа производит удовлетворительное впечатление. Возможностей визуального форматирования вполне хватает, чтобы сверстать из готового текста художественную книжку - повесть, рассказы.

Михаил АСТАПЧИК

Версия для печатиВерсия для печати

Номер: 

01 за 2011 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Аватар пользователя Logicby
>Продолжаем осваивать создание цифровых книг в формате EPUB. Для работы с этим форматом уже создано немало программ. Это и конверторы, и визуальные редакторы, и различные вспомогательные утилиты.

Я так и не нашёл в инете "драйвера виртуального принтера" для печати в формате epub.

Приходится печатать в формате pdf (таких драйверов печати много есть), а потом с помощью Калибри перегонять в формат epub.

А так, чтобы сразу "печатать" в файл формата epub так и не нашёл. :-(

Аватар пользователя Астапчик Михаил
>>>>Я так и не нашёл в инете "драйвера виртуального принтера" для печати в формате epub.

EPUB - это практически формат HTML, и конвертировать в него через "драйвера виртуального принтера" не очень логично. "Драйвера виртуального принтера" предназначены для преобразования документов в принтерные пиксельно-векторные форматы, каковым EPUB не является.

Хотя хозяин - барин, было бы у разработчиков этих драйверов желание.

>>>>Приходится печатать в формате pdf, а потом с помощью Калибри перегонять в формат epub.

Опять таки, так как EPUB - это практически формат HTML, то логичнее было бы сохранять документ в формате HTML, а не PDF, а потом конвертировать в Калибри. Меньше информации потеряется. PDF - это не лучший промежуточный формат для EPUB.

Вопрос прямого экспорта в EPUB документа в офисных программах - это только вопрос времени. Маковский iWork уже имеет возможность такого экспорта. Подтянутся за ним и OO.o и MS Word, никуда не денутся.

Аватар пользователя Logic
Астапчик Михаил > Опять таки, так как EPUB - это практически формат HTML, то логичнее было бы сохранять документ в формате HTML, а не PDF, а потом конвертировать в Калибри.

Надо бы попробовать для сохранения целой страницы например в mht -> Калибри(epub).

>Меньше информации потеряется. PDF - это не лучший промежуточный формат для EPUB.

Но часто "печатаешь" в PDF не всю страницу, а только выделенную часть, а таких плагинов для браузера, чтобы сохраняли не всю страницу, а только выделеную часть я пока не встречал.

Есть плагины для браузеров, которые выделяют "значимое" на странице(отсекая рекламу и прочее) и выделят хорошо, но дальше то надо это "распечать" в epub - и тут опять облом. :-(

Кроме того, почти во всех прогах можно распечать что-то - текст, или дерево с данными и прочее - и именно распечать(!) - тут уж через драйвер виртуального принтера ничем не возьмёшь иначе, чтобы получить потом в формате epub(через, к примеру, Калибри).

Аватар пользователя Астапчик Михаил
На мой взгляд, вряд ли разрабы драйверов виртуальных принтеров будут запиливать поддержку EPUB - неспецифичный формат для драйверов печати. Разве что выгоду в этом какую увидят.

Скорее всего экспорт сделают в офисных прогах. А так же стоит ждать расширения "Файерфокс" для экспорта HTML-содержания.

Может даже Вадим Станкевич такое расширение для "Лисы" напишет. :)

Аватар пользователя Logicby
Астапчик Михаил > На мой взгляд, вряд ли разрабы драйверов виртуальных принтеров будут запиливать поддержку EPUB - неспецифичный формат для драйверов печати. Разве что выгоду в этом какую увидят.

Ну, судя по интернету многие уже шукают такие драйверы печати. - А в ответ пока тишина.

Аватар пользователя Logicby
Logic >>Астапчик Михаил > Опять таки, так как EPUB - это практически формат HTML, то логичнее было бы сохранять документ в формате HTML, а не PDF, а потом конвертировать в Калибри. >

Надо бы попробовать для сохранения целой страницы например в mht -> Калибри(epub).

mht формат Калибри не может преобразовать в epub. ;-(

html формат Калибри преобразует в epub, но не вставляет туда картинки. ;-(

Печально всё. Придётся всё же печать в pdf на виртуальный принтер.

Аватар пользователя Астапчик Михаил
>>>>html формат Калибри преобразует в epub, но не вставляет туда картинки

Видимо какой-то глюк.

Вот для проверки сейчас открыл эту статью в режиме "копия для печати", сохранил на диск, загрузил в Калибри, форматнул в epub с настройками по умолчанию и получил экземпляр со вставленной картинкой.

Вот так выглядит во встроенном в Калибри вьювере:

http://imageshost.ru/photo/1319303/id374046.html

В FBreader и StarBooks для Андроида картиночка тоже есть.

Хотя не думаю, что надо прямо всё подряд конвертировать в EPUB. Это всё-таки чисто книжный формат.

Аватар пользователя Logic
Астапчик Михаил > Вот так выглядит во встроенном в Калибри вьювере:

Странно, но вот я же вижу, что он на основании html создаёт zip файл (при импорте в Калибре) - в этом zip файле нет картинок, типа КАлибри не видит отдельной(!) папки с картинками для этого html файла исходного, типа:

"Компьютерные Вести On-line_ Форум_ Обсуждение статьи Sigil WYSIWYG-редактор книг формата EPUB (№01, 2011 год)_files"

>Хотя не думаю, что надо прямо всё подряд конвертировать в EPUB. Это всё-таки чисто книжный формат.

Но это самый удобный способ читать статьи и заметки из инета. Быстро, удобно, с картинками, с изменением текста, с увеличением картинки и прочее. имхо.

Аватар пользователя Астапчик Михаил
>>>>"Компьютерные Вести On-line_ Форум_ Обсуждение статьи Sigil WYSIWYG-редактор книг формата EPUB (№01, 2011 год)_files"

Догадываюсь в чём глюк. Это частая проблема названий файлов и папок с кириллическими символами и пробелами в HTML-страницах. Некоторые программы некорректно с такими названиями работают. Эта проблема аналогична поддержке русских доменных имен в приложениях - тоже в одних программах работает, в других не работает.

Можно попробовать сохранять HTML-файлы с короткими названиями в латинице. Тогда и каталог с картинками будет с таким же простым именем. Всё равно Калибри дополнительные данные берёт не из названия файлов. Я всегда так обычно делаю.

Аватар пользователя Logicby
Теперь по тексту статьи. ;-)

Астапчик Михаил > "Однако хотелось бы обязательно отметить, что предлагаемый программой минимум форматирования - это как раз хорошо, а не плохо. Книга - не сайт, и здесь демонстрировать свои умения по форматированию HTML не нужно. Книга должна удобно читаться, а не красиво смотреться."

Вот с этим можно поспорить. Книга может быть утилитарной(!), но это не обязательно.

К примеру, даже в Apple-store есть книги как книги (ebuk), а есть книги как приложения (application).

И если бы в ebuk можно было вставить видео, музыку, 3D-контент и прочее - то это всё здорово.

P.S.

Я думаю, что и бумажные книги не умрут по трём причинам:

1 - Если они будут очень дешёвые в карманном варианте, которые не жалко и потерять.

2 - Если они будут очень дорогие, в шикарном переплёте с шикарными картинками, которые даже на 10" не будут впечатлять - только на бумаге!

3 - Если они будут ... учебниками, которые, как показала практика использование электронных читалок, всё же удобнее при эксплуатации студентами, чем этот же учебник на электронной читалке.

ИМХО

>В качестве лирического отступления по вопросу стиля можно сказать, что хорошим тоном будет использовать в электронной книге встроенный шрифт, а не полагаться на дефолтные шрифты в программах-читалках...

Ну, возможность в читалке заменить стиль шрифта книги - это очень даже хорошо! ;-)