Вы меня, конечно, извините, но разбираться в том, что такое «выражение XPath», у меня нет ни малейшего желания. Тем более, что в любом случае у нас не редактирование файла, а его интерпретационное преобразование. Для кого это написано? Кто будет ТАК создавать и редактировать электронную книжку.
До недавнего времени EPUB также был полностью закрытым в себе форматом. С этим-то, как раз, все ясно: EPUB изначально задумывали для коммерческой эксплуатации, а не творчества народных масс. Прикрутили DRM и сегодня полным ходом продают в iTunes Store. Дошло до того, что на Маке поныне нет ни одной приличной программы для каталогизации и чтения книг в формате EPUB! Формате, который является основным (и единственным!) для чтения электронных книг на мобильных устройствах Apple! Уму непостижимо! Говорят, Надкусан в грядущей версии Mac OS X совершит эпохальный прорыв (очередная рекламная фикция, к которым уже давно привык), портировав на десктопную операционную систему свою штатную мобильную читалку iBooks — самую позорную недотыкомку, какую доводилось встречать что на iOS, что на Android.
Но ведь iBooks — это всего лишь читалка, а не редактор! А читалок этих и без того уже существует с полдюжины (правда, одна другой ужаснее). Максимум редактирования EPUB, до которого мы достучались — это такая же Ding an sich конвертация в виде опции «Сохранить в EPUB», встроенной в редактор Apple Page.
Короче говоря, ситуация сложилась аховая. И как ни прискорбно об этом писать, но сегодня, в 2013 году, реальность такова, что есть один-единственный полноценный редактор для работы с мобильными форматами электронных книг, который называется Sigil. Он бесплатен и реализован сразу для двух платформ — Windows и Mac OS X (скачать можно здесь).
По множеству признаков можно сразу догадаться, что Sigil создавал гик. Правда, гик гениальный, потому что он чудом сумел совместить сложное с простым. Создавать и редактировать в Sigil может как программист и профессиональный веб-дизайнер, щелкающий CSS-стили как орехи, так и самый обыкновенный пользователь, далекий от компьютерной науки и — главное — совершенно не жаждущий к ней приобщиться.
Как по-детски просто создавать собственные электронные книжки в формате EPUB я сейчас продемонстрирую на нескольких скриншотах. Надо сказать, что EPUB — это такое у меня хобби в свободное от дел время. Верстаю книжки для собственного пользования. Ну и — всех желающих, если кто разделяет мои вкусы и интересы. Скажем, с марта по середину мая я усидчиво работал над созданием полной антологии лирики моего любимого музыканта Фрэнка Заппы. Конечно, все тексты песен Заппы (выпустившего под 60 альбомов!) доступны на разных порталах в интернете, но вот так, чтобы все да в одном месте — такого нигде нет. Вот мне и захотелось нечто подобное сверстать. Все желающие могут забрать книжку в EPUB отсюда, а сейчас я просто продемонстрирую, как это просто делается в Sigil.
В левой части окна выведена вся структура нашей книги — текстовые файлы, Стили, Изображения, Шрифты, Аудио, Видео, Прочее. Для создания любого текстового файла нужно кликнуть в разделе Text правой кнопкой мыши и из контекстного меню выбрать Add Blank HTML File (Добавить пустой HTML файл). По умолчанию программа называет его Section0001.html, увеличивая в дальнейшем нумерацию, но вы вольны переименовывать их, как вам нравится.
Первым делом создаем обложку: для этого предварительно в раздел Images поместим желаемую картинку (туда же вы закинете все картинки, какие планируете использовать в своей книге. Единственный нюанс — нужно дать понять программе, что данная картинка является обложкой, поэтому добавим к картинке соответствующий атрибут: выделяем картинку — кликаем правой кнопкой мыши — из контекстного меню выбираем Add Semantics — Cover Image.
Теперь отправляемся в раздел Text, создаем в нем первый файл (я переименовал его в cover.html),кликаем на названии созданного файла и в среднем окне программы откроется пустое пространство — это область содержания выделенного файла. Кликаем правой кнопкой мыши и из контекстного меню выбираем опцию Insert File — вставить файл — подбираем картинку обложки, которая уже находится в разделе Images, и вставляем ее файл. Всё — обложка создана.