forked from rsheldon3ayers/insert-page-breaks
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsanitize.js
More file actions
101 lines (86 loc) · 2.55 KB
/
Copy pathsanitize.js
File metadata and controls
101 lines (86 loc) · 2.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
const fs = require("fs");
const fse = require('fs-extra')
const path = require("path")
const cheerio = require('cheerio');
let pdf;
const isDirectory = source => fs.lstatSync(source).isDirectory()
const getDirectories = source =>
fs.readdirSync(source).map(name => path.join(source, name)).filter(isDirectory)
let html;
let isbn = getDirectories("pdfs")
isbn.forEach(i => {
pdf = `${i}`
files = fs.readdirSync(`${i}/out`);
files.forEach(file => {
if(path.extname(file) == ".html")html = fs.readFileSync(`${i}/` + "out/" + file, 'utf-8')
if(path.extname(file) == ".html") sanitizeHTMl(html, file, i)
})
})
function sanitizeHTMl(html, file, dir) {
const $ = cheerio.load(html, {
xmlMode: true,
decodeEntities: false
});
$('span').each(function () {
$(this).replaceWith($(this).html());
$.html()
})
$('span').each(function () {
$(this).replaceWith($(this).html());
$.html()
})
$('span').each(function () {
$(this).replaceWith($(this).html());
$.html()
})
$('span').each(function () {
$(this).replaceWith($(this).html());
$.html()
})
$('span').each(function () {
$(this).replaceWith($(this).html());
$.html()
})
$('span').each(function () {
$(this).replaceWith($(this).html());
$.html()
})
$('div').filter(function () {
if ($(this).attr('class') === 'pi') $(this).remove();
$.html()
}).attr('class')
$('img').each(function () {
$(this).remove();
$.html()
})
$('div').each(function () {
if ($(this).has($('div'))) $(this).replaceWith($(this).html())
$.html()
})
$('div').each(function () {
if ($(this).html().indexOf('div') > -1) $(this).replaceWith($(this).html())
$.html()
})
$('div').each(function () {
if ($(this).html().indexOf('div') > -1) $(this).replaceWith($(this).html())
$.html()
})
$('div').each(function () {
if ($(this).html().indexOf('div') > -1) $(this).replaceWith($(this).html())
$.html()
})
$('div').each(function () {
if (!$(this).html()) {
$(this).replaceWith($(this).html())
}
$.html()
})
$('div').each(function () {
$(this).removeAttr('class').html()
})
let html2 = $.html()
let newHTML = html2.replace(/<div>/gi, '<p>')
newHTML = newHTML.replace(/<\/div>/gi, '</p>')
fs.writeFileSync(`${dir}/sanitized/${file}`,newHTML)
}
fse.emptyDirSync(`${pdf}/out`)