Merge branch 'release/0.10.3'

This commit is contained in:
Book Pauk
2021-10-25 01:54:00 +07:00
6 changed files with 57 additions and 29 deletions

View File

@@ -159,7 +159,24 @@ export default class BookParser {
const prevParaIndex = paraIndex; const prevParaIndex = paraIndex;
let p = para[paraIndex]; let p = para[paraIndex];
paraOffset -= p.length; 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() != '') { if (p.text.trim() != '') {
for (let i = 0; i < 2; i++) { for (let i = 0; i < 2; i++) {
para[paraIndex] = { para[paraIndex] = {
@@ -179,15 +196,6 @@ export default class BookParser {
curSubtitle.paraIndex = paraIndex; 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.index = paraIndex;
p.offset = paraOffset; p.offset = paraOffset;
para[paraIndex] = p; para[paraIndex] = p;
@@ -203,7 +211,7 @@ export default class BookParser {
let p = { let p = {
index: paraIndex, index: paraIndex,
offset: paraOffset, offset: paraOffset,
length: len, length: len,//длина текста внутри параграфа без учета длины разметки
text: text, text: text,
addIndex: 0, addIndex: 0,
}; };

View File

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

View File

@@ -2,6 +2,7 @@
### git, clone ### git, clone
``` ```
cd ~
sudo apt install ssh git sudo apt install ssh git
git clone https://github.com/bookpauk/liberama git clone https://github.com/bookpauk/liberama
``` ```
@@ -25,7 +26,8 @@ sudo mkdir /home/liberama
sudo chown www-data.www-data /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" 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 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 ### external converters
``` ```
sudo apt install rar sudo apt install rar libreoffice poppler-utils djvulibre-bin libtiff-tools graphicsmagick-imagemagick-compat
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
``` ```
### nginx, server config ### nginx, server config
Для своего домена необходимо будет подправить docs/omnireader.ru/omnireader. #### Для своего домена необходимо будет подправить docs/omnireader.ru/omnireader и docs/omnireader.ru/omnireader_http
Можно также настроить сервер для HTTP, без SSL. Сначала настроим для HTTP:
``` ```
sudo apt install nginx sudo apt install nginx
sudo cp docs/omnireader.ru/omnireader /etc/nginx/sites-available/omnireader 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 rm /etc/nginx/sites-enabled/default
sudo service nginx reload sudo service nginx reload
sudo chown -R www-data.www-data /var/www sudo chown -R www-data.www-data /var/www
``` ```
### certbot ### 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 ### old.omnireader
#### Старая версия omnireader на базе PHP, можно не устанавливать
``` ```
sudo apt install php7.4 php7.4-curl php7.4-mbstring php7.4-fpm sudo apt install php7.4 php7.4-curl php7.4-mbstring php7.4-fpm
sudo service php7.4-fpm restart 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 ./deploy.sh
./start_server.sh ./start_server.sh
``` ```
После первого запуска будет создан конфигурационный файл `/home/liberama/data/config.json`. После первого запуска будет создан конфигурационный файл `/home/liberama/data/config.json`.
Необходимо переключить приложение в режим `omnireader`, отредактировав опцию `servers`: Необходимо переключить приложение в режим `omnireader`, отредактировав опцию `servers`:
``` ```
"servers": [ "servers": [
@@ -91,4 +96,8 @@ cd docs/omnireader.ru
} }
] ]
``` ```
и перезапустить сервер Для использования установленных внешних конвертеров можно также поправить:
```
"useExternalBookConverter": true,
```
и перезапустить сервер.

2
package-lock.json generated
View File

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

View File

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

View File

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