Приятной особенностью является то, что скрипт умеет извлекать из «скобок» не только однострочные, но и многострочные примечания.
Заголовки картинок в подписи v1.1
Скрипты данного набора создает под всеми картинками документа подпись (не графикой, текстом) на основе текста из атрибута title картинки, после чего этот атрибут удаляется. Перед создаваемой подписью скрипт не вставляет пустую строку, после – вставляет.
В архиве пять скриптов:
1. Заголовок картинки в подпись (strong) — (жирный);
2. Заголовок картинки в подпись (emphasis) — (курсив);
3. Заголовок картинки в подпись (subtitle) — (подзаголовок);
4. Заголовок картинки в подпись (subtitle, strong) — (подзаголовок, жирный);
5. Заголовок картинки в подпись (subtitle, emphasis) — (подзаголовок, курсив);
Слова в скобках описывают, какими тегами будут выделены новосозданные подписи.
По завершении работы скрипт отображает статистику: сколько всего встретилось картинок, сколько заголовков было заменено на подпись.
Управляемое исправление разрывов абзацев
Иногда в исходнике книги, который приходится использовать для создания fb2, встречаются разрывы абзацев, запятые вместо точек в конце абзацев (при этом абзац кончается на маленькую букву) и прочие неправильности. Данный скрипт призван решить данную проблему (хотя бы частично). Он просматривает весь документ, анализирует пары абзацев текста, расположенные рядом друг с другом, и проверяет конечные символы первого (считая от начала документа) абзаца и начальные символы второго абзаца каждой такой пары на то, допустимая ли это комбинация.
На первом этапе после запуска скрипта нужно задать настройки, согласно которым будет происходить отлов различных комбинаций конца одного абзаца и начала другого. Настройка «Ручной выбор», если она установлена, предписывает скрипту запоминать пару абзацев с указанной разновидностью комбинации конечных и начальных символов для последующего ручного выбора варианта обработки. В этом случае выбранный в окне предварительных настроек вариант обработки станет вариантом по умолчанию в окне ручной обработки. Если же опция «Ручной выбор» не установлена, для данной комбинации будет происходить автоматическая обработка согласно выбранному варианту.
Нажатие «ОК» запускает второй (неинтерактивный) этап – автоматическую обработку и поиск спорных случаев для ручной обработки. Это может потребовать заметного времени, зависит от размера документа, количества абзацев, количества найденных для ручной обработки случаев и, может, от чего-то еще.
На третьем этапе возникает окно с собранными непонятными случаями. В этом окне отображаются пары абзацев (порой с окружающим их текстом впридачу), и подсвечены символы, из-за которых данная пара абзацев направлена на ручную обработку. И можно, выбрав радиокнопку (круглую кнопку), выбрать вариант исправления данной пары абзацев. Если ваша мышь имеет колесико прокрутки, то крутить колесико и кликать по радиокнопкам достаточно комфортное занятие.
Как разложить файлы скрипта по папкам.
1. js-файл следует разместить в папке скриптов, выбранной в настройках FBE.
2. htm-файлы в подпапке HTML папки редактора, чей exe-файл будете запускать. Создайте эту подпапку, если ее нет.
3. css-файлы в поддиректории CSS каталога редактора, чей exe-файл будете запускать. Под именем «удаление разрывов_main.css» можно подложить main.css от вашего FBE (чтобы текст отображался тем же стилем, что у вас в редакторе). В файле «удаление разрывов_add.css», редактируя строку ac {background-color: red; color: white;}.
Можно настроить стиль подсветки (во время третьего этапа) символов, из-за которых пара абзацев направлена на ручную обработку.
Подробнее см. ниже раздел Чистка.
Разметка подзаголовков, чистка пустых строк v3.2
Скрипт превращает код вида
‹p›***‹/p›
‹p›* * *‹/p›
‹subtitle›***‹/subtitle›
‹title›‹p›***‹/p›‹/title›
‹title›‹p›* * *‹/p›‹/title›
в
‹subtitle›* * *‹/subtitle›
Вместо трех звездочек в перечисленных случаях может быть и несколько другой текст. Вопрос, стоит ли исходя из вида строки делать ее сабтайтлом, решается с помощью такого регэкспа:
^(|)*\*((|)*(\*))?((|)*(\*))?(|)*$
Если объяснять словами, строка может содержать от одной до трех звездочек с любым количеством простых или неразрывных пробелов до, между и после них. Анализируется строка без учета тэгов, т. е. форматирование не влияет.
Пустые строки (далее – ПС) непосредственно перед и непосредственно после подзаголовков (всех) удаляются. В случае с ‹title› разрыв секции перед этим тэгом ликвидируется. По информации от jurgenntа преобразование title – › subtitle может быть опасно для файлов, где используется заголовок (не стиха, а простой) из трех звездочек, чтобы «одноименное» стихотворение попало в оглавление.
Также удаляются тэги ‹empty-line/› в начале и конце секции («в начале» в данном случае значит не только сразу после ‹section›, но и после ‹title›, ‹epigraph› и пр.).
Удаляются ПС перед и после тэгов ‹cite› и ‹poem›.
Последовательности из нескольких ПС заменяются на одну ПС.
Удаляются ПС внутри ‹poem›, т. к. они препятствуют валидности документа. ПС внутри тегов ‹title› также удаляются.
ПС, нужные для того, чтобы секция была валидной, не удаляются при описанных выше действиях скрипта.
За ПС во всех указанных случаях считаются: абзацы, которые из чисто текстового содержимого (не считая тэгов) либо не имеют вообще ничего, либо представляют комбинацию произвольного количества пробелов и неразрывных пробелов; тэги ‹empty-line/›.
Некоторые подверсии скрипта умеют удалять жирность и курсив в заголовках.
Всего подверсий скрипта в архиве – четыре:
1. Разметка подзаголовков, чистка пустых строк;
2. Разметка подзаголовков, чистка пустых строк, удаление жирности в заголовках;
3. Разметка подзаголовков, чистка пустых строк; удаление жирности в заголовках по запросу;
4. Разметка подзаголовков, чистка пустых строк, удаление жирности и курсива в заголовках.
Слова «…по запросу» в названии третьего скрипта означают то, что при запуске скрипта выскакивает окошко, в котором можно выбрать, удалять жирность в заголовках или нет.
Пустые строки вокруг картинок v1.4
Скрипт позволяет либо удалить пустые строки рядом с картинками, либо сделать по одной пустой строке с каждой стороны от картинок. Выбор, что делать, производится с помощью диалогового окна. Где не надо (в начале секции, в конце секции, перед и после cite и poem и т. п.) пустые строки рядом с картинками не добавляются, если только такое добавление не требуется для валидности.
Удаление неиспользуемых вложений v1.0
Скрипт удаляет вложения, на которые ни ссылается ни одна картинка. Зачем это может быть нужно – предлагаю вам самим придумать.;-)
Ссылочные переходы v1.6
Этот набор скриптов представляет собой замену встроенной в FBE функции перехода по ссылке и обратно.
В наборе три скрипта:
1. Переход по ссылке;
2. Возврат на ссылку;
3. Переход по ссылке или возврат на ссылку.
Первый скрипт переходит по ссылке, которая находится под или рядом с курсором. Второй переходит к первой от начала документа ссылке, указывающей на секцию, находящуюся под курсором. Третий скрипт переходит по ссылке, если она есть под или рядом с курсором, в противном случае пытается совершить возврат на ссылку, которая ссылается на секцию, в которой находится курсор.
Скрипты универсальны в том плане, что не заточены только под ссылку «сноски» или только под ссылку «комментария», а работают (теоретически) для всех вариантов локальных ссылок.