Я недавно купил Nook Simple Touch. Я использую Caliber, чтобы управлять своими электронными книгами и передавать их в Nook.
Из-за нестандартной реализации спецификации epub со стороны B & N, Nook ST не отображает обложки, когда они получены из многих источников. Проблема описана здесь: http://john.nachtimwald.com/2011/08/21/nook-covers-not-showing-up/
В основном Nook ST требует, чтобы атрибут XML для обложки был в формате:
<meta name="cover" content="id5" />
Но у многих создателей epub они есть так:
<meta content="id5" name="cover" />
И тогда Nook ST полностью игнорирует изображение обложки.
Я вручную редактировал файл content.opf в моих файлах epub. До сих пор у всех были мета-образы, но они всегда были вокруг «неправильного» пути (неправильного, согласно Nook).
Недавно я поигрался с REGEX, в основном, чтобы попытаться автоматизировать очистку epubs, конвертируемых Caliber, из файлов PDF. Я все еще очень начинающий с REGEX.
Что мне было интересно, так это то, как я могу автоматизировать замену атрибутов 'name' и 'content'? Я полагаю, что это можно сделать с помощью комбинации REGEX и сценариев. Я знаю, что некоторые другие скрипты, связанные с epub, у меня есть на Python. Я на Mac (OS X), и они, кажется, работают нормально. AppleScript также может быть хорошим вариантом, хотя мне бы хотелось, чтобы люди могли работать на любой платформе, так как я уверен, что другие люди сочтут это полезным.
Вот шаги, которые я предвижу:
~ Извлечь файл epub
~ Используйте REGEX для поиска:
<meta content="???" name="cover">
~ Если найдено, используйте REGEX, чтобы изменить его на:
<meta name="cover" content="???">
~ Заархивируйте извлеченные файлы обратно в epub, используя правильный процесс архивирования.
Я нашел здесь информацию: http://www.mobileread.com/forums/showthread.php?t=55681, объясняющую, как правильно заархивировать файл epub. В основном это требует этих двух команд:
zip -X0 "full path to new epub file" mimetype
zip -rDX9 "full path to new epub file" * -x "*.DS_Store" -x mimetype
Я бы хотел опубликовать полученный скрипт онлайн, где бы он ни был найден и использован (до тех пор, пока B & N не разрешит свою плохую реализацию epub / XML). На ум приходит его публикация на форумах Caliber и на мобильных форумах (с тех пор, как я познакомился с двумя из них, я видел, как люди исправляли эту проблему в руководстве по обсуждению).
Есть ли кто-нибудь, кто может рассказать мне, как создать такой сценарий? В идеале я хотел бы знать, как на самом деле создать сценарий, чтобы со временем я сам начал разбираться с подобными вещами (особенно с частью REGEX, поскольку я все больше и больше вижу, насколько она полезна).
Спасибо.
Jonathan
@ Haldean: ДОБАВЛЕНО, чтобы проиллюстрировать, что я имею в виду в комментарии к Haldean о том, как заставить его скрипт рекурсивно работать со всеми файлами content.opf во всех подпапках.
> My_expanded_epubs
- -> epub_one_expanded
- - - -> content.opf
- -> epub_two_expanded
- - - -> content.opf
- -> epub_three_expanded
- - - -> content.opf
etc.