Скрипты в папке "Структура разделов"

80 views
Skip to first unread message

Sclex

unread,
Jan 8, 2022, 2:56:50 AMJan 8
to Fiction Book Editor
Я сделал новый скрипт - "Полный сброс структуры разделов". Версия 1.0. Находится в папке скриптов "Структура разделов".

Данный скрипт удаляет структуру разделов внутри каждого body (кроме notes body и comments body) так, что внутри каждого обработанного body остается только один раздел (section). Заголовки, эпиграфы и аннотации внутри обрабатываемых body - расформатировываются.

В папке "Структура разделов" есть еще скрипт "Сброс структуры разделов". Я его потестировал - похоже, он работает неправильно и его надо исправлять. После переделки этот скрипт должен делать сброс структуры до разделов первого уровня. То есть в обрабатываемых body должны оставаться только разделы первого уровня.

Sclex

unread,
Jan 8, 2022, 2:58:02 AMJan 8
to Fiction Book Editor
Да, забыл написать: скрипт "Полный сброс структуры разделов v1.0" выложен в GitHub-хранилище исходников FBE:


суббота, 8 января 2022 г. в 10:56:50 UTC+3, Sclex:

Sclex

unread,
Jan 8, 2022, 3:00:50 AMJan 8
to Fiction Book Editor
Cкрипт "Полный сброс структуры разделов v1.0" состоит из одного js-файла.

суббота, 8 января 2022 г. в 10:58:02 UTC+3, Sclex:

Sclex

unread,
Jan 8, 2022, 3:05:03 AMJan 8
to Fiction Book Editor
В папке "Структура разделов" скрипт "03_Опустить раздел на один уровень.js" я переименовал в "03_Раздел под курсором - обрамить другим (новым) разделом.js". Думаю, новое название более точное и более легкопонятное.
суббота, 8 января 2022 г. в 11:00:50 UTC+3, Sclex:

stokber

unread,
Jan 9, 2022, 2:29:22 PMJan 9
to Fiction Book Editor
По работе скрипта "Полный сброс структуры раздела" :
Если в FBE открыто  окно "Структура документа" (Вид > Структура книги), при срабатывании скрипта работа программы прекращается в аварийном порядке.
Если окно  "Структура документа"  закрыто, после срабатывания скрипта пропадают все картинки, кроме тех которые находятся "внутри" текста. 
суббота, 8 января 2022 г. в 11:05:03 UTC+3, Sclex:

Sclex

unread,
Jan 10, 2022, 2:19:25 AMJan 10
to fiction-b...@googlegroups.com
> Если в FBE открыто окно "Структура документа" (Вид > Структура книги), при срабатывании скрипта работа программы прекращается в аварийном порядке.
Если возможно, пожалуйста пришлите мне на е-мейл
sclex2(собачка)gmail.com файл, на котором происходит вылет скрипта.

> Если окно "Структура документа" закрыто, после срабатывания скрипта пропадают все картинки, кроме тех которые находятся "внутри" текста.
Сейчас исправлю. Спасибо, что сообщили!

09.01.2022, stokber<sto...@gmail.com> написал(а):
> --
> Вы получили это сообщение, поскольку подписаны на группу Fiction Book
> Editor.
>
> Чтобы отменить подписку на эту группу и больше не получать от нее сообщения,
> отправьте письмо на электронный адрес
> fiction-book-ed...@googlegroups.com.
> Просмотреть это обсуждение в Сети можно по адресу
> https://groups.google.com/d/msgid/fiction-book-editor/6717e11e-5691-4931-99b2-709bd1049eecn%40googlegroups.com.
>

Sclex

unread,
Jan 10, 2022, 2:59:28 AMJan 10
to Fiction Book Editor
Баг с исчезновением картинок исправил. Новую версию скрипта (1.1) залил в хранилище GitHub. Быстро исправленное не считается ошибочным!

stokber, cпасибо за файл, который вы мне прислали и на котором должна возникать ошибка. Но мне не удалось воспроизвести ошибку, о которой вы написали. У меня на присланном вами файле скрипт отрабатывает корректно.

воскресенье, 9 января 2022 г. в 22:29:22 UTC+3, stokber:

Sclex

unread,
Jan 10, 2022, 3:05:34 AMJan 10
to Fiction Book Editor
Оказывается, есть еще такой баг, что теряются теги epigraph, вложенные в body (не в section). Собираюсь исправить это.

понедельник, 10 января 2022 г. в 10:59:28 UTC+3, Sclex:

Sclex

unread,
Jan 10, 2022, 3:15:59 AMJan 10
to Fiction Book Editor
Исправил неправильную обработку тегов, вложенных непосредственно в тег body. Скрипт в GitHub-хранилище обновлен до версии 1.2.

stokber, попробуйте, пожалуйста, новую версию скрипта - возможно, вылета происходить теперь не будет.

понедельник, 10 января 2022 г. в 11:05:34 UTC+3, Sclex:

stokber

unread,
Jan 10, 2022, 3:58:32 AMJan 10
to Fiction Book Editor
Попробовал  на v.1.1.  Теперь FBE  не вылетает. Спасибо за Вашу работу! Версию 1.2 пока не удаётся скачать (или я не знаю как).

понедельник, 10 января 2022 г. в 11:15:59 UTC+3, Sclex:

stokber

unread,
Jan 10, 2022, 4:06:17 AMJan 10
to Fiction Book Editor
На версии 1.2 тоже всё корректно отработало


понедельник, 10 января 2022 г. в 11:58:32 UTC+3, stokber:

Sclex

unread,
Jan 10, 2022, 4:07:17 AMJan 10
to Fiction Book Editor
Очень хорошо. Надеюсь, данный скрипт будет вам полезен.

понедельник, 10 января 2022 г. в 12:06:17 UTC+3, stokber:

Sclex

unread,
Jan 10, 2022, 4:08:48 AMJan 10
to Fiction Book Editor
Перефразируя старую пословицу, можно сказать, что блин версии 1.0 - всегда комом.

понедельник, 10 января 2022 г. в 12:06:17 UTC+3, stokber:
На версии 1.2 тоже всё корректно отработало

e-paper.ru

unread,
Jan 10, 2022, 10:12:14 AMJan 10
to fiction-b...@googlegroups.com
У меня скриптом "Полный сброс структуры" не расформатируются цитаты. Так и должно быть?

пн, 10 янв. 2022 г. в 12:08, Sclex <scl...@gmail.com>:
--
Вы получили это сообщение, поскольку подписаны на группу "Fiction Book Editor".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес fiction-book-ed...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/3a9de3a0-6642-4211-9e47-729acc1d75dcn%40googlegroups.com.

e-paper.ru

unread,
Jan 10, 2022, 10:14:16 AMJan 10
to fiction-b...@googlegroups.com
И стихи тоже, кстати, не расформатируются.

пн, 10 янв. 2022 г. в 18:12, e-paper.ru <epap...@gmail.com>:

Sclex

unread,
Jan 10, 2022, 11:16:55 AMJan 10
to fiction-b...@googlegroups.com
Эпиграфы, заголовки и аннотации разделов расформатировываются потому,
что их нахождение где-нибудь в середине раздела делает документ
невалидным. Дело в том, что код FBE исходит из определенных допущений
о том, в каком порядке могут идти различные элементы. Если эпиграфы
или заголовки будут в середине раздела, это может помешать работе
части кода FBE. Цитаты же и стихи, находясь в середине раздела,
валидность не нарушают, поэтому мой скрипт их не расформатировывает.

10.01.2022, e-paper.ru<epap...@gmail.com> написал(а):
>>> <https://groups.google.com/d/msgid/fiction-book-editor/3a9de3a0-6642-4211-9e47-729acc1d75dcn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
>
> --
> Вы получили это сообщение, поскольку подписаны на группу Fiction Book
> Editor.
>
> Чтобы отменить подписку на эту группу и больше не получать от нее сообщения,
> отправьте письмо на электронный адрес
> fiction-book-ed...@googlegroups.com.
> Просмотреть это обсуждение в Сети можно по адресу
> https://groups.google.com/d/msgid/fiction-book-editor/CAKYXB9UrHL7o2eMw3pWX75zHHDAnCSXL8UTSL0ZFH73RDGF8KQ%40mail.gmail.com.
>

e-paper.ru

unread,
Jan 10, 2022, 1:31:35 PMJan 10
to fiction-b...@googlegroups.com
Про валидность элементов мне понятно. Не совсем понятна идея расформатировать все, кроме стихов и цитат.
Какой практический смысл именно в такой работе скрипта?
Может быть есть тогда смысл сделать скрипт, расформатирующий вообще все, (ну, может, кроме сносок, а может, и их тоже) и назвать "Полное расформатирование структуры", а текущий скрипт назвать "Полное расформатирование заголовков"?

пн, 10 янв. 2022 г. в 19:16, Sclex <scl...@gmail.com>:
Просмотреть это обсуждение в Сети можно по адресу https://groups.google.com/d/msgid/fiction-book-editor/CAKw_SM00hJ88nPvUmgirW_TG%2Bg5e6CwBmG1M9x9JfEBTF35QxQ%40mail.gmail.com.

Sclex

unread,
Jan 10, 2022, 2:05:43 PMJan 10
to Fiction Book Editor
> Про валидность элементов мне понятно. Не совсем понятна идея расформатировать все, кроме стихов и цитат.
> Какой практический смысл именно в такой работе скрипта?
Потому что, если заголовок или эпиграф будет находиться *не* в начале раздела (где они должны быть согласно схеме формата FictionBook 2), то код FBE (который будет работать *после* сценария) может обработать документ каким-то неправильным образом либо вызвать вылет редактора. Я говорю о коде не только того скрипта, о котором мы говорим, но и о коде в исполняемых файлах FBE, а также о скриптах в файле main.js и в папке Scripts.


> Может быть есть тогда смысл сделать скрипт, расформатирующий вообще все,
> (ну, может, кроме сносок, а может, и их тоже) и назвать
> "Полное расформатирование структуры", а текущий скрипт назвать
> "Полное расформатирование заголовков"?
Но суть скрипта "Полный сброс структуры разделов" - не в том, что он расформатирует заголовки, а в том, что он всё, что было внутри *всех* разделов в определенном body, помещает в *один* раздел (внутри того же самого body).

понедельник, 10 января 2022 г. в 21:31:35 UTC+3, TaKir:

e-paper.ru

unread,
Jan 10, 2022, 2:18:07 PMJan 10
to fiction-b...@googlegroups.com
"Но суть скрипта "Полный сброс структуры разделов" - не в том, что он расформатирует заголовки, а в том, что он всё, что было внутри *всех* разделов в определенном body, помещает в *один* раздел (внутри того же самого body)."

Вот я про это и не совсем понимаю.
Мы слили все в одну секцию (раздел), убрав тэги заголовков, эпиграфов и проч, т.е. практически сделав из книги plain text, но зачем-то оставили нетронутыми тэги стихов и цитат.
Именно эти оставленные тэги оформления стихов и цитат мне "не дают покоя" ))
Зачем они остаются в такой расформатированной книге?
То, что их можно оставить, я понимаю. Не понимаю - зачем?

пн, 10 янв. 2022 г. в 22:05, Sclex <scl...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/79a537e5-da16-4099-8e5d-9dd799558c06n%40googlegroups.com.

Sclex

unread,
Jan 10, 2022, 11:41:23 PMJan 10
to Fiction Book Editor
> проч, т.е. практически сделав из книги plain text, но зачем-то оставили
Какой же это plain text, когда сохраняется все внутриабзацное форматирование (жирность, курсив и пр.) и картинки?


> Именно эти оставленные тэги оформления стихов и цитат мне "не дают покоя"
> ))
> *Зачем* они остаются в такой расформатированной книге?

> То, что их можно оставить, я понимаю. Не понимаю - зачем?
Потому что у скрипта нет цели расформатировать все, что возможно. Это низачем не нужно. Заголовки, эпиграфы и аннотации разделов расформатируются *в силу необходимости*.

понедельник, 10 января 2022 г. в 22:18:07 UTC+3, TaKir:

Sclex

unread,
Jan 10, 2022, 11:53:14 PMJan 10
to Fiction Book Editor
Отдельные скрипты для расформатирования всех стихов и цитат в документе - можно сделать, если нужно.

понедельник, 10 января 2022 г. в 21:31:35 UTC+3, TaKir:
Про валидность элементов мне понятно. Не совсем понятна идея расформатировать все, кроме стихов и цитат.

Sclex

unread,
Jan 11, 2022, 3:18:58 AMJan 11
to Fiction Book Editor
ТаКир, скрипт "Полный сброс структуры разделов", насколько я понимаю, нужен для того, чтобы в случае, если в документе плохо сделана структура разделов, можно было полностью ее "сбросить" и переделать с нуля. А зачем расформатировывать стихи и цитаты? Для того, чтобы тоже переразметить их с нуля? Но ведь эти две задачи - переделывание структуры разделов и переразметка стихов и цитат - это достаточно независимые друг от друга задачи. Конечно, иногда может быть пересечение, когда нужно сделать и то, и другое. Но ведь *не всегда* это так. Бывает, нужно сделать что-то одно.

понедельник, 10 января 2022 г. в 22:18:07 UTC+3, TaKir:
"Но суть скрипта "Полный сброс структуры разделов" - не в том, что он расформатирует заголовки, а в том, что он всё, что было внутри *всех* разделов в определенном body, помещает в *один* раздел (внутри того же самого body)."

e-paper.ru

unread,
Jan 11, 2022, 3:23:02 AMJan 11
to fiction-b...@googlegroups.com
Я пытаюсь разобраться - для чего вообще расформатировать тэги.
Единственный вариант - это если надо заново отформатировать книгу.
Т.е. условно, был какой-то исходник в епабе, его тяп-ляп на автомате конвертером в фб2 перевели, и форматирование в новом файле все кривое-косое как бог (Ковид Гоял) на душу.
Вот тогда и начинаются пляски с бубнами, потому что зачастую исходника мы не видим, а видим результат конвертирования.
Иногда проще все тэги снести и заново расставить.

А если иметь в виду поэтические сборники, например, так там сплошь стихи, и при неправильном их автоматическом оформлении ручной работы будет многовато..

Поэтому я и предлагаю сделать отдельный скрипт, который может сразу снести ВСЕ тэги, в том числе стихи, цитаты и проч.

Я вот как-то так вижу применение обсуждаемого скрипта.

Курсивы, болды, как мне кажется, можно в скрипт не включать, поскольку для их уничтожения достаточно CTRL+A, и 2 раза CTRL+B (или CTRL+I).

По текущей итерации скрипта - может быть есть смысл обрамлять бывшие заголовки пустыми строками, чтобы их легче было найти?

вт, 11 янв. 2022 г. в 07:53, Sclex <scl...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/00cd1216-5d7b-4f07-8c2f-135f234dccf2n%40googlegroups.com.

e-paper.ru

unread,
Jan 11, 2022, 3:26:17 AMJan 11
to fiction-b...@googlegroups.com
Да, я понимаю, что это 2 задачи, не всегда одинаковые.
Поэтому и предлагаю сделать 2 скрипта - 
1) Сброс только структуры (Заголовки с эпиграфами, аннотациями)
2) Полный сброс форматирования тэгами, когда в файле "плохо вообще все".

вт, 11 янв. 2022 г. в 11:19, Sclex <scl...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/feda000c-1d24-47cd-8c96-b1ad841e6a74n%40googlegroups.com.

Sclex

unread,
Jan 11, 2022, 3:36:58 AMJan 11
to Fiction Book Editor
Ну вот теперь ты наконец говоришь разумно.

> 1) Сброс только структуры (Заголовки с эпиграфами, аннотациями)
Как я понимаю, этот скрипт уже есть в таком виде, в каком он нужен.

> 2) Полный сброс форматирования тэгами, когда в файле "плохо вообще все".
Можно сделать, да. (Кстати, скрипт для расформатирования всех цитат уже есть - лежит в папке "Обработка форматирования". Может, ты и сам это знаешь.)


вторник, 11 января 2022 г. в 11:26:17 UTC+3, TaKir:

Sclex

unread,
Jan 11, 2022, 3:39:03 AMJan 11
to Fiction Book Editor
> 2) Полный сброс форматирования тэгами, когда в файле "плохо вообще все".
Кроме стихов и цитат, из блочных элементов есть же еще таблицы. Нужно ли и их расформатировать в таком скрипте?

вторник, 11 января 2022 г. в 11:26:17 UTC+3, TaKir:

Sclex

unread,
Jan 11, 2022, 3:49:42 AMJan 11
to Fiction Book Editor
> По текущей итерации скрипта - может быть есть смысл обрамлять бывшие заголовки пустыми строками, чтобы их легче было найти?
Я считаю, не стОит.
вторник, 11 января 2022 г. в 11:23:02 UTC+3, TaKir:

e-paper.ru

unread,
Jan 11, 2022, 3:52:13 AMJan 11
to fiction-b...@googlegroups.com
Ну тут либо делать к скрипту меню выбора - какие тэги убивать, а какие нет, либо крушить все.
Сноски-примечания опять же...

вт, 11 янв. 2022 г. в 11:39, Sclex <scl...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/efa2a158-2979-4da5-b467-d94a394741f5n%40googlegroups.com.

Sclex

unread,
Jan 19, 2022, 10:42:56 AMJan 19
to Fiction Book Editor
Бывший скрипт "Сброс структуры разделов" я переименовал в "Сброс структуры до разделов первого уровня" и обновил до версии 1.1 Раньше сценарий работал неправильно, теперь, надеюсь, будет работать как следует. Прошу протестировать.

Ссылка для скачивания скрипта (из GIT-хранилища исходников FBE):

e-paper.ru

unread,
Jan 19, 2022, 10:49:20 AMJan 19
to fiction-b...@googlegroups.com
С новой версией теряется валидность документа. Старая на тех же файлах валидность не рушит.

ср, 19 янв. 2022 г. в 18:42, Sclex <scl...@gmail.com>:
--
Вы получили это сообщение, поскольку подписаны на группу "Fiction Book Editor".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес fiction-book-ed...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/427ecddf-b11a-40df-baa6-ef65c8ff5f82n%40googlegroups.com.

Sclex

unread,
Jan 19, 2022, 10:50:57 AMJan 19
to Fiction Book Editor
> С новой версией теряется валидность документа.
Валидность и должна теряться. Сдвигами разделов вправо потом можно восстановить валидность.

среда, 19 января 2022 г. в 18:49:20 UTC+3, TaKir:

e-paper.ru

unread,
Jan 19, 2022, 11:26:02 AMJan 19
to fiction-b...@googlegroups.com
А, ясно. Буду тестить дальше.

ср, 19 янв. 2022 г. в 18:50, Sclex <scl...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/c837bd84-0457-4ecf-990d-61a3a09e20c2n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages