Текст книги "FictionBook Editor V 2.66 Руководство"
Автор книги: Izekbis
Жанры:
Программирование
,сообщить о нарушении
Текущая страница: 4 (всего у книги 5 страниц)
Унификация вложений и картинок v1.2
Скрипт переименовывает вложения соответственно порядку следования ссылок на них в теле документа. Если на вложение ссылается несколько картинок, берется номер первой из них. Первое нумеруемое вложение получает номер 1. По умолчанию новое имя файла (без учета расширения) выглядит как «i_001» (можно настроить префикс имени, т. е. то, что будет вместо «i_», и количество цифр, до которого следует дополнять номер); расширение получается из поля content-type бинарника:.jpg для image/jpeg и. png для image.png.
Вложения, на которые нет ссылок, переименовываются по другому алгоритму. К их имени дописывается префикс (конкретный вид его можно настроить) «unused_». Если вложение уже имеет такой префикс, второй раз он не добавляется. Случается иногда ситуация, что уже есть вложение например unused_a.png, есть вложение a.png, и т. к. на последнее нет ссылок, оно тоже по идее должно стать unused_a.png. Получалось бы запрещенное дублирование id вложений, поэтому такая ситуация решена дописыванием постфикса вида «_0» (число меняется по необходимости) к имени вложения.
Вложению обложки дается имя cover, вложению обложки оригинального издания cover_src (настраиваемо путем редактирования параметра в файле скрипта). Расширение дается согласно content-type. Если в качестве обложки ничего не выбрано, и есть вложение с именем «cover.jpg» или «cover.png», это вложение делается обложкой. Аналогично для обложки ориг. издания, только искомое вложение должно называться «cover_src» + расширение.
Потом вложения сортируются в таком порядке: обложка; обложка оригинального издания; пронумерованные картинки; вложения, на которые нет ссылок.
Атрибут href у картинок изменяется с тем, чтобы картинки оставались связаны со своими вложениями несмотря на смену id.
По окончании обработки выводится статистика, в том числе перечни: картинок, для которых нет вложений; вложений, на которые нет ссылки; картинки с нелокальными ссылками; список вложений с content-type не image/jpg, не image/png. Т. е. попутно скрипт можно использовать как проверку картинок.
Есть пара известных проблем. Во-первых, после работы скрипта перестает появляться выпадающий список при редактировании атрибута href картинки. Во-вторых, в некоторых случаях не срабатывает встроенное обновление картинок, и выводится старая картинка вместо новой, хотя связь «картинка – › бинарник» соблюдена верно.
Обновление картинок и списков обложек v1.0
Бывает, удалишь несколько вложений, потом вставишь на их место новые с теми же названиями, а картинки в режиме «Дизайн» редактор не обновляет – остаются видны старые. Или меняешь руками id вложений в режиме редактирования описания (description’а) книги – тот же эффект. Выпадающие списки для выбора картинки обложки тоже не обновляются. В этом случае и пригодится данный скрипт. (Но все-таки, кажется, и со скриптом срабатывает не всегда.)
Удалить все вложения из книги v1.3
Скрипт делает то, что сказано в его названии. Это бывает нужно, чтобы удалив старую версию вложений, заменить их новой.
Тест сносок v1.2
Скрипт проверяет порядок расположения ссылок-сносок и их правильность. Определяет, кажется, все возможные ошибки. Является аналогом скрипта «Проверить ссылки», который стандартно идет с FBW, но работает быстрее (сравните: N*N операций в случае скрипта FBW и N операций в случае «Теста сносок»). К тому же определяет больше ошибок.
Ограничение: поддерживается только стандартный формат оформления сносок (когда каждая сноска представлена секцией в ‹body name=«notes»› и ссылки сносок ссылаются именно на секции). Кроме того, скрипт понимает лишь одноуровневые сноски, т. е. в боди notes не должно быть секций второго уровня вложенности.
Изменения в версии 1.2:
• скрипт работал некорректно (выдавал сообщение «Отсутствует # в адресе ссылки.») в случае, если FBE показывал длинные ссылки в книге
(допустим,"file:///C:/FB2/FBE2.0%2004%20-%2028%20Jun%202009.dir/main.html#N1" вместо "#N1");
• при отсутствии body примечаний скрипт выдавал сообщение об этом, но потом вылетал с ошибкой;
• сообщение об ошибке «Нет секции примечания с id, указанным в ссылке.» исправлено на «В body примечаний нет секции примечания с id, указанным в ссылке.».
Регистр v1.1
Данный набор скриптов позволяет, выделив текст и запустив скрипт, перевести его в нижний либо в ВЕРХНИЙ регистр.
В архиве следующие скрипты, названия которых говорят сами за себя:
1. В верхний регистр;
2. В нижний регистр;
3. Предложение – Делает первую букву прописной остальные строчные, как в предложении. Удобно для изменения в заголовках, где все прописные;
4 Капитализация выделения – В выделенном фрагменте начинает все слова с заглавных;
5 Сжатие разрядки – сжимает разрядку. Осторожно – может слепить слова, если, текст форматирован по ширине;
6 Циклическое изменение регистра – меняет заглавные на прописные и наоборот.
Вставка ссылки на midi-файл v1.0
AlReader позволяет читать fb2-книги со ссылками на midi-файлы, которые (midi-файлы) можно прослушать прямо в читалке. Данный скрипт позволяет вставить такую ссылку. Для этого нужно выделить текст, который следует сделать ссылкой, запустить скрипт, выбрать музыкальный файл, и подтвердить создание ссылки. Чтобы читалка нашла файл с музыкой, нужно положить midi в zip-архив, в котором лежит и fb2.
Разбиение на секции v1.3
Данный скрипт позволяет, задав признак для поиска строк – будущих заголовков, произвести разбиение fb2-документа на секции с одновременной разметкой этих заголовков тегом title. После чего остается придать секциям правильную вложенность с помощью кнопок управления структурой документа, которые есть в окне «Структура книги» редактора. По сути, скрипт избавляет от ручной работы с комбинацией Shift-Enter.
После запуска скрипта появляется окно настроек. В нем можно задать регэксп для поиска строк-заголовков. Можно выбрать, учитывать ли регистр при поиске по заданному регэкспу. Еще можно настроить, сколько при разметке захватывать в заголовок строк до и после строки, найденной по регэкспу.
Второй этап работы скрипта запускается кнопкой «Обработать» или «Обработать и выйти». В процессе обработки создаются разрывы секций (‹/section›‹section›) перед найденными строками-заголовками, а сами заголовки (которые на тот момент еще не заголовки) размечаются тегом title.
Чтобы скрипт заработал, html-файл из архива следует положить в подпапку HTML папки той версии редактора, исполняемый файл которого запускаете. Создайте эту подпапку, если ее нет. js-файл должен лежать в папке скриптов, выбранной в настройках редактора.
Изменение в версии 1.3:
поправлено то, что после выхода из скрипта освобождалась не вся занимаемая им память.
Обработка кавычек v2.7
В набор входят следующие скрипты:
1. Расстановка елочек и лапок;
2. Расстановка елочек и лапок (начиная с 1-го уровня);
3. Расстановка елочек и лапок (начиная со 2-го уровня);
4. Расстановка елочек и лапок (с позиции курсора);
5. Расстановка елочек и лапок (с позиции курсора, начиная с 1-го уровня);
6. Расстановка елочек и лапок (с позиции курсора, начиная со 2-го уровня);
7. Переход на след. елочки;
8. Переход на пред. елочки;
9. Переход на пред. лапки;
10. Переход на след. лапки;
11. Переход на пред. прямые кавычки;
12. Переход на след. прямые кавычки;
13. Переход на пред. прямые кавычки, елочки или лапки;
14. Переход на след. прямые кавычки, елочки или лапки;
15. Расстановка только елочек.
Скрипт под номером 1 проставляет елочки и лапки в документе, учитывая уровни их вложенности и работает корректно, даже в случае наличия сносок. Если в момент запуска скрипта выделения в документе нет, будет обработан весь текст. Если же есть выделение, будет обработана лишь выделенная область. Скрипт находит спорное место, сообщает Вам об этом и предлагает исправить вручную. Если число кавычек в уровне не совпадает – означает, что где-то есть непарная (открывающая/закрывающая) кавычка. Скрипт показывает какой не хватает.
Видно не хватает закрывающей елочки. Скрипт останавливается в конце непарной секции. Вернитесь (при помощи скрипта «Переход на предыдущие ёлочки/лапки») к последней «ёлочке/лапке»(что указано непарным) и просмотрите текст. Исправьте знак или проставьте недостающую кавычку (её вид не имеет значения, скрипт изменит на правильный). Запустите скрипт.
Означает, что отсутствует открывающая кавычка.
Нажмите «ОК», при этом курсор окажется возле закрывающей кавычки. Поставьте открывающую кавычку. Или уберите закрывающую, если не нужна.
Возможно также:
– отсутствие пробела перед открывающей кавычкой;
– пробел после открывающей кавычки;
– точка после открывающей кавычки (возможно надо многоточие);
– искажение знака кавычки
– мусор после распознавания.
Исправьте.
Означает, что вложение кавычек слишком сложное. Уровень вложения больше двух. Вернитесь к последней «ёлочке» и просмотрите текст. Бывает, что такое сложное вложение действительно правильное. Если выяснится, что все правильно – проставьте нужные кавычки. Скрипт такого сочетания кавычек не понимает, и будет постоянно останавливаться на нем. Скрипт может не понимать, если открывающая и закрывающая кавычка находятся в разных абзацах, и конструкции типа «+». Поэтому, дальше запускайте скрипт – Расстановка ёлочек и лапок с позиции курсора.
Если расстановка кавычек неправильная – исправьте.
Возможно также:
– отсутствие пробела перед открывающей кавычкой;
– пробел после открывающей кавычки;
– точка после открывающей кавычки (возможно надо многоточие);
– мусор после распознавания.
После исправления ошибок, запускайте скрипт, пока не получите сообщение:
Скрипты 2 и 3 аналогичны скрипту 1, но начинают расстановку елочек и лапок не с нулевого уровня вложенности, а с первого или второго.
Скрипты 4, 5 и 6 при отсутствии выделения перед запуском скрипта проставляют елочки и лапки не от начала документа, а с позиции курсора.
Скрипты 7-14 позволяют перемещаться вперед или назад по документу к определенным символам кавычек, указанным в названиях скриптов.
Скрипт 15 заменяет все кавычки на елочки, левые и правые. Соответственно, все проверки на уровень вложенности кавычек отключены.
Поиск форматирования v1.0
Скрипты данного набора осуществляют переход вперед или назад от курсора к месту документа, где используется вид форматирования, обозначенный в названии скрипта. Содержит скрипты, позволяющие быстрее передвигаться по документу в поисках определённого форматирования.
Вот перечень скриптов этого набора:
1. Переход на предыдущий курсив;
2. Переход на следующий курсив;
3. Переход на предыдущий абзац с курсивом;
4. Переход на следующий абзац с курсивом;
5. Переход на предыдущую жирность;
6. Переход на следующую жирность;
7. Переход на предыдущий абзац с жирностью;
8. Переход на следующий абзац с жирностью;
9. Переход на предыдущий верхний индекс;
10. Переход на следующий верхний индекс;
11. Переход на предыдущий абзац с верхним индексом;
12. Переход на следующий абзац с верхним индексом;
13. Переход на предыдущий нижний индекс;
14. Переход на следующий нижний индекс;
15. Переход на предыдущий абзац с нижним индексом;
16. Переход на следующий абзац с нижним индексом;
17. Переход на предыдущее зачеркивание;
18. Переход на следующее зачеркивание;
19. Переход на предыдущий абзац, содержащий зачеркивание;
20. Переход на следующий абзац, содержащий зачеркивание;
21. Переход на предыдущий код;
22. Переход на следующий код;
23. Переход на предыдущий абзац, содержащий код;
24. Переход на следующий абзац, содержащий код.
Превращение внешних ссылок в текст v1.1
Суть скрипта ясна из названия. Поясню, что внешней ссылкой считается любая ссылка, которая не является локальной ссылкой. Локальной же ссылкой считается такая, у которой адрес начинается с «file://» либо со знака «#», также перед этими строковыми последовательностями могут быть пробелы.
Точка, тире, буква v1.3
Данный скрипт находит комбинации символов «точка, тире, маленькая буква», «запятая, тире, большая буква», «многоточие, тире, маленькая буква», причем между любыми двумя символами комбинации могут быть простые или неразрывные пробелы (а могут и не быть), а под тире в данном контексте понимаются дефис или короткое либо длинное тире.
Когда комбинация символов найдена, абзац с этой комбинацией выводится в диалоге, причем комбинация символов выделена особым стилем (по умолчанию – белым по красному). Также в диалоге имеются кнопки управления скриптом. Кнопка «Пропуск» пропускает текущий найденный случай и пытается найти следующий.
Кнопка «Заменить знак пунктуации» производит замену точки из найденной комбинации символов на запятую, либо наоборот – заменяет найденную запятую на точку; после чего происходит переход к следующей комбинации символов. Кнопка «Изменить регистр буквы» превращает большую букву из найденной комбинации в маленькую, либо наоборот, после чего, опять же, происходит переход на следующий подлежащий рассмотрению пользователем случай. Кнопка «Выход» ничего не делает, кроме того что закрывает скрипт.
Если перед нажатием одной из кнопок «Заменить знак пунктуации» и «Изменить регистр буквы» установлен флажок «После замены перейти к этому месту», то после того, как скрипт произведет полагающиеся изменения, произойдет выход из скрипта, и область видимости в основном окне FBE и курсор будут перемещены к рассматриваемой комбинации символов. Имеется также кнопка «Перейти без замены», которая осуществляет такое же перемещение области видимости и курсора, но при этом не совершается ни одно из предлагаемых на данный момент изменений документа.
Как разложить файлы скрипта:
1. js-файл положить где-нибудь внутри папки Scripts, выбранной в настройках редактора.
2. содержимое папки HTML положить в папку HTML, находящуюся в папке редактора, exe-файл которого запускаете.
3. Подпапка CSS при этом должна быть внутри папки HTML. Под именем «Точка, тире, буква – main.css» можно подложить main.css от вашего FBE (чтобы текст отображался тем же стилем, что у вас в редакторе). В файле «Точка, тире, буква – add.css», редактируя строку
SPAN.ddl_marked {background-color: red; color: white}
Можно настроить стиль, которым будет подсвечиваться рассматриваемая комбинация символов.
Строка
#fbw_body {font-family: Tahoma; font-size:15px;}
Назначает стиль, который будет применен ко всему отображаемому тексту. Это аналог настроек шрифта в настройках FBE.
В js-файле скрипта можно изменить значения размеров диалога (измеряются в пикселях) вот в этих строках:
var dialogWidth="640px"; // ширина диалогового окна var dialogHeight="480px"; // высота диалогового окна.
Управление структурой секций v1.8.
Я полагаю, скрипт может быть удобен как для изменения структуры секций путем перетаскивания мышью, так и для массового ручного контроля/редактирования заголовков. Преимущество сравнительно со встроенным в FBE редактированием дерева – заголовки отображаются «как есть», с форматированием и многострочностью.
Недостатки.
• После окончания работы скрипта, если Вы вышли из него по нажатию кнопки «Сохранить», желательно проверить валидность книги, т. к. скрипт этого не делает.
• Не поддерживается выделение нескольких элементов дерева.
• Долговато выполняется сохранение, надо бы как-то оптимизировать, но пока нет идей.
Известные проблемы.
• Могут быть проблемы, связанные с необновлением скроллбара. Дело в том, что код для скроллбара пришлось написать самому, использовать системный было нельзя – тогда бы курсорные клавиши прокручивали документ когда не надо. Если заметите необновление размера скроллбара в какой-то ситуации – пожалуйста сообщайте (как и остальные баги).
• IE, на движке которого работает FBE, имеет багофичу (в отличие от других браузеров), из-за которой скрипты не могут обрабатывать второе нажатие (в отличие от отпускания) кнопки мыши при двойном щелчке. Поэтому если быстро нажать, отпустить, опять нажать и удерживать клавишу мыши, когда мышиный курсор находится на кнопке скроллбара, то автоскроллинг не запускается, хотя должен бы.
Кликать ссылку «HTML в буфер» внизу окна скрипта не надо – она нужна только для отладки.
Как правильно разложить файлы скрипта.
Файл «01_Управление структурой секций. js» положить в папку скриптов, заданную в настройках FBE. Содержимое папки HTML (включая подпапки) положить в папку HTML, находящуюся в папке редактора, exe-файл которого запускаете.
Настроить размер по умолчанию для окна скрипта можно в файле «01_Управление структурой секций. js», изменив числа в таких строках:
var dialogWidth="640px"; // ширина диалогового окна var dialogHeight="480px"; // высота диалогового окна.
Перенос примечаний в скобки v1.1.
Скрипт переносит примечания и комментарии из body «notes» и «comments» в текст, обрамляя их скобками. Примечания («notes») обрамляются квадратными скобками, а комментарии («comments») – фигурными. Если примечание содержит несколько абзацев, его абзацы будут слиты в один абзац и разделены строковой последовательностью «//». Блочные элементы (cite, epigraph, poem) при переносе примечаний в скобки теряются, инлайновые – сохраняются.
В набор входят два скрипта, один из которых отличается тем, что перенеся примечание в скобки, вставляет перед открывающей скобкой пробел.
Содержит скрипты, позволяющие перенести примечания (все сразу или по одному) к слову: бывает нужно в случаях, когда примечание было создано ошибочно или Вы хотите заменить примечание комментарием (или наоборот) и т. п.
Режим чтения v1.0.
Скрипт переводит FBE в режим чтения, в котором клавиши «Вверх» и «Вниз» прокручивают текст на одну строку в соответствующих направлениях, а клавиши «Влево» и «Вправо» прокручивают на три строки вверх и вниз соответственно. Чтобы выйти из режима чтения, нужно кликнуть мышью в произвольное место текста, и курсор будет установлен в указанную позицию.
Работа скрипта проверена в IE6.
Снятие форматирования стихом, цитатой или эпиграфом v1.1
Суть скрипта понятна из названия. Для использования нужно поставить курсор внутрь стиха, цитаты или эпиграфа, запустить скрипт, и форматирование будет снято. Если курсор перед запуском вложен в несколько тегов, входящих в число тех, которые умеет убирать скрипт, то будет убран самый глубокий (максимально вложенный) тег.
Изменение в версии 1.1:
• Теперь, если, например, снимается форматирование цитатой, тег text-author, относящийся к этой цитате, превращается в p. Аналогично для эпиграфов и стихов.
Мелочи редактирования
Скрипты:
«Удаление пробелов» – нужен, когда в исходнике есть текст разрядкой;
«Снятие форматирования стихом, цитатой или эпиграфом» – позволяет снять ошибочное форматирование, не переходя в режим Source;
«Открыть текстовый файл» – можете хранить любую информацию, которая вам кажется важной при работе с файлом fb2 – Вы всегда сможете вызвать этот текст, добавить нужное и сохранить.
Обработка форматирования
Скрипт «Обзор и превращение элементов» раздел Обработка форматирования– позволяет менять subtitle на title (и наоборот), превращать subtitle и title в обычный текст, создавать списки по различным видам форматирования и преобразовать (списком или в одиночку) элементы, придавая им другое форматирование или убирая его. Очень актуален при не валидном файле.
Можно преобразовать:
– titles-заголовок в subtitlesи text;
– subtitles-подзаголовок в titlesи text;
– emphasis-курсив в strong, sup, subи text;
– strong-жирный в emphasis, sup, sub, strikethrough и text;
– sup-надстрочный(верхний индекс) в emphasis, sub, strikethrough и text;
– sub-подстрочный(нижний индекс) в emphasis, sup, strikethrough и text;
– strikethrough-перечеркнутый в strong, sup, subи text;
Для этого в верхнем окне Отобразить – выбрать необходимое форматирование и щелкнуть Выполнить. Выделить требуемые элементы. В нижнем окне Переформатировать выбранные элементы как– выбрать необходимое форматирование и щелкнуть Выполнить.
Можно посмотреть и убирать (превращать в текст) ненужное форматирование: жирным, курсивом зачеркиванием и т. д.
Можно изменять регистр заголовков или подзаголовков. Щелкнуть правой кнопкой мышки.
Иллюстрации
Содержит следующие скрипты:
Проверка иллюстраций;
Унификация вложений и иллюстраций;
Обновление иллюстраций;
Сохранить вложения на диск – Сохраняет все картинки на диск в том же каталоге, что файл fb2.
Удалить все вложения;
Пустые строки возле иллюстраций – удаляет/вставляет пустые строки;
Удаление неиспользуемых вложений; (Осторожно – скрипт удаляет рисунки вставленные в текст!).
Разметка подписей к иллюстрациям – при запуске появляется окно:
Форматирует подписи к картинкам: жирный, курсив, верхний/ нижнийиндекс, подзаголовок. Поставить галочку(и) в в нужном окне(ах).
Подпись к картинке должна идти следующей строкой за картинкой. Пустые строки возле картинок надо удалить скриптом Пустые строки возле иллюстраций.
Можно запустить, чтобы искал и менял сам нажав ВСЕ, или вручную. Если вручную, на секунду подсветит подпись и остановится. Спросит: Это подпись?. Если, подпись нажать Это подпись,если нет нажать Искать дальше.
Осторожно – если есть картинки без подписи скрипт изменит строку(строки) за ней.
Удаление неиспользуемых картинок (Осторожно – скрипт удаляет рисунки вставленные в текст!).
Действие остальных скриптов понятно из названий, или разбирается в соответствующем месте.