HTA-приложение "Save Sections As Separate Documents"

231 views
Skip to first unread message

Sclex

unread,
Feb 24, 2022, 11:28:59 AM2/24/22
to Fiction Book Editor
На основе идеи ТаКир-а я сделал утилиту (HTA-приложение)
 "Save Sections As Separate Documents" (v1.5). Эта утилита позволяет сохранить выбранные пользователем разделы fb2-документа, как отдельные fb2-документы. При этом в сохраняемые fb2-документы не включаются сноски, комментарии и двоичные вложения, на которые нет ссылок в сохраняемой части документа.

Утилита не совсем доделана - пока что она при сохранении разделов как отдельные документы не меняет дескрипшен. Т.е. дескрипшен сохраненных документов сейчас полностью совпадает с дескрипшеном исходного документа. Тем не менее и в таком виде утилита уже может быть полезна.

Утилита положена в GitHub-хранилище в папку "files/Utilities/Save Sections As Separate Documents".
Ссылка для скачивания:

Запускать утилиту нужно так же, как запускают exe-файлы. Т.е. либо двойным кликом по файлу в проводнике, либо (предположительно) нажатием Enter в файловом менеджере.

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

SaveSectionsAsSeparateDocuments_01.png

e-paper.ru

unread,
Feb 24, 2022, 2:00:52 PM2/24/22
to fiction-b...@googlegroups.com
Можно ли отображать вложенность заголовков под плюсиком?
Или вложенные разделы отображать с заметным сдвигом вправо?

Или сделать галочку "Свернуть разделы"? - этот вариант лично мне предпочтительнее.

Чтобы было удобнее выделять для "нарезки" крупные узлы.

Заранее спасибо!

чт, 24 февр. 2022 г. в 19:29, Sclex <scl...@gmail.com>:
--
Вы получили это сообщение, поскольку подписаны на группу "Fiction Book Editor".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес fiction-book-ed...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/1a0da854-3c43-4f5b-bf3a-df633cfdd5bdn%40googlegroups.com.

e-paper.ru

unread,
Feb 25, 2022, 12:54:37 AM2/25/22
to fiction-b...@googlegroups.com
Возможно, оптимальный вариант - как в ФБЕ - по умолчанию вложенность секций свернута (плюсики, разворачиваемые по отдельности) и общую кнопку Свернуть-Развернуть, которая применяется сразу ко всем вложенным заголовкам.

чт, 24 февр. 2022 г. в 22:00, e-paper.ru <epap...@gmail.com>:

Sclex

unread,
Feb 25, 2022, 4:04:24 AM2/25/22
to Fiction Book Editor
> Можно ли отображать вложенность заголовков под плюсиком?
> Или вложенные разделы отображать с заметным сдвигом вправо?
Нет, это я делать не буду.

четверг, 24 февраля 2022 г. в 22:00:52 UTC+3, TaKir:

Sclex

unread,
Feb 25, 2022, 5:04:50 AM2/25/22
to Fiction Book Editor
Утилита "Save Sections As Separate Documents" обновлена до версии 1.6.
Изменения:
1) теперь после переоткрытия входного файла сбрасывается на ноль счетчик выделенных элементов.
2) теперь в списке заголовков корректно отображаются Особо Багогенные Символы ("<", ">", "&"). Раньше они просто "пропускались".
3) теперь корректно отображаются пустые строки в заголовках (раньше они "пропускались").

Ссылка для скачивания:

Sclex

unread,
Mar 4, 2022, 1:55:57 PM3/4/22
to Fiction Book Editor
> Или вложенные разделы отображать с заметным сдвигом вправо?
ОК, я сделал это.

Прилагаю к данному сообщению снимок - пример того, как выглядит список заголовков со сдвигами вправо.

Ссылка для скачивания утилиты "Save Sections As Separate Documents" v2.0:

Снимок экрана от 2022-03-04 21-53-23.png

пятница, 25 февраля 2022 г. в 12:04:24 UTC+3, Sclex:

e-paper.ru

unread,
Mar 5, 2022, 2:26:50 AM3/5/22
to fiction-b...@googlegroups.com
Спасибо, добрый человек, стало гораздо удобнее!
Работает нормально.

пт, 4 мар. 2022 г. в 21:56, Sclex <scl...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/368237d3-e425-4016-a450-81ff9a97f817n%40googlegroups.com.

e-paper.ru

unread,
Mar 30, 2022, 10:55:30 AM3/30/22
to fiction-b...@googlegroups.com
Sclex, привет!
Если несложно, сделай, пожалуйста, чтобы утилита при разделении общего файла не выбрасывала "нулевую" секцию, которая идет в самом начале файла.
Может быть сделать галочку - "оставлять в первой части" или "включать в каждую часть".

Заранее спасибо!

сб, 5 мар. 2022 г. в 10:26, e-paper.ru <epap...@gmail.com>:

Sclex

unread,
Mar 30, 2022, 1:25:32 PM3/30/22
to Fiction Book Editor
> Если несложно, сделай, пожалуйста, чтобы утилита при разделении общего файла не выбрасывала "нулевую" секцию, которая идет в самом начале файла.
Что за "нулевая" секция? Приведи пример кода, пожалуйста. Можешь выложить на pastebin.com или еще куда.

среда, 30 марта 2022 г. в 17:55:30 UTC+3, TaKir:

e-paper.ru

unread,
Mar 30, 2022, 4:44:56 PM3/30/22
to fiction-b...@googlegroups.com
Ну самая первая секция - после заголовка боди и до первого тайтла.
Эпиграф ко всей книге, например, или просто некая инфа ко всей книге в начале.

 </description>
 <body>
  <title>
   <p>Константин Викторович Бриммер</p>
   <p>Собака на службе в войсках конвойной стражи</p>
  </title>
_____________________________________
  <epigraph>
   <p>Издание Центрального Управления Конвойной Стражи</p>
   <p>Москва — 1929 год.</p>
  </epigraph>
  <epigraph>
   <p><emphasis>СССР. Пролетарии всех стран, соединяйтесь!</emphasis></p>
  </epigraph>
  <epigraph>
   <p>Составил К. Бриммер</p>
   <p>Под редакцией К. И. Калнина</p>
  </epigraph>
_____________________________________
  <section>
   <title>
    <p>Предисловие</p>
   </title>

или если так сделано:

 <body>
  <title>
   <p>Константин Викторович Бриммер</p>
   <p>Собака на службе в войсках конвойной стражи</p>
  </title>
_____________________________________
  <section>
   <p>Издание Центрального Управления Конвойной Стражи</p>
   <p>Москва — 1929 год.</p>
   <p>СССР. Пролетарии всех стран, соединяйтесь!</p>
   <p>Составил К. Бриммер</p>
   <p>Под редакцией К. И. Калнина</p>
  </section>
_____________________________________
  <section>
   <title>
    <p>Предисловие</p>
   </title>

ср, 30 мар. 2022 г. в 20:25, Sclex <scl...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/554728f4-83de-4167-9a3e-1d9b8e8c4d54n%40googlegroups.com.

Sclex

unread,
Mar 31, 2022, 3:21:15 AM3/31/22
to Fiction Book Editor
Допустим, есть документ с таким бади (см. ниже). Что должно получиться после сохранения в качестве отдельного файла раздела с заголовком "первый заголовок"?

 <body>
  <title>
   <p>Константин Викторович Бриммер</p>
   <p>Собака на службе в войсках конвойной стражи</p>
  </title>
  <epigraph>
   <p>Издание Центрального Управления Конвойной Стражи</p>
   <p>Москва — 1929 год.</p>
  </epigraph>
  <epigraph>
   <p><emphasis>СССР. Пролетарии всех стран, соединяйтесь!</emphasis></p>
  </epigraph>
  <epigraph>
   <p>Составил К. Бриммер</p>
   <p>Под редакцией К. И. Калнина</p>
  </epigraph>
  <section>
   <title>
    <p>Первый заголовок</p>
   </title>
   <p>Первый раздел</p>
  </section>
 </body>

Аналогичный вопрос про документ с *таким* бади:

<body>
  <title>
   <p>Константин Викторович Бриммер</p>
   <p>Собака на службе в войсках конвойной стражи</p>
  </title>
   <section>
   <p>Издание Центрального Управления Конвойной Стражи</p>
   <p>Москва — 1929 год.</p>
   <p>СССР. Пролетарии всех стран, соединяйтесь!</p>
   <p>Составил К. Бриммер</p>
   <p>Под редакцией К. И. Калнина</p>
  </section>
  <section>
   <title>
    <p>Первый заголовок</p>
   </title>
   <p>Первый раздел</p>
  </section>
 </body>

Правильно ли я понимаю, что раздел надо считать за "нулевой", если он является первым внутри бади и не имеет заголовка?

среда, 30 марта 2022 г. в 23:44:56 UTC+3, TaKir:

e-paper.ru

unread,
Mar 31, 2022, 4:16:09 AM3/31/22
to fiction-b...@googlegroups.com
"Правильно ли я понимаю, что раздел надо считать за "нулевой", если он является первым внутри бади и не имеет заголовка?"
Да, правильно.
Обычно это какая-то инфа к книге в целом.
Эпиграф ко всей книге, картинка с титульного листа...


При сохранении указанных примеров должно получиться так:
"Нулевая секция"+ Первый раздел.

и для последующих разделов соответственно точно так же:
Нулевая+2 раздел
Нулевая+3 раздел
Нулевая+n... раздел


По возможности - с галочкой для выбора - включать в готовые файлы нулевую секцию или нет.



чт, 31 мар. 2022 г. в 10:21, Sclex <scl...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/51ee7cec-aeed-40bc-a632-e63c9df263e1n%40googlegroups.com.

Sclex

unread,
Mar 31, 2022, 7:52:18 AM3/31/22
to Fiction Book Editor
> При сохранении указанных примеров должно получиться так:
> "Нулевая секция"+ Первый раздел.
Пожалуйста, напиши конкретный fb2-код для тех двух примеров, которые я предложил.

четверг, 31 марта 2022 г. в 11:16:09 UTC+3, TaKir:

Sclex

unread,
Mar 31, 2022, 8:16:46 AM3/31/22
to Fiction Book Editor
А то я не понимаю, например, куда вставлять эпиграфы, находящиеся (как ты говоришь) в "нулевой" секции, если у body сохраняемого документа и так уже могут быть эпиграфы, взятые из раздела, который сохраняется как отдельный документ.

четверг, 31 марта 2022 г. в 14:52:18 UTC+3, Sclex:

e-paper.ru

unread,
Mar 31, 2022, 10:23:50 AM3/31/22
to fiction-b...@googlegroups.com
Вот код для случая с эпиграфом в нулевой секции.

<body>
  <title>
   <p>Константин Викторович Бриммер</p>
   <p>Собака на службе в войсках конвойной стражи</p>
  </title>
  <epigraph>
   <p>Издание Центрального Управления Конвойной Стражи</p>
   <p>Москва▫— 1929 год.</p>
  </epigraph>
    <section>
   <title>
    <p>Предисловие</p>
   </title>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
  </section>
 </body>


а вот код для просто нулевой секции с текстом + заголовок:


 <body>
  <title>
   <p>Константин Викторович Бриммер</p>
   <p>Собака на службе в войсках конвойной стражи</p>
  </title>
  <section>
   <p>Издание Центрального Управления Конвойной Стражи</p>
   <p>Москва▫— 1929 год.</p>
   <p>СССР. Пролетарии всех стран, соединяйтесь!</p>
   <p>Составил К. Бриммер</p>
   <p>Под редакцией К. И. Калнина</p>
  </section>
  <section>
   <title>
    <p>Предисловие</p>
   </title>
   <p></p>
   <p></p>
   <p></p>
  </section>
 </body>


Т.е. это совершенно стандартные случаи, ничего такого.

Сейчас программа совсем выкидывает "нулевой" общий эпиграф (или "нулевую" секцию, которые сразу после боди и до первого заголовка).
А хотелось бы их не терять.



чт, 31 мар. 2022 г. в 15:16, Sclex <scl...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/02aa8c96-7293-47b7-a5c3-35bdd6db432dn%40googlegroups.com.

Sclex

unread,
Mar 31, 2022, 11:08:54 AM3/31/22
to Fiction Book Editor
ТаКир, в обоих этих случаях, код для которых ты написал, у тебя исходный title, относящийся к бади, остается title-ом, относящимся к бади, и после сохранения раздела как отдельный документ. Но ведь раньше ты сам говорил, что при сохранении заголовок бади должен делаться из заголовка *раздела*, который сохраняется.

четверг, 31 марта 2022 г. в 17:23:50 UTC+3, TaKir:

e-paper.ru

unread,
Mar 31, 2022, 1:08:40 PM3/31/22
to fiction-b...@googlegroups.com
Да, первоначальный заголовок боди мы удаляем и вместо него ставим заголовок нужного нам раздела.
Просто нулевую секцию не выбрасываем.

Т.е. у боди всегда будет имя по названию выбранного раздела.

Извини, я не правильно код написал, конечно.

Вот пример кода для случая с эпиграфом в нулевой секции и эпиграфом к 1 разделу (если файл делается по заголовку первого раздела "Предисловие")


 <body>

  <title>
   <p>Предисловие</p>
  </title>
   <epigraph>
    <p>Тут общий эпиграф ко всей книге, отдельный секшен для него не требуется</p>
    <text-author>с автором</text-author>
   </epigraph>
  <section>
   <epigraph>
    <p>Тут может быть свой эпиграф к первому разделу</p>
    <text-author>с автором</text-author>
   </epigraph>

    <p></p>
    <p></p>
    <p></p>
    <p></p>
  </section>
 </body>



Аналогично - код без эпиграфа сразу с нулевой секцией:


  <body>

  <title>
   <p>Предисловие</p>
  </title>
  <section>
   <p>Тут нулевая секция (без заголовка) с каким-то текстом</p>
   <p>Внутри секции стандартно может быть текст, эпиграф, картинка</p>
   <p>СССР. Пролетарии всех стран, соединяйтесь!</p>
   <p>Составил К. Бриммер</p>
   <p>Под редакцией К. И. Калнина</p>
  </section>
  <section>
   <p></p>
   <p></p>
   <p></p>
  </section>
 </body>

чт, 31 мар. 2022 г. в 18:08, Sclex <scl...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/82cf7976-8c2b-4d4f-8083-02191f9f7a7en%40googlegroups.com.

Sclex

unread,
Mar 31, 2022, 1:27:22 PM3/31/22
to Fiction Book Editor
ОК, теперь мне вроде понятно, в чем суть твоего предложения. Может, сделаю (когда-нибудь).

четверг, 31 марта 2022 г. в 20:08:40 UTC+3, TaKir:

Sclex

unread,
Apr 2, 2022, 3:59:48 AM4/2/22
to Fiction Book Editor
> Если несложно, сделай, пожалуйста, чтобы утилита при разделении общего файла не выбрасывала "нулевую" секцию, которая идет в самом начале файла.
ТаКир, а что, если первый раздел в бади не имеет заголовка, но содержит вложенные подразделы? Надо ли такой раздел сохранять как "нулевой"? Нужны ответы про два варианта: 1) ни один из подразделов не имеет заголовка; 2) один или несколько подразделов имеют заголовки.

среда, 30 марта 2022 г. в 17:55:30 UTC+3, TaKir:
Sclex, привет!

e-paper.ru

unread,
Apr 2, 2022, 5:31:49 AM4/2/22
to fiction-b...@googlegroups.com
В идеале "нулевую" секцию при передаче в отдельные файлы оставлять неизменной по структуре и оформлению (болды-курсивы и проч. тэги).
Т.е. по смыслу - мы как бы ко всем отдельным файлам (опционально) прикладываем титульный лист всей книги.

сб, 2 апр. 2022 г. в 10:59, Sclex <scl...@gmail.com>:
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/57cfdddb-fca7-42e5-956c-f4aec9e6f205n%40googlegroups.com.

Sclex

unread,
Apr 6, 2022, 5:30:17 AM4/6/22
to Fiction Book Editor
Утилита "Save Sections As Separate Documents" обновлена до версии 2.3.

Изменения:
- в диалог скрипта добавлена галочка "включать в сохраняемые файлы эпиграфы, в исходном документе относившиеся к body, а также разделы без заголовков, которые (разделы) находились в начале body". (Это то, что TaKir называл "нулевой секцией".)
- запрещено выделение текста в диалоге скрипта.
- исправлен баг, из-за которого не выделялись по одинарному щелчку мышью заголовки, находящиеся *внизу* видимой (в определенный момент) части списка заголовков.

Ссылка для скачивания:

суббота, 2 апреля 2022 г. в 12:31:49 UTC+3, TaKir:

Sclex

unread,
Apr 6, 2022, 9:29:07 AM4/6/22
to Fiction Book Editor
Утилита "Save Sections As Separate Documents" обновлена до версии 2.7.
- теперь при изменении размера диалога утилиты меняется и размер списка заголовков.
- починена не работавшая ранее автопрокрутка списка заголовков (при зажатой левой клавише мыши).

Ссылка для скачивания:
Save Sections As Separate Documents v2.7.

Sclex

unread,
Apr 9, 2022, 4:27:27 AM4/9/22
to Fiction Book Editor
В папку утилиты "Save Sections As Separate Documents" добавлены два новых файла:
- SaveSectionsAsSeparateDocuments_MSXML4.hta
- SaveSectionsAsSeparateDocuments_MSXML6.hta
Эти версии утилиты используют такие версии MSXML, как написано в названии. Какую версию MSXML использовали прежние версии утилиты, я, честно говоря, не знаю. Известно только, что они использовали ActiveX-объект "Microsoft.XMLDOM".

Ссылки для скачивания:


среда, 6 апреля 2022 г. в 16:29:07 UTC+3, Sclex:

Sclex

unread,
May 14, 2022, 5:06:19 AM5/14/22
to Fiction Book Editor
Приложения "SaveSectionsAsSeparateDocuments.hta", "SaveSectionsAsSeparateDocuments_MSXML4.hta" и "SaveSectionsAsSeparateDocuments_MSXML6.hta" обновлены до версии 3.1 каждое.

Единственное изменение: теперь при сохранении разделов как отдельные документы для каждого сохраняемого документа генерируется новый случайный id (вложенный в document-info).

Sclex

unread,
May 14, 2022, 5:11:00 AM5/14/22
to Fiction Book Editor
Ссылки для скачивания попали в свернутую часть сообщения - надо развернуть ее, чтобы увидеть ссылки.

суббота, 14 мая 2022 г. в 12:06:19 UTC+3, Sclex:

Sclex

unread,
May 14, 2022, 6:19:08 AM5/14/22
to Fiction Book Editor
Правда, сейчас алгоритм такой, что если элемента id (вложенного в document-info) нет в исходном fb2-документе, то его не будет и в сохраняемых документах.

суббота, 14 мая 2022 г. в 12:06:19 UTC+3, Sclex:
Приложения "SaveSectionsAsSeparateDocuments.hta", "SaveSectionsAsSeparateDocuments_MSXML4.hta" и "SaveSectionsAsSeparateDocuments_MSXML6.hta" обновлены до версии 3.1 каждое.

e-paper.ru

unread,
May 14, 2022, 11:09:03 AM5/14/22
to fiction-b...@googlegroups.com
Новые айдишники генерятся отлично, спасибо!

сб, 14 мая 2022 г. в 12:11, Sclex <scl...@gmail.com>:
--
Вы получили это сообщение, поскольку подписаны на группу "Fiction Book Editor".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес fiction-book-ed...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/4691cf65-421e-4215-9235-cddab3b1dd11n%40googlegroups.com.

Sclex

unread,
May 15, 2022, 5:29:48 AM5/15/22
to Fiction Book Editor
В приложениях "Save Sections As Separate Documents" я реализовал заполнение полей author и book-title при сохранении документов.

Прошу протестировать версию приложения 3.2.:

Sclex

unread,
May 15, 2022, 5:33:52 AM5/15/22
to Fiction Book Editor
Забыл приложить снимок диалога приложения - внизу добавлены 3 радиокнопки, как просил ТаКир:
Снимок экрана от 2022-05-15 12-20-19.png

воскресенье, 15 мая 2022 г. в 12:29:48 UTC+3, Sclex:

e-paper.ru

unread,
May 15, 2022, 6:01:25 AM5/15/22
to fiction-b...@googlegroups.com
Во всех режимах ругается:

На этой странице произошла ошибка сценария.
Строка: 153
Символ: Ошибка: 10 Не удалось получить свойство "hasChildNodes" ссылки, значение которой не определено или является NULL
Код: 0
URL: file:/D:/test_titles/SaveSectionsAsSeparateDocuments.hta
Вы хотите продолжить выполнение сценариев на этой странице?
Да-Нет

вс, 15 мая 2022 г. в 12:29, Sclex <scl...@gmail.com>:
--
Вы получили это сообщение, поскольку подписаны на группу "Fiction Book Editor".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес fiction-book-ed...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/2ab19880-bd8b-4929-980b-f041d291e7ddn%40googlegroups.com.
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

Sclex

unread,
May 19, 2022, 8:30:42 AM5/19/22
to Fiction Book Editor
>> Прошу протестировать версию приложения 3.2.:
> В титле уже скачанной утилиты значится версия 4.3.
> Спасибо за программу!
stokber, уже выложена версия 4.7 данного приложения.

Историю изменений приложения можно посмотреть здесь:

Я собирался и собираюсь попросить TaKir-а рассказать о функционале данного приложения - но после того, как я исполню все его (TaKir-а) пожелания касательно приложения.

Ссылки для скачивания последней версии приложения:

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

Sclex

unread,
May 19, 2022, 8:31:59 AM5/19/22
to Fiction Book Editor
> Я собирался и собираюсь попросить TaKir-а рассказать о функционале данного приложения
Я имел в виду, рассказать для всех в гугл-группе.

четверг, 19 мая 2022 г. в 15:30:42 UTC+3, Sclex:

stokber

unread,
May 19, 2022, 8:44:42 AM5/19/22
to Fiction Book Editor
Своё сообщение я удалил сам, так как позже все-таки добрался до истории изменений и понял в чём дело.

четверг, 19 мая 2022 г. в 15:31:59 UTC+3, Sclex:

Sclex

unread,
May 19, 2022, 9:07:53 AM5/19/22
to Fiction Book Editor
ОК, ясно. Раньше несколько сообщений, которые я отправил в гугл-группу, удалились, хотя я ничего для этого не делал. Правда, первоначально эти сообщения попали в категорию "На рассмотрении" (т.е. для премодерации). Я их "одобрил", и после этого они удалились.

четверг, 19 мая 2022 г. в 15:44:42 UTC+3, stokber:

TaKir

unread,
Jun 4, 2022, 3:51:29 AM6/4/22
to Fiction Book Editor
SSASD - (SaveSectionsAsSeparateDocuments) отдельная программа (приложение), предназначенная для разделения fb2 файлов на части.
Программа в текущей версии 6.2. существенно улучшена и доработана.
_____________________________________________________________________________
Автор программы - Sclex.
Идеи, предварительное тестирование, описание работы - TaKir
_____________________________________________________________________________

Файл программы представлен в 3 вариациях:

SaveSectionsAsSeparateDocuments.hta
SaveSectionsAsSeparateDocuments_MSXML4.hta
SaveSectionsAsSeparateDocuments_MSXML6.hta

Для работы программы нужен любой из этих файлов + служебный html-файл (SSASD - Show Wrong Titles.html) для отображения диалогов.

В вашей системе могут корректно работать все три версии программы, а может - только какая-то одна.
_____________________________________________________________________________

Как пользоваться:

Файлы .hta и .html должны лежать в одной папке.

- Запускаем приложение.
- Кнопкой "Обзор" выбираем исходный файл для разделения на части, согласно имеющимся в файле заголовкам разделов.
- Жмем кнопку "Найти и показать заголовки разделов".
В окошке ниже будут отображены все имеющиеся в выбранном файле заголовки (разделы).

- Эти разделы можно выбрать в окошке вручную (с нажатыми клавишами CTRL, SHIFT или CTRL+SHIFT мышкой выбрать несколько произвольных разделов) или выбрать автоматическое разделение по разделам верхнего уровня.

- Под окошком с заголовками выбираем один из 4 вариантов оформления ваших заголовков.

- Нажимаем по необходимости одну из кнопок: "Сохранить выбранные разделы..." или "Сохранить как отдельные документы..."

* Будет произведено разделение исходного документы на отдельные файлы.

Варианты оформления заголовков исходных разделов в 2 строки:

Автор (первая строка заголовка)
Название (вторая строка заголовка)

либо наоборот:

Название (первая строка заголовка)
Автор (вторая строка заголовка)

либо

Название (в 1 или единственной строке заголовков)
Название (во 2 или единственной строке заголовков)

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

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

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

В режиме "Сохранить как отдельные документы все разделы верхнего уровня" автоматически создается необходимое кол-во файлов по количеству разделов верхнего уровня.
Авторы и названия сохраняются согласно выбранному в опциях варианту.

* В случае наличия в исходном файле одновременно двух- и одноабзацных заголовков и выборе в опциях вариантов Автор+Название или Название+Автор, программа сообщит об ошибке, выведет список одноабзацных заголовков и новые файлы созданы не будут.
В таком случае необходимо в исходном файле (или его копии) сделать перечисленные заголовки двухабзацными, чтобы сработала выбранная в настройках опция.
_____________________________________________________________________________

Особенности и функции:

- Разделение исходного файла на части происходит с сохранением любой возможной вложенности разделов и всего форматирования.

- В дескрипшене автоматически всем новым файлам прописывается новое название и автор(ы) (если была выбрана соответствующая опция).
- В дескрипшене автоматически всем новым файлам случайным образом присваивается новый уникальный ID fb2 файла.
- В дескрипшене автоматически всем новым файлам назначается текущая дата.
- Все остальные поля дескрипшена полностью наследуются из исходного документа.

- Наименование файлов осуществляется латиницей, согласно названию конкретного нового документа в заголовке body.

- В начале имен файлов используется номер в стиле 0001_Nazvanie_fayla.fb2 для понимания порядка последовательности файлов, полученных из исходного документа.

- Готовые файлы получаются валидными согласно fb2 схеме.

- Готовые файлы сохраняются в папку с исходным fb2 документом.

- При повторном сохранении этих же разделов, к названиям файлов в конце добавляется номер 0001, 0002... для избежания полных дублей названий файлов в папке.

- Настройки программы нигде не сохраняются, при каждом новом использовании опции разделения файла на части выбираются согласно оформлению конкретного исходного файла.
_____________________________________________________________________________

Ссылки на скачивание (версия 6.2):

https://github.com/sensboston/fictionbookeditor/raw/master/files/Utilities/Save%20Sections%20As%20Separate%20Documents/SSASD%20-%20Show%20Wrong%20Titles.html

https://raw.githubusercontent.com/sensboston/fictionbookeditor/master/files/Utilities/Save%20Sections%20As%20Separate%20Documents/SaveSectionsAsSeparateDocuments.hta

https://raw.githubusercontent.com/sensboston/fictionbookeditor/master/files/Utilities/Save%20Sections%20As%20Separate%20Documents/SaveSectionsAsSeparateDocuments_MSXML4.hta

https://raw.githubusercontent.com/sensboston/fictionbookeditor/master/files/Utilities/Save%20Sections%20As%20Separate%20Documents/SaveSectionsAsSeparateDocuments_MSXML6.hta


Коллеги-книгоделы, просьба тестировать функционал программы, сообщать о возможных ошибках.
четверг, 19 мая 2022 г. в 16:07:53 UTC+3, Sclex:

Sclex

unread,
Jun 4, 2022, 4:05:43 AM6/4/22
to Fiction Book Editor
Снимок окна приложния (для наглядности):

Clipboard22.png

суббота, 4 июня 2022 г. в 10:51:29 UTC+3, TaKir:

Федор

unread,
Jun 5, 2022, 3:23:07 AM6/5/22
to Fiction Book Editor
Все отлично работает! Огромное спасибо автору!

суббота, 4 июня 2022 г. в 11:05:43 UTC+3, Sclex:

Sclex

unread,
Jun 7, 2022, 6:34:52 AM6/7/22
to Fiction Book Editor
> Все отлично работает! Огромное спасибо автору!
Федор, мне было приятно получить вашу благодарность.

Sclex

unread,
Oct 27, 2022, 12:00:25 PM10/27/22
to Fiction Book Editor
HTA-приложения "SaveSectionsAsSeparateDocuments.hta", "SaveSectionsAsSeparateDocuments_MSXML4.hta" и "SaveSectionsAsSeparateDocuments_MSXML6.hta" обновлены до версии 6.3.

Единственное изменение: теперь при сохранении раздела как отдельный документ, если у этого раздела имеется аннотация (<annotation>), то она будет удалена из этого раздела и помещена в description сохраняемого документа (после тега book-title). Т.е. бывшая аннотация раздела делается аннотацией всего [сохраняемого] документа.

Данная доработка скрипта является исполнением пожелания, высказанного ТаКир-ом.

Sclex

unread,
Oct 27, 2022, 2:55:41 PM10/27/22
to Fiction Book Editor
HTA-приложения "SaveSectionsAsSeparateDocuments.hta", "SaveSectionsAsSeparateDocuments_MSXML4.hta" и "SaveSectionsAsSeparateDocuments_MSXML6.hta" обновлены до версии 6.4 каждое.

Исправлен баг, из-за которого аннотация сохраняемого документа могла делаться не из аннотации, непосредственно вложенной в сохраняемый раздел, а из аннотации подраздела этого (сохраняемого как документ) раздела.

Sclex

unread,
Mar 20, 2024, 7:26:51 AM (8 days ago) Mar 20
to Fiction Book Editor
HTA-приложения "SaveSectionsAsSeparateDocuments.hta", "SaveSectionsAsSeparateDocuments_MSXML4.hta" и "SaveSectionsAsSeparateDocuments_MSXML6.hta" обновлены до версии 6.6.
- к данным приложениям теперь прикручена какая-никакая бьютификация (приведение к красивому виду) сохраняемых fb2-документов. Включать эту бьютификацию никак не нужно, она просто работает *всегда* при сохранении fb2-документов.

Обращаю внимание, что теперь для работы приложения необходимо наличие файла beautify.xml в той же папке, где находится запускаемый hta-файл.

Ссылки для скачивания последней версии приложения (все файлы надо положить в одну папку):

Sclex

unread,
Mar 20, 2024, 7:33:02 AM (8 days ago) Mar 20
to Fiction Book Editor
Спасибо TaKir-у, который протестировал утилиты SSASD, после добавления в них функционала бьютификации, и нашел один баг, который я потом исправил.

среда, 20 марта 2024 г. в 14:26:51 UTC+3, Sclex:

Федор

unread,
Mar 21, 2024, 3:39:18 AM (7 days ago) Mar 21
to fiction-b...@googlegroups.com
Спасибо!!!

ср, 20 мар. 2024 г. в 13:33, Sclex <scl...@gmail.com>:
--
Вы получили это сообщение, поскольку подписаны на группу "Fiction Book Editor".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес fiction-book-ed...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/fiction-book-editor/5c8b33db-5ef8-4faa-9a1d-3236d86c8b7fn%40googlegroups.com.


--
С уважением, Федор
Reply all
Reply to author
Forward
0 new messages