Улучшение конвертера html
This commit is contained in:
@@ -109,16 +109,23 @@ class ConvertHtml extends ConvertBase {
|
|||||||
//подозрение на чистый текст, надо разбить на параграфы
|
//подозрение на чистый текст, надо разбить на параграфы
|
||||||
if (isText || pars.length < buf.length/2000) {
|
if (isText || pars.length < buf.length/2000) {
|
||||||
let total = 0;
|
let total = 0;
|
||||||
let max = 0;
|
let count = 1;
|
||||||
for (let i = 0; i < spaceCounter.length; i++) {
|
for (let i = 0; i < spaceCounter.length; i++) {
|
||||||
const sc = (spaceCounter[i] ? spaceCounter[i] : 0);
|
const sc = (spaceCounter[i] ? spaceCounter[i] : 0);
|
||||||
max = (sc > max ? sc : max);
|
if (sc) count++;
|
||||||
total += sc;
|
total += sc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let d = 0;
|
||||||
|
const mid = total/count;
|
||||||
|
for (let i = 0; i < spaceCounter.length; i++) {
|
||||||
|
const sc = (spaceCounter[i] ? spaceCounter[i] : 0);
|
||||||
|
if (sc > mid) d++;
|
||||||
|
}
|
||||||
|
|
||||||
let i = 0;
|
let i = 0;
|
||||||
//если разброс не слишком большой
|
//если разброс не слишком большой, выделяем параграфы
|
||||||
if (total < max*2) {
|
if (d < 10 && spaceCounter.length) {
|
||||||
total /= 20;
|
total /= 20;
|
||||||
i = spaceCounter.length - 1;
|
i = spaceCounter.length - 1;
|
||||||
while (i > 0 && (!spaceCounter[i] || spaceCounter[i] < total)) i--;
|
while (i > 0 && (!spaceCounter[i] || spaceCounter[i] < total)) i--;
|
||||||
|
|||||||
Reference in New Issue
Block a user