Кроме того, в отличие от встроенного в FBE перехода, мой скрипт переходит по ссылке, если курсор стоит слева или справа от нее, что дает возможность совершать переход даже если текст ссылки состоит из одного символа.
Таблица символов v1.2
Этот скрипт – заготовка, которую перед использованием нужно настроить под себя. Если это сделать, скрипт будет при запуске выводить таблицу символов, клик по которым делает так, что они вставляются в текст редактируемой книги.
Размер окна с таблицей символов настраивается в js-файле, поменять значения в этих строках:
var dialogWidth="300px"; //ширина окна таблицы символов var dialogHeight="300px"; //высота окна таблицы символов
Размер таблицы (измеряемый в клетках) настраивается в html, вот это место:
var tableX=3; //количество столбцов в таблице символов var tableY=3; //количество строк в таблице символов
Символы для таблицы задаются в приведенной ниже строке, указывать их можно как непосредственно, так и в форме html-сущностей (entities):
var charStr="12345 amp;gt; amp;lt; amp;nbsp; amp;#160;";
Чтобы задать символ ударения, нужно написать два символа: "amp;#160; amp;#769;", в скрипте на этот случай предусмотрен специальный код. Если понадобится, чтобы в таблице был знак меньше "‹" или больше "›", то записать их следует как amp;lt; и amp;gt; соответственно. Неразрывный пробел можно записать как amp;#160; либо amp;nbsp;. Других именованных сущностей, кроме названных, скрипт не понимает, поэтому прочие символы можно кодировать только сущностями с Unicode-кодом символа.
Всплывающие подсказки настраиваются изменением этой строки:
var titleStr="Единица|Двойка|Тройка|Четверка|Пятерка|Больше|Меньше|Неразрывный пробел|Неразрывный пробел";
Можно использовать другой (но тоже односимвольный) разделитель вместо pipe – "|" – изменив вот эту строку:
var dividerChar="|";
Шрифт ячеек таблицы задается в этой строке:
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
Скрипт делает то, что сказано в его названии. Это бывает нужно, чтобы удалив старую версию вложений, заменить их новой.
Тест сносок 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.