hdoc-tools 0.17.10 → 0.17.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/hdoc-build-pdf.js CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  // Use cheerio to parse html
40
40
  const $ = cheerio.load(html_source);
41
-
41
+
42
42
  // Get iFrames from HTML, to replace with a tags
43
43
  let iframes = [];
44
44
  const iframe_html = $('iframe').map(function () {
@@ -55,7 +55,7 @@
55
55
  const regex = new RegExp(`<iframe.*src="${iframes[i].src.replace('/', '\\/')}".*</iframe>`);
56
56
  html_source = html_source.replace(regex, link);
57
57
  }
58
-
58
+
59
59
  // Get image links from HTML, to embed into the pdf
60
60
  let imgs = [];
61
61
  const srcs = $('img').map(function (i) {
@@ -64,18 +64,18 @@
64
64
  imgs.push(...srcs);
65
65
  for (let i = 0; i < imgs.length; i++) {
66
66
  if (!hdoc.valid_url(imgs[i])) {
67
- // Internal link
68
- const image_path = path.join(book_work_root, imgs[i].replace('_books/', ''));
69
- try {
70
- const image_buffer = fs.readFileSync(image_path);
71
- const mime_type = mime.lookup(image_path);
72
- let image_b64 = image_buffer.toString("base64");
73
- image_b64 = `data:${mime_type};base64,${image_b64}`;
74
- html_source = html_source.replace(imgs[i], image_b64);
75
- } catch (err) {
76
- console.log('Error reading image from HTML source [', image_path, '] -', err);
77
- return null;
78
- }
67
+ // Internal link
68
+ const image_path = path.join(book_work_root, imgs[i].replace('_books/', ''));
69
+ try {
70
+ const image_buffer = fs.readFileSync(image_path);
71
+ const mime_type = mime.lookup(image_path);
72
+ let image_b64 = image_buffer.toString("base64");
73
+ image_b64 = `data:${mime_type};base64,${image_b64}`;
74
+ html_source = html_source.replace(imgs[i], image_b64);
75
+ } catch (err) {
76
+ console.log('Error reading image from HTML source [', image_path, '] -', err);
77
+ return null;
78
+ }
79
79
  } else {
80
80
  // External Link
81
81
  try {
@@ -100,7 +100,7 @@
100
100
 
101
101
  exports.generate_pdf = async function (browser, pdf_template_path, pdf_template_content, book_config, html_source, target_file, css_templates, verbose = false) {
102
102
  let pdf_size = 0;
103
-
103
+
104
104
  // Cache footer
105
105
  if (footer === '') footer = get_footer(pdf_template_path);
106
106
 
package/hdoc-module.js CHANGED
@@ -6,6 +6,7 @@
6
6
  cheerio = require('cheerio'),
7
7
  html2text = require('html-to-text'),
8
8
  https = require('https'),
9
+ htmlentities = require('html-entities'),
9
10
  wordsCount = require('words-count').default;
10
11
 
11
12
  let includesCache = {},
@@ -204,6 +205,9 @@
204
205
  if (/^".*"$/.test(prop_val)) {
205
206
  prop_val = prop_val.substring(1, prop_val.length - 1);
206
207
  }
208
+ if (property_details[0].trim().toLowerCase() === 'title') {
209
+ prop_val = htmlentities.decode(prop_val);
210
+ }
207
211
  response.fm_properties[property_details[0].trim().toLowerCase()] = prop_val;
208
212
  }
209
213
  }
@@ -214,6 +218,7 @@
214
218
  }
215
219
  });
216
220
  }
221
+
217
222
  return response;
218
223
  };
219
224
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hdoc-tools",
3
- "version": "0.17.10",
3
+ "version": "0.17.12",
4
4
  "description": "Hornbill HDocBook Development Support Tool",
5
5
  "main": "hdoc.js",
6
6
  "bin": {
@@ -45,6 +45,7 @@
45
45
  "dree": "^3.4.2",
46
46
  "express": "^4.18.2",
47
47
  "fs-extra": "^11.1.0",
48
+ "html-entities": "^2.4.0",
48
49
  "html-to-text": "^8.2.1",
49
50
  "js-yaml": "^4.1.0",
50
51
  "markdown-it": "^13.0.1",
@@ -53,7 +54,7 @@
53
54
  "mime-types": "^2.1.35",
54
55
  "multer": "^1.4.5-lts.1",
55
56
  "prompt": "^1.3.0",
56
- "puppeteer": "^21.6.0",
57
+ "puppeteer": "^21.11.0",
57
58
  "retry": "^0.13.1",
58
59
  "stream": "0.0.2",
59
60
  "true-case-path": "^2.2.1",
@@ -61,4 +62,4 @@
61
62
  "xml-formatter": "^3.6.0",
62
63
  "zip-a-folder": "^1.1.5"
63
64
  }
64
- }
65
+ }
@@ -451,4 +451,37 @@ video {
451
451
 
452
452
  code {
453
453
  font-size: 0.9em;
454
+ }
455
+
456
+ /* From Bootstrap 5, text color decorations */
457
+ .text-primary {
458
+ color: #0d6efd !important;
459
+ }
460
+
461
+ .text-secondary {
462
+ color: #6c757d !important;
463
+ }
464
+
465
+ .text-success {
466
+ color: #198754 !important;
467
+ }
468
+
469
+ .text-info {
470
+ color: #0dcaf0 !important;
471
+ }
472
+
473
+ .text-warning {
474
+ color: #ffc107 !important;
475
+ }
476
+
477
+ .text-danger {
478
+ color: #dc3545 !important;
479
+ }
480
+
481
+ .text-light {
482
+ color: #f8f9fa !important;
483
+ }
484
+
485
+ .text-dark {
486
+ color: #212529 !important;
454
487
  }