hdoc-tools 0.17.12 → 0.17.13

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.js CHANGED
@@ -533,7 +533,7 @@
533
533
  if (!bc[relative_path.replace('.html', '')] && bc[relative_path.replace('/index.html', '')]) {
534
534
  relative_path = relative_path.replace('/index.html', '');
535
535
  }
536
-
536
+
537
537
  index_records.push({
538
538
  relative_path: relative_path,
539
539
  index_html: hdoc_index.transform_html_for_index(html_txt),
@@ -624,7 +624,7 @@
624
624
  let last_commit_date = fm_headers[i].value;
625
625
  if (last_commit_date !== 'No Commit Date Available') {
626
626
  last_commit_date = new Date(fm_headers[i].value).toDateString();
627
- }
627
+ }
628
628
  wip_doc_header = wip_doc_header.replaceAll('{{last-update}}', last_commit_date);
629
629
  break;
630
630
  }
package/hdoc-module.js CHANGED
@@ -4,9 +4,11 @@
4
4
  const axios = require('axios'),
5
5
  axiosRetry = require('axios-retry'),
6
6
  cheerio = require('cheerio'),
7
+ fs = require('fs'),
7
8
  html2text = require('html-to-text'),
8
9
  https = require('https'),
9
10
  htmlentities = require('html-entities'),
11
+ path = require('path'),
10
12
  wordsCount = require('words-count').default;
11
13
 
12
14
  let includesCache = {},
@@ -106,6 +108,7 @@
106
108
  found: 0,
107
109
  success: 0,
108
110
  failed: 0,
111
+ included: [],
109
112
  errors: []
110
113
  };
111
114
 
@@ -136,30 +139,44 @@
136
139
  }
137
140
 
138
141
  // Validate link in INCLUDE
139
- try {
140
- new URL(link);
141
- } catch (err) {
142
- response.failed++;
143
- response.errors.push(`Error validating INCLUDE link [${link}] from [${file_path}]: ${e}`);
144
- continue;
145
- }
146
-
147
142
  let file_content;
148
- try {
149
- const file_response = await axios.get(link);
150
- if (retried) {
151
- retried = false;
152
- console.log(`API call retry success!`);
143
+ if (link.startsWith('http://') || link.startsWith('https://')) {
144
+ // Remote content to include
145
+ try {
146
+ new URL(link);
147
+ } catch (e) {
148
+ response.failed++;
149
+ response.errors.push(`Error validating INCLUDE link [${link}] from [${file_path}]: ${e}`);
150
+ continue;
153
151
  }
154
- if (file_response.status === 200) {
155
- file_content = file_response.data;
156
- } else {
157
- throw `Unexpected Status ${file_response.status}`;
152
+
153
+ try {
154
+ const file_response = await axios.get(link);
155
+ if (retried) {
156
+ retried = false;
157
+ console.log(`API call retry success!`);
158
+ }
159
+ if (file_response.status === 200) {
160
+ file_content = file_response.data;
161
+ } else {
162
+ throw `Unexpected Status ${file_response.status}`;
163
+ }
164
+ } catch (e) {
165
+ response.failed++;
166
+ response.errors.push(`Error getting INCLUDE link content [${link}] from [${file_path}]: ${e}`);
167
+ continue;
158
168
  }
159
- } catch (e) {
160
- response.failed++;
161
- response.errors.push(`Error getting INCLUDE link content [${link}] from [${file_path}]: ${e}`);
162
- continue;
169
+ console.log(`Included From Remote Source: ${link}`);
170
+ } else {
171
+ // Local content to include
172
+ try {
173
+ file_content = fs.readFileSync(path.join(process.cwd(), link), 'utf8');
174
+ } catch (e) {
175
+ response.failed++;
176
+ response.errors.push(`Error getting INCLUDE file [${link}] from [${file_path}]: ${e}`);
177
+ continue;
178
+ }
179
+ console.log(`Included From Local Source: ${link}`);
163
180
  }
164
181
  response.success++;
165
182
  includesCache[link] = file_content;
package/hdoc-serve.js CHANGED
@@ -108,7 +108,7 @@
108
108
  console.error(includes_processed.errors[i]);
109
109
  }
110
110
  } else {
111
- if (includes_processed.found > 0) {
111
+ if (includes_processed.success > 0) {
112
112
  console.log(`Includes injected into document: ${includes_processed.success}`);
113
113
  }
114
114
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hdoc-tools",
3
- "version": "0.17.12",
3
+ "version": "0.17.13",
4
4
  "description": "Hornbill HDocBook Development Support Tool",
5
5
  "main": "hdoc.js",
6
6
  "bin": {