Комплект из 20 новых скриптов для FBE, мегапак-3 (TaKir)

104 views
Skip to first unread message

TaKir

unread,
Jul 10, 2026, 11:46:05 AM (9 days ago) Jul 10
to Fiction Book Editor
Уважаемые книгоделы!

Предлагаю вашему вниманию третий мегапак-комплект скриптов для FBE - 20 новых + 3 обновленных.

(Выкладывать в привычное хранилище на Гитхаб я не умею, поэтому сделана обычная папка-архив в облаке на мэйле.)

Скачать весь набор новых скриптов (20+3 штуки) с описанием можно по ссылке:
https://cloud.mail.ru/public/jkJx/rxhJrcppU


=================================

* Ссылки на предыдущие мегапаки скриптов 1 и 2:

Мегапак-1 (83 новых скрипта):
https://cloud.mail.ru/public/154b/eSgQhayXy

Мегапак-2 (37 новых скриптов + 10 обновленных):
https://cloud.mail.ru/public/ZH2V/ugnRtxcJH

=================================
Список скриптов и иконок к ним для редактора FictionBook Editor (FBE)
на 09.07.2026

Сделано: TaKir при "пособничестве" DeepSeek ))
Идеи скриптов: TaKir

Мегапак: 20 новых скриптов с иконками
+ 3 доработанных скрипта из основного набора FBE 2.7.9 (2.8.0 Portable)

=================================
Состав пакета магапак-3:

1) 20 новых скриптов с иконками (папка 01_Новые скрипты_(20))
2) 3 доработанных скрипта из основного набора FBE 2.7.9 (папка 02_Доработанные_скрипты_(3))
3) Дополнительный html файл с настройками отображения скриптов (папка 03_Файлы-настройки - в папку HTML)
4) txt файл с описанием комплекта скриптов и иконок.

==================================================================
Общая информация:

Файлы скриптов с иконками надо разложить по соответствующим "тематическим" папкам скриптов в FBE
(внутри основной папки Scripts)
например:
C:\Program Files (x86)\FictionBook Editor 2.7.9\Scripts
или
D:\FictionBook Editor Portable 2.8.0\Scripts


Важно:
Имена файлов в архиве приведены БЕЗ указания номера версии в конце имен скриптов и иконок, по привычному стандарту.
В нижеследующем списке имена файлов приведены с номерами версий в конце файлов с ознакомительной целью.

==================================================================
Назначение подавляющего большинства скриптов понятно из их названия.
Внутри всех новых скриптов есть описание их назначения.
У многих скриптов внутри текста скриптов сразу после описания скрипта есть некие "оптимальные" настройки.
Однако эти настройки можно легко менять под свои задачи.
(Переключение настроек обычно производится простой заменой 0 на 1 или наоборот в паре мест)
Не ленитесь этим пользоваться! )

Просмотр и редактирование настроек доступны с помощью обычного блокнота или AkelPad.

Всем хороших и интересных книг!
!Но пасаран!

С уважением ко всем книгоделам, TaKir
==================================================================
Список скриптов, иконок к ним и папок на 09.07.2026

============================
1) Для программистов (3 скрипта и иконки):

08_Текст fb2 в буфер (экспорт в txt)_2-1.ico
08_Текст fb2 в буфер (экспорт в txt)_2-1.js
12_Проверить readonly для недавних fb2 файлов_1-2.ico
12_Проверить readonly для недавних fb2 файлов_1-2.js
14_Оглавление fb2 в буфер_1-3.ico
14_Оглавление fb2 в буфер_1-3.js

============================
2) Заголовки-подзаголовки, пустые строки (4 скрипта и иконки):

790_Переместить курсивные или жирные абзацы в заголовки_1-3.ico
790_Переместить курсивные или жирные абзацы в заголовки_1-3.js
795_Объединить подряд идущие заголовки_2-3.ico
795_Объединить подряд идущие заголовки_2-3.js
800_Удалить дубли пустых строк_1-5.ico
800_Удалить дубли пустых строк_1-5.js
805_Почистить лишние пустые строки_2-2.ico
805_Почистить лишние пустые строки_2-2.js

============================
3) Иллюстрации (4 скрипта и иконки):

47_Вставить пустую блочную иллюстрацию по месту курсора_1-5.ico
47_Вставить пустую блочную иллюстрацию по месту курсора_1-5.js
48_Создать реперную карту fb2 документа для переноса иллюстраций_2-0.ico
48_Создать реперную карту fb2 документа для переноса иллюстраций_2-0.js
49_Расставить маркеры иллюстраций по реперной карте_2-5.ico
49_Расставить маркеры иллюстраций по реперной карте_2-5.js
50_Показать миниатюры иллюстраций из документа_6-4.ico
50_Показать миниатюры иллюстраций из документа_6-4.js

============================
4) Маркеры сносок (1 скрипт и иконка):

75_Числа в началах абзацев - в маркеры текстов сносок (МТС)_1-8.ico
75_Числа в началах абзацев - в маркеры текстов сносок (МТС)_1-8.js

============================
5) Мелочи редактирования (1 скрипт и иконка):

66_Найти и исправить битую кодировку текста_1-8.ico
66_Найти и исправить битую кодировку текста_1-8.js

============================
6) Обработка кавычек (2 скрипта и иконки):

026_Обрамить выделенный фрагмент кавычками-ёлочками_2-3.ico
026_Обрамить выделенный фрагмент кавычками-ёлочками_2-3.js
027_Обрамить полные абзацы кавычками-ёлочками_1-0.ico
027_Обрамить полные абзацы кавычками-ёлочками_1-0.js

============================
7) Примечания (1 скрипт и иконка):

46_Расформатировать сноски и комментарии в решётки или звёздочки_2-0.ico
46_Расформатировать сноски и комментарии в решётки или звёздочки_2-0.js

============================
8) Цитаты (1 скрипт и иконка):

069_Сформатировать абзац(ы) цитатой (расширенная версия)_1-5.ico
069_Сформатировать абзац(ы) цитатой (расширенная версия)_1-5.js

============================
9) Числовые скрипты (3 скрипта и иконки):

46_Пронумеровать текстовые маркеры_1-2.ico
46_Пронумеровать текстовые маркеры_1-2.js
47_Разнумеровать текстовые маркеры_1-1.ico
47_Разнумеровать текстовые маркеры_1-1.js
48_Перенумеровать текстовые маркеры_1-0.ico
48_Перенумеровать текстовые маркеры_1-0.js

============================

Доработаны 3 уже имеющихся скрипта:

Примечания:
41_Диагностика структуры примечаний и комментариев_3-2.js
+ доп. файл Диагностика структуры примечаний и комментариев.html

Заголовки, подзаголовки, пустые строки:
615_Проверить правильность нумерации заголовков_3-3.js

Поиск и замена:
90_Поиск СМС-переписки.js

============================
9 групп скриптов
- 20 новых скриптов
- 3 доработанных скрипта из основного набора FBE 2.7.9 (2.8.0)

============================
Всем хороших и интересных книг!
!Но пасаран!

С уважением ко всем книгоделам, TaKir

Sclex

unread,
Jul 10, 2026, 12:49:36 PM (9 days ago) Jul 10
to Fiction Book Editor
TaKir, спасибо за новые и обновленные скрипты!

e-paper.ru

unread,
Jul 10, 2026, 6:00:43 PM (9 days ago) Jul 10
to fiction-b...@googlegroups.com
Всегда пожалуйста! )

пт, 10 июл. 2026 г. в 19:49, Sclex <scl...@gmail.com>:
TaKir, спасибо за новые и обновленные скрипты!

--
Вы получили это сообщение, поскольку подписаны на группу "Fiction Book Editor".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес fiction-book-ed...@googlegroups.com.
Чтобы посмотреть обсуждение, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/ea710adb-5809-4077-af5c-94c67351ed6an%40googlegroups.com.

stokber

unread,
Jul 11, 2026, 6:54:23 AM (9 days ago) Jul 11
to Fiction Book Editor
TaKir, спасибо за партию свежих и освеженных скриптов! Особо впечатлил  "Показать миниатюры иллюстраций из документа".

Из описания скрипта "46_Расформатировать сноски и комментарии в решётки или звёздочки":
Начало цитаты:
// В многоабзацных сносках и комментариях второй и все последующие абзацы маркируются в начале абзаца знаком, заданным в настройке NotesCommentsSecondSign (по умолчанию — две тильды ~~).
Конец цитаты.
 Две тильды, наверное, не лучший выбор, т. к. скрипт "02_Генеральная уборка" меняет две тильды в начале абзаца на длинное тире, считая их неверно распознанным символом начала реплики диалога.

суббота, 11 июля 2026 г. в 01:00:43 UTC+3, TaKir:

Lancer

unread,
Jul 11, 2026, 6:28:09 PM (8 days ago) Jul 11
to Fiction Book Editor
Благодарю, TaKir, за новый пакет! Простор для тестов :))

Проверить еще не успел, пока несколько ошибок (странностей) по другим.

1. Как идея: дополнить (по возможности) скрипт "Расставить точки в конце абзацев примечаний и комментариев".
На примере текста примечания (как есть): Специфическая характеристика болезни. [Прим. ред.]
Точка стоит до скобки, в самом конце - нет. Скрипт добавляет точку в конце, но остается "лишняя" точка, не по правилам.
Т.е. желательно убрать лишнюю. Хотя могут быть нюансы. Наверное не совсем адресно, но возможно стоит учитывать ? ! ... и кавычки (закрывает большую цитату) и ». (обычная цитата).

2. Скрипт 05_Поиск (без замены) ошибок текста (TaKir-Sclex) виснет на найденных словосочетаниях вроде "потому что" или "будь то" и на мелких символах, на 5-10 секунд. В итоге скрипт выполняется долго. При этом скрипт 06_Поиск (без замены) ошибок текста (версия с исключениями) (TaKir-Sclex-stokber) работает шустро, почти без задержек, быстрее пятого.
Возможно как-то влияет Винда, но вроде не должна бы.

3. Вероятно ошибка скрипта Генеральная уборка (не уловил с каким из двух), с вставкой <...>
Регулярка возможно некорректно срабатывает: символ < (или сущность &lt;) экранирует или «сжирает» первую точку, стоящую вплотную к нему. В итоге скрипт видит только две точки и оставляет их, FBE выдает в Source &lt;..&gt; в Body <..>, но правила требуют троеточие.

суббота, 11 июля 2026 г. в 01:00:43 UTC+3, TaKir:
Всегда пожалуйста! )

stokber

unread,
Jul 12, 2026, 5:09:47 AM (8 days ago) Jul 12
to fiction-b...@googlegroups.com
>>Скрипт 05_Поиск (без замены) ошибок текста (TaKir-Sclex) виснет на найденных словосочетаниях вроде "потому что" или "будь то" и на мелких символах, на 5-10 секунд. В итоге скрипт выполняется долго. При этом скрипт 06_Поиск (без замены) ошибок текста (версия с исключениями) (TaKir-Sclex-stokber) работает шустро, почти без задержек, быстрее пятого.
Наверное он всё-таки не виснет, а просто останавливается с предупреждением в статус-баре о возможной ошибке, т. к. считает, что перед частицей "что" должна быть запятая. В версии с исключениями есть возможность вносить в скрипт т. н. регекспы-исключения. Регекспы-исключения перехватывают ложные срабатывания и позволяют, не задерживаясь на них, переходить к следующему подозрительному месту. На самом деле они задерживаются на них, но всего-лишь на некоторую долю секунды.
Отличаются от обычных регекспов они только лишь наличием слова "Пропустить:" (сразу за прямой кавычкой, без пробелов и любых других символов!) в последнем параметре. Скрипт видит это слово "Пропустить" и послушно пропускает такое ложное совпадение. Пример такого регекспа исключения: addRegExp("(?<![a-zа-яё])шаблон(?![a-zа-яё])","i","Пропустить: # описание."); Основная рекомендация: размещать такие шаблоны-исключения в самом верху — ДО основных шаблонов.
Так что лучше пользуйтесь версией с исключениями.
Впрочем, версия с исключениями в нынешнем виде не пропускает словосочетание "будь то", Нет в скрипте такого регекспа-исключения. Но его можно туда внести.
Вставьте, например, за строкой скрипта № 160 следующее регулярное выражение:
  addRegExp("(?<=[:,][\\x20\\xA0])(будь)[\\x20\\xA0]то(?![а-яё])","","Пропустить: частицу \"то\" без запятой, после запятой или двоеточия после \"будь\".");
Теперь скрипт будет пропускать "будь то", если это словосочетание следует после запятой или двоеточием с пробелом.
Если есть ещё какие-то замечания и пожелания к регуляркам из этого скрипта — пишите, если наберётся хотя-бы на три-четыре регекспа — можно будет и версию обновить.

  

вс, 12 июл. 2026 г. в 01:28, Lancer <lanc...@gmail.com>:
Чтобы посмотреть обсуждение, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/363757c0-0e7f-4a0a-b122-ded199a84359n%40googlegroups.com.

Lancer

unread,
Jul 12, 2026, 11:42:22 AM (7 days ago) Jul 12
to Fiction Book Editor
>> Наверное он всё-таки не виснет, а просто останавливается с предупреждением в статус-баре о возможной ошибке, т. к. считает, что перед частицей "что" должна быть запятая. 

Чуть-чуть - да, но в целом - нет!
Частое нахождение подозрительных сочетаний не проблема, пусть скрипт их находит, он для того и нужен. Проблема в старте скрипта "с последнего места".

Стандартное поведение скрипта: нашел возможную ошибку, остановился на ней, подсветив спорные символы или фразы. Зависание конечно не в этом. Зависание появляется после того. Он нашел  "потому что", подсветил, внизу написал, что возможно надо запятую. Я вижу что не нужно и снова жму на кнопку скрипта или кнопку "Последний скрипт". И вот тут разница в реакции двух скриптов явно различается:

Скрипт  06_Поиск (без замены) ошибок текста (версия с исключениями) (TaKir-Sclex-stokber) находит следующее спорное место за 1-2 секунды или быстрее.

Скрипт  05_Поиск (без замены) ошибок текста (TaKir-Sclex) при нажатии на его кнопку (т.е. при его запуске) часто задумывается на 5-10 секунд. Причем такое поведение вероятно зависит от "удаленности" следующей "ошибки". Чем она дальше по тексту, тем скрипт явственнее "висит". При этом над кнопкой (где курсор) появляется крутящееся синеватое колёсико, которым Винда отображает длительную обработку клика курсором. И наверху в окне редактора FBE к названию открытого файла появляется приписка "(Не отвечает)". Часто так Винда показывает, что прога задумалась на время. Потом скрипт всё же находит следующее проблемное место и все указанные признаки скидываются, курсор ставится в место новой возможной ошибки, снова внизу надпись о характере этой ошибки.
 
Если следующая "ошибка" где-то в зоне видимости, рядом с предыдущей, то нажатие на кнопку скрипта не выдает зависания, курсор прыгает на новое место моментально.

Еще пример: наличие в тексте не сносочных комментариев в скобках [это коммент в тексте, без сноски]. Скрипт находит открывающую [, это не ошибка, нажимаешь кнопку скрипта снова, курсор моментально перескакивает на закрывающую ], т.к. она почти всегда рядом. И когда снова нажимаешь на кнопку скрипта, то он нередко подвисает снова.

Вроде бы понятно объяснил ))

Примеры мест торможения на  "потому что" или "будь то" я указал, т.к. их было много в тексте, и с них (старт скрипта с них), подвисание часто и появляется. Но скрипт подвисает и в других местах, например нашел знак / разделяющий пару слов, или курсивный предлог, жмешь кнопку скрипта для поиска дальше (т.к. это не ошибка), он подзависает.

Итого: на одном тексте скрипты 05 и 06 работают с разной скоростью. 

Внутрь заглядывал, но всё-таки мало что понимаю, регэкспы даются непросто, поэтому просто глядя в текст скрипта понять что его тормозит - почти нереально. Тем более, что вероятнее всего его тормозят не сами конкретные выражения, а, словно бы, слишком тщательная обработка длинных фрагментов текста.

Поскольку скрипты есть в общем пакете и сделаны отдельными, то для качественной обработки я прогоняю для надежности правки текста все шесть скриптов "Поиск (без замены)", которые в папке сверху (три скрипта с иконками, три - без). Тормозит только 05. Исключения вставлять смысла не вижу, т.к. в разных книгах они разные, частое срабатывание всё равно будет в каждой книге своё, это можно пережить, а может такого и не будет, не угадаешь.

Добавлять вроде бы нечего пока.

воскресенье, 12 июля 2026 г. в 12:09:47 UTC+3, sto...@gmail.com:

Sclex

unread,
Jul 12, 2026, 12:17:54 PM (7 days ago) Jul 12
to Fiction Book Editor
Lancer, тормоза при работе скрипта "05_Поиск (без замены) ошибок текста (TaKir-Sclex)", наверное, происходят из-за вот этих четырех поисковых команд:

  tagRegExp("(?<=<sup>((?!</sup>).)*)(?<=<strong>((?!</strong>).)*)[а-яё]+","i","Найдено: верхний или нижний индекс, сделанный жирностью и/или курсивом.","");
  tagRegExp("(?<=<sub>((?!</sub>).)*)(?<=<strong>((?!</strong>).)*)[а-яё]+","i","Найдено: верхний или нижний индекс, сделанный жирностью и/или курсивом.","");
  tagRegExp("(?<=<sup>((?!</sup>).)*)(?<=<emphasis>((?!</emphasis>).)*)[а-яё]+","i","Найдено: верхний или нижний индекс, сделанный жирностью и/или курсивом.","");
  tagRegExp("(?<=<sub>((?!</sub>).)*)(?<=<emphasis>((?!</emphasis>).)*)[а-яё]+","i","Найдено: верхний или нижний индекс, сделанный жирностью и/или курсивом.","");

Если эти команды закомментировать, по идее скрипт должен начать работать быстрее.

воскресенье, 12 июля 2026 г. в 18:42:22 UTC+3, lanc...@gmail.com:

Lancer

unread,
Jul 12, 2026, 4:50:15 PM (7 days ago) Jul 12
to Fiction Book Editor
Бинго! Очень похоже что это именно оно! Sclex, спасибо!
Закомментил эти четыре и поиск стал ну на порядок быстрее. Подвисаний выраженных не стало, максимум - видимое глазу, но менее секунды.

Осталось дораскопать где портится  <...> на <..>
Джемини просмотрел 02_Генеральная уборка.js, по этому поводу ничего в нем не нашел. Но выявил что-то.
Чтобы не засорять эту тему TaKir-а, выложу замечания ИИ в своей теме.

воскресенье, 12 июля 2026 г. в 19:17:54 UTC+3, Sclex:

Sclex

unread,
Jul 13, 2026, 3:31:59 AM (7 days ago) Jul 13
to Fiction Book Editor
Я закомментировал в коде скрипта "05_Поиск (без замены) ошибок текста (TaKir-Sclex)" четыре поисковые команды, замедлявшие работу скрипта, и измененную версию сценария (5.2) залил в GitHub-хранилище.

Ссылка для скачивания (последняя версия):
05_Поиск (без замены) ошибок текста (TaKir-Sclex).js (положить в папку "Scripts\21_Поиск и замена")

воскресенье, 12 июля 2026 г. в 23:50:15 UTC+3, lanc...@gmail.com:

South

unread,
Jul 18, 2026, 9:14:13 AM (yesterday) Jul 18
to Fiction Book Editor
 Скрипт   "Показать миниатюры иллюстраций из документа" выдает ошибку
 
''Ошибка выполнения скрипта:
Невозможно создание объекта сервером программирования объектов ''

Windows 11, просто кинул скрипт в папку Scripts. Похоже у меня чего-то  не хватает?

понедельник, 13 июля 2026 г. в 10:31:59 UTC+3, Sclex:
Reply all
Reply to author
Forward
0 new messages