Добавил настройку cutEmptyParagraphs

This commit is contained in:
Book Pauk
2019-02-14 17:34:52 +07:00
parent d306f972cc
commit 5af1f81bc3
5 changed files with 27 additions and 4 deletions

View File

@@ -3,7 +3,7 @@ import sax from '../../../../server/core/BookConverter/sax';
import {sleep} from '../../../share/utils';
export default class BookParser {
constructor() {
constructor(settings) {
// defaults
this.p = 30;// px, отступ параграфа
this.w = 300;// px, ширина страницы
@@ -13,6 +13,11 @@ export default class BookParser {
this.measureText = (text, style) => {// eslint-disable-line no-unused-vars
return text.length*20;
};
//настройки
if (settings) {
this.cutEmptyParagraphs = settings.cutEmptyParagraphs;
}
}
async parse(data, callback) {
@@ -49,6 +54,13 @@ export default class BookParser {
}
*/
const newParagraph = (text, len) => {
//схлопывание пустых параграфов
if (this.cutEmptyParagraphs && paraIndex >= 0) {
let p = para[paraIndex];
if (p.length == 1 && p.text[0] == ' ')
return;
}
paraIndex++;
let p = {
index: paraIndex,

View File

@@ -18,7 +18,8 @@ const bmRecentStore = localForage.createInstance({
});
class BookManager {
async init() {
async init(settings) {
this.settings = settings;
this.books = {};
this.recent = {};
this.recentChanged = true;
@@ -130,7 +131,7 @@ class BookManager {
async parseBook(meta, data, callback) {
if (!this.books)
await this.init();
const parsed = new BookParser();
const parsed = new BookParser(this.settings);
const parsedMeta = await parsed.parse(data, callback);
const result = Object.assign({}, meta, parsedMeta, {