diff --git a/client/components/Reader/SettingsPage/SettingsPage.vue b/client/components/Reader/SettingsPage/SettingsPage.vue
index 809a7551..6610ad95 100644
--- a/client/components/Reader/SettingsPage/SettingsPage.vue
+++ b/client/components/Reader/SettingsPage/SettingsPage.vue
@@ -187,6 +187,12 @@
Убирать пустые параграфы
+
+
+ Добавлять пустые
+
+
+
diff --git a/client/components/Reader/share/BookParser.js b/client/components/Reader/share/BookParser.js
index 1835e676..c0c1f368 100644
--- a/client/components/Reader/share/BookParser.js
+++ b/client/components/Reader/share/BookParser.js
@@ -17,6 +17,7 @@ export default class BookParser {
//настройки
if (settings) {
this.cutEmptyParagraphs = settings.cutEmptyParagraphs;
+ this.addEmptyParagraphs = settings.addEmptyParagraphs;
}
}
@@ -53,9 +54,9 @@ export default class BookParser {
text: String //текст параграфа (или title или epigraph и т.д) с вложенными тегами
}
*/
- const newParagraph = (text, len) => {
+ const newParagraph = (text, len, noCut) => {
//схлопывание пустых параграфов
- if (this.cutEmptyParagraphs && paraIndex >= 0) {
+ if (!noCut && this.cutEmptyParagraphs && paraIndex >= 0 && len == 1 && text[0] == ' ') {
let p = para[paraIndex];
if (p.length == 1 && p.text[0] == ' ')
return;
@@ -82,6 +83,16 @@ export default class BookParser {
let p = para[paraIndex];
if (p) {
+ //добавление пустых параграфов
+ if (this.addEmptyParagraphs && p.length == 1 && p.text[0] == ' ' && len > 0) {
+ let i = this.addEmptyParagraphs;
+ while (i > 0) {
+ newParagraph(' ', 1, true);
+ i--;
+ }
+ p = para[paraIndex];
+ }
+
paraOffset -= p.length;
if (p.length == 1 && p.text[0] == ' ' && len > 0) {
p.length = 0;
diff --git a/client/store/modules/reader.js b/client/store/modules/reader.js
index 1c440390..db3f8d6b 100644
--- a/client/store/modules/reader.js
+++ b/client/store/modules/reader.js
@@ -161,7 +161,8 @@ const settingDefaults = {
showClickMapPage: true,
clickControl: true,
cutEmptyParagraphs: false,
-
+ addEmptyParagraphs: 0,
+
fontShifts: {},
};