Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1e6105b076 | ||
|
|
d8d89b3463 | ||
|
|
459564cb2d | ||
|
|
084df35184 | ||
|
|
81912babeb |
@@ -99,7 +99,7 @@ class ContentsPage extends Vue {
|
|||||||
|
|
||||||
const prepareLabel = (title, bolder = false) => {
|
const prepareLabel = (title, bolder = false) => {
|
||||||
let titleParts = title.split('<p>');
|
let titleParts = title.split('<p>');
|
||||||
const textParts = titleParts.filter(v => v).map(v => `<div>${v.replace(/(<([^>]+)>)/ig, '')}</div>`);
|
const textParts = titleParts.filter(v => v).map(v => `<div>${utils.removeHtmlTags(v)}</div>`);
|
||||||
if (bolder && textParts.length > 1)
|
if (bolder && textParts.length > 1)
|
||||||
textParts[0] = `<b>${textParts[0]}</b>`;
|
textParts[0] = `<b>${textParts[0]}</b>`;
|
||||||
return textParts.join('');
|
return textParts.join('');
|
||||||
@@ -109,7 +109,7 @@ class ContentsPage extends Vue {
|
|||||||
const pc = parsed.contents;
|
const pc = parsed.contents;
|
||||||
const newpc = [];
|
const newpc = [];
|
||||||
|
|
||||||
//преобразуем не первые разделы body в title-subtitle
|
//преобразуем все, кроме первого, разделы body в title-subtitle
|
||||||
let curSubtitles = [];
|
let curSubtitles = [];
|
||||||
let prevBodyIndex = -1;
|
let prevBodyIndex = -1;
|
||||||
for (let i = 0; i < pc.length; i++) {
|
for (let i = 0; i < pc.length; i++) {
|
||||||
@@ -177,7 +177,6 @@ class ContentsPage extends Vue {
|
|||||||
|
|
||||||
async setBookPos(newValue) {
|
async setBookPos(newValue) {
|
||||||
this.$emit('book-pos-changed', {bookPos: newValue});
|
this.$emit('book-pos-changed', {bookPos: newValue});
|
||||||
await this.$nextTick();
|
|
||||||
this.close();
|
this.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import he from 'he';
|
import he from 'he';
|
||||||
import sax from '../../../../server/core/sax';
|
import sax from '../../../../server/core/sax';
|
||||||
import {sleep} from '../../../share/utils';
|
import * as utils from '../../../share/utils';
|
||||||
|
|
||||||
const maxImageLineCount = 100;
|
const maxImageLineCount = 100;
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ export default class BookParser {
|
|||||||
i.onerror = reject;
|
i.onerror = reject;
|
||||||
|
|
||||||
i.src = `data:${binaryType};base64,${data}`;
|
i.src = `data:${binaryType};base64,${data}`;
|
||||||
await sleep(30*1000);
|
await utils.sleep(30*1000);
|
||||||
if (!resolved)
|
if (!resolved)
|
||||||
reject('Не удалось получить размер изображения');
|
reject('Не удалось получить размер изображения');
|
||||||
})().catch(reject); });
|
})().catch(reject); });
|
||||||
@@ -112,7 +112,7 @@ export default class BookParser {
|
|||||||
i.onerror = reject;
|
i.onerror = reject;
|
||||||
|
|
||||||
i.src = src;
|
i.src = src;
|
||||||
await sleep(30*1000);
|
await utils.sleep(30*1000);
|
||||||
if (!resolved)
|
if (!resolved)
|
||||||
reject('Не удалось получить размер изображения');
|
reject('Не удалось получить размер изображения');
|
||||||
})().catch(reject); });
|
})().catch(reject); });
|
||||||
@@ -224,6 +224,15 @@ export default class BookParser {
|
|||||||
|
|
||||||
if (path.indexOf('/fictionbook/body') == 0) {
|
if (path.indexOf('/fictionbook/body') == 0) {
|
||||||
if (tag == 'body') {
|
if (tag == 'body') {
|
||||||
|
if (isFirstBody && fb2.annotation) {
|
||||||
|
const ann = fb2.annotation.split('<p>').filter(v => v).map(v => utils.removeHtmlTags(v));
|
||||||
|
ann.forEach(a => {
|
||||||
|
newParagraph(`<emphasis><space w="1">${a}</space></emphasis>`, a.length);
|
||||||
|
});
|
||||||
|
if (ann.length)
|
||||||
|
newParagraph(' ', 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!isFirstBody)
|
if (!isFirstBody)
|
||||||
newParagraph(' ', 1);
|
newParagraph(' ', 1);
|
||||||
isFirstBody = false;
|
isFirstBody = false;
|
||||||
@@ -419,7 +428,7 @@ export default class BookParser {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const onProgress = async(prog) => {
|
const onProgress = async(prog) => {
|
||||||
await sleep(1);
|
await utils.sleep(1);
|
||||||
callback(prog);
|
callback(prog);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -441,7 +450,7 @@ export default class BookParser {
|
|||||||
this.textLength = paraOffset;
|
this.textLength = paraOffset;
|
||||||
|
|
||||||
callback(100);
|
callback(100);
|
||||||
await sleep(10);
|
await utils.sleep(10);
|
||||||
|
|
||||||
return {fb2};
|
return {fb2};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -304,3 +304,7 @@ export function userHotKeysObjectSwap(userHotKeys) {
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function removeHtmlTags(s) {
|
||||||
|
return s.replace(/(<([^>]+)>)/ig, '');
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user