Задуманный скрипт для FBE делает собственно то, что указано в названии - сноски из произвольных абзацев текста.
Скрипт пока находится в 1-й рабочей версии и планируется его доработка по функционалу.
Скрипт для создания сносок из примечаний в конце книги (файла), а также поглавных (почастных) примечаний, списков лит-ры и проч.
Скрипт содержит 4 файла:
Js-файл нужно положить внутри папки Scripts
2 штуки html-файлов положить в папку HTML
css-файл положить в папку HTML/CSS
---------Рассмотрим простой стандартный вариант – примечания общие на всю книгу, располагаются в конце текста.
В качестве примечаний может выступать также списки литературы или любые другие подобные сущности, к которым в тексте могут быть отсылки с соответствующими маркерами.
1) Для работы скрипта выделяем (мышкой) нужный кусок текста с "примечаниями", которые хотим сделать сносками.
2) Вызываем скрипт "Создать сноски из выделенных абзацев".
Скрипт считает кол-во абзацев в выделении.
Далее скрипт считает кол-во имеющихся допустимых маркеров в тексте.
____________________________________________________________
!! В данный момент тестируется работа ТОЛЬКО с маркером [*].
____________________________________________________________
В дальнейшем, после прохождения тестирования, в скрипт могут быть добавлены любые типичные маркеры сносок:
[6] [!6!] {6} {!6!} * или 6 верхним индексом.
Понятно, что в одном конкретном файле маркеры будущих сносок должны быть унифицированы.
В идеале, в случае маркера в виде верхнего индекса, скрипту надо игнорировать всякие км2, м2, м3, см2, см3, мм2, мм3 и цифры со степенями.
Если подсчеты скрипта по количеству маркеров и абзацев "примечаний" совпадают, то скрипт сообщает о совпадении по количеству и делает стандартные сноски.
Если количество маркеров и выделенных абзацев не совпадают, скрипт сообщает об этом и сноски не создаются.
Скрипт может работать со случаями, когда какое-то из будущих примечаний состоит из нескольких абзацев.
В таких случаях надо вручную между нужными абзацами использовать знак двойной тильды ~~.
Скрипт поймет эти абзацы как одно примечание и потом автоматически разделит их в данном месте.
*Вспомогательные скрипты нумерации выделенных абзацев уже есть.
**Также будет сделан скрипт "разнумерации", который можно использовать как сам по себе, так и при работе со скриптом "Создать сноски из выделенных абзацев".
В случае несовпадения кол-ва маркеров сносок и выделенных абзацев, книгоделу-верстальщику придется "руками" найти несовпадение и после этого опять запустить скрипт.
В дальнейшем:
***В случае нумерованных маркеров, можно, наверное, также контролировать, если какие-то маркеры пропущены, т.е. если идет 1,2,3, 5, 6,7, 11... и сообщать о таких пропусках, что облегчит поиск пропущенных маркеров или сбившуюся нумерацию.
---------Рассмотрим чуть более сложный случай, когда примечания идут после главы или части и так несколько раз.
В любом случае, скрипт работает с текстом, который выше примечаний.
Также выделяем мышкой текст примечаний, вызываем скрипт и он по уже описанному алгоритму все делает, но только с той частью основного текста, что перед примечаниями, т.е. ниже выделенных примечаний он не ищет.
И так последовательно (от начала файла к концу) запускаем скрипт несколько раз, пока не обработаем все главы-части.
В файле на момент запуска данного скрипта уже может существовать любое кол-во сделанных ранее сносок.
Скрипт создаст новые и корректно расположит их там, где нужно, и автоматически проведет унификацию сносок.
Скрипт корректно обрабатывает уже имеющиеся в абзацах "примечаний" тэги, т.е. сохраняет все стихи, цитаты, болды-курсивы, сноски, линки и проч.
Просьба всячески тестировать, сообщать о возможных багах, делиться идеями по улучшению алгоритма.