소스 검색

Merge branch 'release/0.10.3'

Book Pauk 3 년 전
부모
커밋
a53ebb9355

+ 19 - 11
client/components/Reader/share/BookParser.js

@@ -159,7 +159,24 @@ export default class BookParser {
                 const prevParaIndex = paraIndex;
                 let p = para[paraIndex];
                 paraOffset -= p.length;
-                //добавление пустых (addEmptyParagraphs) параграфов перед текущим непустым
+
+                //уберем пробелы с концов параграфа, минимум 1 пробел должен быть у пустого параграфа
+                let newParaText = p.text.trim();
+                newParaText = (newParaText.length ? newParaText : ' ');
+                const ldiff = p.text.length - newParaText.length;
+                if (ldiff != 0) {
+                    p.text = newParaText;
+                    p.length -= ldiff;
+                }
+
+                //удаление параграфов, которые содержат только разметку, такого не должно быть
+                if (!p.length) {
+                    delete para[paraIndex];
+                    paraIndex--;
+                    return;
+                }
+
+                //добавление пустых (не)видимых (addEmptyParagraphs) параграфов перед текущим непустым
                 if (p.text.trim() != '') {
                     for (let i = 0; i < 2; i++) {
                         para[paraIndex] = {
@@ -179,15 +196,6 @@ export default class BookParser {
                         curSubtitle.paraIndex = paraIndex;
                 }
 
-                //уберем пробелы с концов параграфа, минимум 1 пробел должен быть у пустого параграфа
-                let newParaText = p.text.trim();
-                newParaText = (newParaText.length ? newParaText : ' ');
-                const ldiff = p.text.length - newParaText.length;
-                if (ldiff != 0) {
-                    p.text = newParaText;
-                    p.length -= ldiff;
-                }
-
                 p.index = paraIndex;
                 p.offset = paraOffset;
                 para[paraIndex] = p;
@@ -203,7 +211,7 @@ export default class BookParser {
             let p = {
                 index: paraIndex,
                 offset: paraOffset,
-                length: len,
+                length: len,//длина текста внутри параграфа без учета длины разметки
                 text: text,
                 addIndex: 0,
             };

+ 11 - 0
client/components/Reader/versionHistory.js

@@ -1,4 +1,15 @@
 export const versionHistory = [
+{
+    showUntil: '2021-10-23',
+    header: '0.10.3 (2021-10-24)',
+    content:
+`
+<ul>
+    <li>исправления багов</li>
+</ul>
+`
+},
+
 {
     showUntil: '2021-10-18',
     header: '0.10.2 (2021-10-19)',

+ 23 - 14
docs/omnireader.ru/README.md

@@ -2,6 +2,7 @@
 
 ### git, clone
 ```
+cd ~
 sudo apt install ssh git
 git clone https://github.com/bookpauk/liberama
 ```
@@ -25,7 +26,8 @@ sudo mkdir /home/liberama
 sudo chown www-data.www-data /home/liberama
 ```
 
-### external converter `calibre`, download from https://download.calibre-ebook.com/
+### external converter `calibre`
+#### download from https://download.calibre-ebook.com/
 ```
 wget "https://download.calibre-ebook.com/5.29.0/calibre-5.29.0-x86_64.txz"
 sudo -u www-data mkdir -p /home/liberama/data/calibre
@@ -34,29 +36,32 @@ sudo -u www-data tar xvf calibre-5.29.0-x86_64.txz -C /home/liberama/data/calibr
 
 ### external converters
 ```
-sudo apt install rar
-sudo apt install libreoffice
-sudo apt install poppler-utils
-sudo apt install djvulibre-bin
-sudo apt install libtiff-tools
-sudo apt install graphicsmagick-imagemagick-compat
+sudo apt install rar libreoffice poppler-utils djvulibre-bin libtiff-tools graphicsmagick-imagemagick-compat
 ```
 
 ### nginx, server config
-Для своего домена необходимо будет подправить docs/omnireader.ru/omnireader.
-Можно также настроить сервер для HTTP, без SSL.
+#### Для своего домена необходимо будет подправить docs/omnireader.ru/omnireader и docs/omnireader.ru/omnireader_http
+Сначала настроим для HTTP:
 ```
 sudo apt install nginx
 sudo cp docs/omnireader.ru/omnireader /etc/nginx/sites-available/omnireader
-sudo ln -s /etc/nginx/sites-available/omnireader /etc/nginx/sites-enabled/omnireader
+sudo ln -s /etc/nginx/sites-available/omnireader_http /etc/nginx/sites-enabled/omnireader
 sudo rm /etc/nginx/sites-enabled/default
 sudo service nginx reload
 sudo chown -R www-data.www-data /var/www
 ```
 
 ### certbot
-Следовать инструкции установки certbot https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx
+#### Следовать инструкции установки certbot https://certbot.eff.org/lets-encrypt/ubuntufocal-nginx
+После установки сертификата, можно использовать конфиг для nginx c ssl:
+```
+sudo cp docs/omnireader.ru/omnireader /etc/nginx/sites-available/omnireader
+sudo service nginx reload
+
+```
+
 ### old.omnireader 
+#### Старая версия omnireader на базе PHP, можно не устанавливать
 ```
 sudo apt install php7.4 php7.4-curl php7.4-mbstring php7.4-fpm
 sudo service php7.4-fpm restart
@@ -68,7 +73,7 @@ sudo -u www-data cp -r docs/omnireader.ru/old/* /home/oldreader
 
 ## Запуск по крону
 ```
-* * * * * /root/liberama/docs/omnireader.ru/cron_server.sh
+* * * * * ~/liberama/docs/omnireader.ru/cron_server.sh >>~/liberama_cron.log 2>&1
 ```
 
 ## Деплой и запуск
@@ -78,8 +83,8 @@ cd docs/omnireader.ru
 ./deploy.sh
 ./start_server.sh
 ```
-
 После первого запуска будет создан конфигурационный файл `/home/liberama/data/config.json`.
+
 Необходимо переключить приложение в режим `omnireader`, отредактировав опцию `servers`:
 ```
     "servers": [
@@ -91,4 +96,8 @@ cd docs/omnireader.ru
         }
     ]
 ```
-и перезапустить сервер
+Для использования установленных внешних конвертеров можно также поправить:
+```
+    "useExternalBookConverter": true,
+```
+и перезапустить сервер.

+ 1 - 1
package-lock.json

@@ -1,6 +1,6 @@
 {
   "name": "Liberama",
-  "version": "0.10.2",
+  "version": "0.10.3",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "Liberama",
-  "version": "0.10.2",
+  "version": "0.10.3",
   "author": "Book Pauk <bookpauk@gmail.com>",
   "license": "CC0-1.0",
   "repository": "bookpauk/liberama",

+ 2 - 2
server/core/Reader/BookConverter/ConvertSamlib.js

@@ -210,11 +210,11 @@ class ConvertSamlib extends ConvertBase {
         };
 
         const onComment = (text) => {// eslint-disable-line no-unused-vars
-            if (text == '--------- Собственно произведение -------------') {
+            if (text.trim() == '--------- Собственно произведение -------------') {
                 inText = true;
                 textFound = true;
             }
-            if (text == '-----------------------------------------------')
+            if (text.trim() == '-----------------------------------------------')
                 inText = false;
         };