docgen-tool 3.3.1 → 3.5.0
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/dist/include/templates/main.html +2 -43
- package/dist/include/templates/pdfCover.html +2 -50
- package/dist/include/templates/pdfFooter.html +1 -14
- package/dist/include/templates/webCover.html +0 -30
- package/dist/package.json +74 -0
- package/dist/src/docgen/docgen.js +173 -0
- package/dist/src/docgen/execute/execute.js +63 -0
- package/dist/{docgen → src/docgen}/fs/fs.js +9 -9
- package/dist/src/docgen/fs/markdown.js +115 -0
- package/dist/src/docgen/fs/meta.js +113 -0
- package/dist/src/docgen/fs/templates.js +100 -0
- package/dist/src/docgen/fs/write-pages.js +113 -0
- package/dist/src/docgen/meta/derive-parameters.js +29 -0
- package/dist/src/docgen/meta/sort-pages.js +32 -0
- package/dist/src/docgen/pdf/wkhtmltopdf/wkhtmltopdf.js +186 -0
- package/dist/src/docgen/scaffold/scaffold.js +60 -0
- package/dist/src/docgen/types.js +2 -0
- package/dist/src/docgen/validation/validation.js +152 -0
- package/dist/src/docgen/views/components/copyright/copyright.js +17 -0
- package/dist/src/docgen/views/components/footer/footer.js +22 -0
- package/dist/src/docgen/views/components/pdf-footer/pdf-footer.js +30 -0
- package/dist/src/docgen/views/components/web-table-of-contents/web-table-of-contents.js +41 -0
- package/dist/src/docgen/views/html.js +11 -0
- package/dist/src/docgen/views/pages/cover/cover.js +71 -0
- package/dist/src/docgen/views/pages/cover/pdf-cover.js +24 -0
- package/dist/src/docgen/views/pages/main/main.js +59 -0
- package/dist/src/docgen/views/pages/process-pages.js +170 -0
- package/dist/src/docgen/views/redirect.js +83 -0
- package/package.json +11 -8
- package/dist/docgen/docgen.js +0 -1009
- /package/dist/{docgen.js → src/docgen.js} +0 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.loadMarkdown = void 0;
|
|
43
|
+
var picocolors_1 = __importDefault(require("picocolors"));
|
|
44
|
+
var fs_1 = require("./fs");
|
|
45
|
+
var markdown_it_1 = __importDefault(require("markdown-it"));
|
|
46
|
+
var markdown = new markdown_it_1.default('commonmark').enable('table');
|
|
47
|
+
//Allow CommonMark links that use other protocols, such as file:///
|
|
48
|
+
//The markdown-it implementation is more restrictive than the CommonMark spec
|
|
49
|
+
//See https://github.com/markdown-it/markdown-it/issues/108
|
|
50
|
+
markdown.validateLink = function () {
|
|
51
|
+
return true;
|
|
52
|
+
};
|
|
53
|
+
var loadMarkdown = function (_a) {
|
|
54
|
+
var contents = _a.contents, options = _a.options, mainProcess = _a.mainProcess;
|
|
55
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
56
|
+
var pages, keys_1, files_1, error_1;
|
|
57
|
+
return __generator(this, function (_b) {
|
|
58
|
+
switch (_b.label) {
|
|
59
|
+
case 0:
|
|
60
|
+
console.log(picocolors_1.default.green('Loading src files'));
|
|
61
|
+
pages = {};
|
|
62
|
+
_b.label = 1;
|
|
63
|
+
case 1:
|
|
64
|
+
_b.trys.push([1, 3, , 4]);
|
|
65
|
+
keys_1 = [];
|
|
66
|
+
files_1 = [];
|
|
67
|
+
contents.forEach(function (section) {
|
|
68
|
+
section.pages.forEach(function (page) {
|
|
69
|
+
keys_1.push(page);
|
|
70
|
+
files_1.push(options.input + '/' + page.source);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
//add the release notes page
|
|
74
|
+
keys_1.push('ownership');
|
|
75
|
+
files_1.push(options.input + '/release-notes.md');
|
|
76
|
+
return [4 /*yield*/, Promise.all(files_1.map(function (f) { return (0, fs_1.readFile)(f); }))];
|
|
77
|
+
case 2:
|
|
78
|
+
files_1 = _b.sent();
|
|
79
|
+
files_1.forEach(function (page, index) {
|
|
80
|
+
var key = keys_1[index];
|
|
81
|
+
try {
|
|
82
|
+
if (key.html === true) {
|
|
83
|
+
//allow raw HTML input pages
|
|
84
|
+
pages[key.source] = page;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
//otherwise parse input from Markdown into HTML
|
|
88
|
+
var html = markdown.render(page);
|
|
89
|
+
pages[key.source] = html;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
console.log(picocolors_1.default.red('Error parsing Markdown file: ' + key.source));
|
|
94
|
+
if (options.verbose === true) {
|
|
95
|
+
console.log(picocolors_1.default.red(error));
|
|
96
|
+
}
|
|
97
|
+
mainProcess.exit(1);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
return [2 /*return*/, pages];
|
|
101
|
+
case 3:
|
|
102
|
+
error_1 = _b.sent();
|
|
103
|
+
console.log(error_1);
|
|
104
|
+
console.log(picocolors_1.default.red('Error loading src files'));
|
|
105
|
+
if (options.verbose === true) {
|
|
106
|
+
console.log(picocolors_1.default.red(error_1));
|
|
107
|
+
}
|
|
108
|
+
mainProcess.exit(1);
|
|
109
|
+
return [3 /*break*/, 4];
|
|
110
|
+
case 4: return [2 /*return*/];
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
exports.loadMarkdown = loadMarkdown;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.loadMeta = void 0;
|
|
43
|
+
var picocolors_1 = __importDefault(require("picocolors"));
|
|
44
|
+
var fs_1 = require("./fs");
|
|
45
|
+
var validation_1 = require("../validation/validation");
|
|
46
|
+
var loadMeta = function (_a) {
|
|
47
|
+
var inputPath = _a.inputPath, verbose = _a.verbose, mainProcess = _a.mainProcess;
|
|
48
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
49
|
+
var meta, files, key, file, extra, error_1;
|
|
50
|
+
var _b;
|
|
51
|
+
return __generator(this, function (_c) {
|
|
52
|
+
switch (_c.label) {
|
|
53
|
+
case 0:
|
|
54
|
+
meta = {
|
|
55
|
+
parameters: null,
|
|
56
|
+
contents: null,
|
|
57
|
+
};
|
|
58
|
+
console.log(picocolors_1.default.green('Loading required JSON metadata files'));
|
|
59
|
+
_c.label = 1;
|
|
60
|
+
case 1:
|
|
61
|
+
_c.trys.push([1, 4, , 5]);
|
|
62
|
+
_b = {};
|
|
63
|
+
return [4 /*yield*/, (0, fs_1.readFile)(inputPath + '/parameters.json')];
|
|
64
|
+
case 2:
|
|
65
|
+
_b.parameters = _c.sent();
|
|
66
|
+
return [4 /*yield*/, (0, fs_1.readFile)(inputPath + '/contents.json')];
|
|
67
|
+
case 3:
|
|
68
|
+
files = (_b.contents = _c.sent(),
|
|
69
|
+
_b);
|
|
70
|
+
for (key in files) {
|
|
71
|
+
if (files.hasOwnProperty(key)) {
|
|
72
|
+
try {
|
|
73
|
+
file = JSON.parse(files[key]);
|
|
74
|
+
if ((0, validation_1.validateJSON)({ key: key, data: file, verbose: verbose })) {
|
|
75
|
+
meta[key] = file;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
mainProcess.exit(1);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
console.log(picocolors_1.default.red('Error parsing required file: ' + key + '.json (invalid JSON)'));
|
|
83
|
+
if (verbose === true) {
|
|
84
|
+
console.log(picocolors_1.default.red(error));
|
|
85
|
+
}
|
|
86
|
+
mainProcess.exit(1);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
extra = {
|
|
91
|
+
heading: 'Extra',
|
|
92
|
+
column: 5,
|
|
93
|
+
pages: [{ title: 'Release notes', source: 'release-notes.md' }],
|
|
94
|
+
};
|
|
95
|
+
meta.contents.push(extra);
|
|
96
|
+
return [2 /*return*/, {
|
|
97
|
+
rawParameters: meta.parameters,
|
|
98
|
+
contents: meta.contents
|
|
99
|
+
}];
|
|
100
|
+
case 4:
|
|
101
|
+
error_1 = _c.sent();
|
|
102
|
+
console.log(picocolors_1.default.red('Error loading required JSON metadata files'));
|
|
103
|
+
if (verbose === true) {
|
|
104
|
+
console.log(picocolors_1.default.red(error_1));
|
|
105
|
+
}
|
|
106
|
+
mainProcess.exit(1);
|
|
107
|
+
return [3 /*break*/, 5];
|
|
108
|
+
case 5: return [2 /*return*/];
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
exports.loadMeta = loadMeta;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.loadTemplates = void 0;
|
|
43
|
+
var picocolors_1 = __importDefault(require("picocolors"));
|
|
44
|
+
var cheerio_1 = __importDefault(require("cheerio"));
|
|
45
|
+
var fs_1 = require("./fs");
|
|
46
|
+
var loadTemplates = function (_a) {
|
|
47
|
+
var options = _a.options, mainProcess = _a.mainProcess;
|
|
48
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
49
|
+
var templates, files, key, file, dom, error_1;
|
|
50
|
+
var _b;
|
|
51
|
+
return __generator(this, function (_c) {
|
|
52
|
+
switch (_c.label) {
|
|
53
|
+
case 0:
|
|
54
|
+
templates = {};
|
|
55
|
+
console.log(picocolors_1.default.green('Loading templates'));
|
|
56
|
+
_c.label = 1;
|
|
57
|
+
case 1:
|
|
58
|
+
_c.trys.push([1, 8, , 9]);
|
|
59
|
+
_b = {};
|
|
60
|
+
return [4 /*yield*/, (0, fs_1.readFile)(__dirname + '/../../include/templates/main.html')];
|
|
61
|
+
case 2:
|
|
62
|
+
_b.main = _c.sent();
|
|
63
|
+
return [4 /*yield*/, (0, fs_1.readFile)(__dirname + '/../../include/templates/redirect.html')];
|
|
64
|
+
case 3:
|
|
65
|
+
_b.redirect = _c.sent();
|
|
66
|
+
return [4 /*yield*/, (0, fs_1.readFile)(__dirname + '/../../include/templates/webCover.html')];
|
|
67
|
+
case 4:
|
|
68
|
+
_b.webCover = _c.sent();
|
|
69
|
+
return [4 /*yield*/, (0, fs_1.readFile)(__dirname + '/../../include/templates/pdfCover.html')];
|
|
70
|
+
case 5:
|
|
71
|
+
_b.pdfCover = _c.sent();
|
|
72
|
+
return [4 /*yield*/, (0, fs_1.readFile)(__dirname + '/../../include/templates/pdfHeader.html')];
|
|
73
|
+
case 6:
|
|
74
|
+
_b.pdfHeader = _c.sent();
|
|
75
|
+
return [4 /*yield*/, (0, fs_1.readFile)(__dirname + '/../../include/templates/pdfFooter.html')];
|
|
76
|
+
case 7:
|
|
77
|
+
files = (_b.pdfFooter = _c.sent(),
|
|
78
|
+
_b);
|
|
79
|
+
for (key in files) {
|
|
80
|
+
if (files.hasOwnProperty(key)) {
|
|
81
|
+
file = files[key];
|
|
82
|
+
dom = cheerio_1.default.load(file);
|
|
83
|
+
templates[key] = dom;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return [2 /*return*/, templates];
|
|
87
|
+
case 8:
|
|
88
|
+
error_1 = _c.sent();
|
|
89
|
+
console.log(picocolors_1.default.red('Error loading templates'));
|
|
90
|
+
if (options.verbose === true) {
|
|
91
|
+
console.log(picocolors_1.default.red(error_1));
|
|
92
|
+
}
|
|
93
|
+
mainProcess.exit(1);
|
|
94
|
+
return [3 /*break*/, 9];
|
|
95
|
+
case 9: return [2 /*return*/];
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
exports.loadTemplates = loadTemplates;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.writePages = void 0;
|
|
43
|
+
var picocolors_1 = __importDefault(require("picocolors"));
|
|
44
|
+
var fs_1 = require("./fs");
|
|
45
|
+
var writePages = function (_a) {
|
|
46
|
+
var options = _a.options, hydratedPages = _a.hydratedPages, contents = _a.contents, mainProcess = _a.mainProcess;
|
|
47
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
48
|
+
var promises, pdfTempDir, error_1;
|
|
49
|
+
return __generator(this, function (_b) {
|
|
50
|
+
switch (_b.label) {
|
|
51
|
+
case 0:
|
|
52
|
+
console.log(picocolors_1.default.green('Writing the web page files'));
|
|
53
|
+
_b.label = 1;
|
|
54
|
+
case 1:
|
|
55
|
+
_b.trys.push([1, 13, , 14]);
|
|
56
|
+
promises = contents.flatMap(function (section) {
|
|
57
|
+
return section.pages.map(function (page) {
|
|
58
|
+
var key = page.source;
|
|
59
|
+
var name = key.substr(0, page.source.lastIndexOf('.'));
|
|
60
|
+
var path = options.output + name + '.html';
|
|
61
|
+
var html = hydratedPages.pages[key];
|
|
62
|
+
return (0, fs_1.writeFile)(path, html);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
return [4 /*yield*/, Promise.all(promises)];
|
|
66
|
+
case 2:
|
|
67
|
+
_b.sent();
|
|
68
|
+
//add extra files
|
|
69
|
+
return [4 /*yield*/, (0, fs_1.writeFile)(options.output + 'ownership.html', hydratedPages.webCover)];
|
|
70
|
+
case 3:
|
|
71
|
+
//add extra files
|
|
72
|
+
_b.sent();
|
|
73
|
+
if (!options.pdf) return [3 /*break*/, 8];
|
|
74
|
+
pdfTempDir = options.output + 'temp/';
|
|
75
|
+
return [4 /*yield*/, (0, fs_1.makeDirectory)(pdfTempDir)];
|
|
76
|
+
case 4:
|
|
77
|
+
_b.sent();
|
|
78
|
+
return [4 /*yield*/, (0, fs_1.writeFile)(pdfTempDir + 'pdfCover.html', hydratedPages.pdfCover)];
|
|
79
|
+
case 5:
|
|
80
|
+
_b.sent();
|
|
81
|
+
return [4 /*yield*/, (0, fs_1.writeFile)(pdfTempDir + 'pdfHeader.html', hydratedPages.pdfHeader)];
|
|
82
|
+
case 6:
|
|
83
|
+
_b.sent();
|
|
84
|
+
return [4 /*yield*/, (0, fs_1.writeFile)(pdfTempDir + 'pdfFooter.html', hydratedPages.pdfFooter)];
|
|
85
|
+
case 7:
|
|
86
|
+
_b.sent();
|
|
87
|
+
_b.label = 8;
|
|
88
|
+
case 8: return [4 /*yield*/, (0, fs_1.copyDirectory)(__dirname + '/../../include/require', options.output + 'require', options.verbose)];
|
|
89
|
+
case 9:
|
|
90
|
+
_b.sent(); //CSS, JavaScript
|
|
91
|
+
return [4 /*yield*/, (0, fs_1.copyDirectory)(options.input + 'files', options.output + 'files', options.verbose)];
|
|
92
|
+
case 10:
|
|
93
|
+
_b.sent(); //user-attached files and images
|
|
94
|
+
if (!(options.mathKatex === true)) return [3 /*break*/, 12];
|
|
95
|
+
return [4 /*yield*/, (0, fs_1.copyDirectory)(__dirname + '/../../include/optional/katex', options.output + 'require/katex', options.verbose)];
|
|
96
|
+
case 11:
|
|
97
|
+
_b.sent();
|
|
98
|
+
_b.label = 12;
|
|
99
|
+
case 12: return [3 /*break*/, 14];
|
|
100
|
+
case 13:
|
|
101
|
+
error_1 = _b.sent();
|
|
102
|
+
console.log(picocolors_1.default.red('Error writing the web page files'));
|
|
103
|
+
if (options.verbose === true) {
|
|
104
|
+
console.log(picocolors_1.default.red(error_1));
|
|
105
|
+
}
|
|
106
|
+
mainProcess.exit(1);
|
|
107
|
+
return [3 /*break*/, 14];
|
|
108
|
+
case 14: return [2 /*return*/];
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
};
|
|
113
|
+
exports.writePages = writePages;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.deriveParameters = void 0;
|
|
15
|
+
var deriveParameters = function (_a) {
|
|
16
|
+
var rawParameters = _a.rawParameters, setVersion = _a.setVersion, setReleaseDate = _a.setReleaseDate, homeLink = _a.homeLink;
|
|
17
|
+
var version = setVersion || rawParameters.version;
|
|
18
|
+
var releaseDate = setReleaseDate || rawParameters.date;
|
|
19
|
+
//the homepage is the first link in the first heading
|
|
20
|
+
var homePagePath = "".concat(homeLink.source.slice(0, homeLink.source.lastIndexOf('.')), ".html");
|
|
21
|
+
var currentDate = new Date();
|
|
22
|
+
var date = currentDate.toLocaleDateString('en-GB'); // 'DD/MM/YYYY'
|
|
23
|
+
var time = currentDate.toLocaleTimeString('en-US', { hour12: false }); // 'HH:mm:ss'
|
|
24
|
+
var year = currentDate.getFullYear().toString(); // 'YYYY'
|
|
25
|
+
var attribution = "Created by DocGen ".concat(version, " on ").concat(date, " at ").concat(time, ".");
|
|
26
|
+
var webFooter = "Version ".concat(version, " released on ").concat(releaseDate);
|
|
27
|
+
return __assign(__assign({}, rawParameters), { attribution: attribution, year: year, webFooter: webFooter, version: version, releaseDate: releaseDate, homePagePath: homePagePath });
|
|
28
|
+
};
|
|
29
|
+
exports.deriveParameters = deriveParameters;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.sortPages = void 0;
|
|
24
|
+
var sortPages = function (_a) {
|
|
25
|
+
var contents = _a.contents;
|
|
26
|
+
return contents.reduce(function (acc, section) {
|
|
27
|
+
var _a;
|
|
28
|
+
var column = section.column;
|
|
29
|
+
return __assign(__assign({}, acc), (_a = {}, _a[column] = __spreadArray(__spreadArray([], (acc[column] || []), true), [section], false), _a));
|
|
30
|
+
}, { 1: [], 2: [], 3: [], 4: [], 5: [] });
|
|
31
|
+
};
|
|
32
|
+
exports.sortPages = sortPages;
|