td {font-family: Tahoma; font-size:16px;}
Скрипт работает в немодальном окне, то есть окно скрипта после запуска висит параллельно окну редактора, не мешая (если не заслонять:-) работе в последнем.
Для успешного старта скрипта html-файл из архива следует положить в папку Cmd или Scripts (какая есть) той версии редактора, исполняемый файл которого запускаете. js-файл должен лежать в папке скриптов, выбранной в настройках редактора.
Унификация вложений и картинок 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
Скрипт делает то, что сказано в его названии. Это бывает нужно, чтобы удалив старую версию вложений, заменить их новой.
Скрипт проверяет порядок расположения ссылок-сносок и их правильность. Определяет, кажется, все возможные ошибки. Является аналогом скрипта "Проверить ссылки", который стандартно идет с 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 проставляет елочки и лапки в документе, учитывая уровни их вложенности и работает корректно, даже в случае наличия сносок. Если в момент запуска скрипта выделения в документе нет, будет обработан весь текст. Если же есть выделение, будет обработана лишь выделенная область. Скрипт находит спорное место, сообщает Вам об этом и предлагает исправить вручную. Если число кавычек в уровне не совпадает – означает, что где-то есть непарная (открывающая/закрывающая) кавычка. Скрипт показывает какой не хватает.
Видно не хватает закрывающей елочки. Скрипт останавливается в конце непарной секции. Вернитесь (при помощи скрипта "Переход на предыдущие ёлочки/лапки") к последней "ёлочке/лапке"(что указано непарным) и просмотрите текст. Исправьте знак или проставьте недостающую кавычку (её вид не имеет значения, скрипт изменит на правильный). Запустите скрипт.