Потом вложения сортируются в таком порядке: обложка; обложка оригинального издания; пронумерованные картинки; вложения, на которые нет ссылок.
Атрибут href у картинок изменяется с тем, чтобы картинки оставались связаны со своими вложениями несмотря на смену id.
По окончании обработки выводится статистика, в том числе перечни: картинок, для которых нет вложений; вложений, на которые нет ссылки; картинки с нелокальными ссылками; список вложений с content-type не image/jpg, не image/png. Т. е. попутно скрипт можно использовать как проверку картинок.
Есть пара известных проблем. Во-первых, после работы скрипта перестает появляться выпадающий список при редактировании атрибута href картинки. Во-вторых, в некоторых случаях не срабатывает встроенное обновление картинок, и выводится старая картинка вместо новой, хотя связь "картинка – › бинарник" соблюдена верно.
Обновление картинок и списков обложек v1.0
Бывает, удалишь несколько вложений, потом вставишь на их место новые с теми же названиями, а картинки в режиме "Дизайн" редактор не обновляет – остаются видны старые. Или меняешь руками id вложений в режиме редактирования описания (description’а) книги – тот же эффект. Выпадающие списки для выбора картинки обложки тоже не обновляются. В этом случае и пригодится данный скрипт. (Но все-таки, кажется, и со скриптом срабатывает не всегда.)
Удалить все вложения из книги v1.3
Скрипт делает то, что сказано в его названии. Это бывает нужно, чтобы удалив старую версию вложений, заменить их новой.
Скрипт проверяет порядок расположения ссылок-сносок и их правильность. Определяет, кажется, все возможные ошибки. Является аналогом скрипта "Проверить ссылки", который стандартно идет с 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, указанным в ссылке.".
Данный набор скриптов позволяет, выделив текст и запустив скрипт, перевести его в нижний либо в ВЕРХНИЙ регистр.
В архиве следующие скрипты, названия которых говорят сами за себя:
1. В верхний регистр;
2. В нижний регистр;
3. Предложение – Делает первую букву прописной остальные строчные, как в предложении. Удобно для изменения в заголовках, где все прописные;
4 Капитализация выделения - В выделенном фрагменте начинает все слова с заглавных;
5 Сжатие_разрядки - сжимает разрядку. Осторожно - может слепить слова, если, текст форматирован по ширине;
6 Циклическое изменение регистра - меняет заглавные на прописные и наоборот.
Вставка ссылки на midi-файл v1.0
AlReader позволяет читать fb2-книги со ссылками на midi-файлы, которые (midi-файлы) можно прослушать прямо в читалке. Данный скрипт позволяет вставить такую ссылку. Для этого нужно выделить текст, который следует сделать ссылкой, запустить скрипт, выбрать музыкальный файл, и подтвердить создание ссылки. Чтобы читалка нашла файл с музыкой, нужно положить midi в zip-архив, в котором лежит и fb2.
Данный скрипт позволяет, задав признак для поиска строк – будущих заголовков, произвести разбиение fb2-документа на секции с одновременной разметкой этих заголовков тегом title. После чего остается придать секциям правильную вложенность с помощью кнопок управления структурой документа, которые есть в окне "Структура книги" редактора. По сути, скрипт избавляет от ручной работы с комбинацией Shift-Enter.
После запуска скрипта появляется окно настроек. В нем можно задать регэксп для поиска строк-заголовков. Можно выбрать, учитывать ли регистр при поиске по заданному регэкспу. Еще можно настроить, сколько при разметке захватывать в заголовок строк до и после строки, найденной по регэкспу.
Второй этап работы скрипта запускается кнопкой "Обработать" или "Обработать и выйти". В процессе обработки создаются разрывы секций (‹/section›‹section›) перед найденными строками-заголовками, а сами заголовки (которые на тот момент еще не заголовки) размечаются тегом title.
Чтобы скрипт заработал, html-файл из архива следует положить в подпапку HTML папки той версии редактора, исполняемый файл которого запускаете. Создайте эту подпапку, если ее нет. js-файл должен лежать в папке скриптов, выбранной в настройках редактора.
Изменение в версии 1.3:
поправлено то, что после выхода из скрипта освобождалась не вся занимаемая им память.
В набор входят следующие скрипты:
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. Переход на предыдущее зачеркивание;