Merge branch 'release/0.10.3'
This commit is contained in:
@@ -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,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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)',
|
||||||
|
|||||||
@@ -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
2
package-lock.json
generated
@@ -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": {
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user