fix
This commit is contained in:
14
book/node_modules/honkit/lib/output/Generator.d.ts
generated
vendored
Normal file
14
book/node_modules/honkit/lib/output/Generator.d.ts
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
import Output from "../models/output";
|
||||
import type Page from "../models/page";
|
||||
import TemplateEngine from "../models/templateEngine";
|
||||
export type Generator = {
|
||||
name: string;
|
||||
State: unknown;
|
||||
Options: unknown;
|
||||
onInit: (output: Output) => Output;
|
||||
onFinish: (output: Output) => Output;
|
||||
onPage: (output: Output, page: Page) => Output;
|
||||
onAsset?: (output: Output, asset: string) => Output;
|
||||
createTemplateEngine?: (output: Output, currentFile: string) => TemplateEngine;
|
||||
};
|
||||
//# sourceMappingURL=Generator.d.ts.map
|
1
book/node_modules/honkit/lib/output/Generator.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/Generator.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"Generator.d.ts","sourceRoot":"","sources":["../../src/output/Generator.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,cAAc,MAAM,0BAA0B,CAAC;AAItD,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,cAAc,CAAC;CAClF,CAAC"}
|
2
book/node_modules/honkit/lib/output/Generator.js
generated
vendored
Normal file
2
book/node_modules/honkit/lib/output/Generator.js
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
12
book/node_modules/honkit/lib/output/callHook.d.ts
generated
vendored
Normal file
12
book/node_modules/honkit/lib/output/callHook.d.ts
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
/**
|
||||
Call a "global" hook for an output
|
||||
|
||||
@param {string} name
|
||||
@param {Function(Output) -> Mixed} getArgument
|
||||
@param {Function(Output, result) -> Output} handleResult
|
||||
@param {Output} output
|
||||
@return {Promise<Output>}
|
||||
*/
|
||||
declare function callHook(name: any, getArgument: any, handleResult: any, output: any): any;
|
||||
export default callHook;
|
||||
//# sourceMappingURL=callHook.d.ts.map
|
1
book/node_modules/honkit/lib/output/callHook.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/callHook.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"callHook.d.ts","sourceRoot":"","sources":["../../src/output/callHook.ts"],"names":[],"mappings":"AAYA;;;;;;;;GAQG;AAEH,iBAAS,QAAQ,CAAC,IAAI,KAAA,EAAE,WAAW,KAAA,EAAE,YAAY,KAAA,EAAE,MAAM,KAAA,OAuCxD;AAED,eAAe,QAAQ,CAAC"}
|
51
book/node_modules/honkit/lib/output/callHook.js
generated
vendored
Normal file
51
book/node_modules/honkit/lib/output/callHook.js
generated
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const promise_1 = __importDefault(require("../utils/promise"));
|
||||
const timing_1 = __importDefault(require("../utils/timing"));
|
||||
const api_1 = __importDefault(require("../api"));
|
||||
function defaultGetArgument() {
|
||||
return undefined;
|
||||
}
|
||||
function defaultHandleResult(output, result) {
|
||||
return output;
|
||||
}
|
||||
/**
|
||||
Call a "global" hook for an output
|
||||
|
||||
@param {string} name
|
||||
@param {Function(Output) -> Mixed} getArgument
|
||||
@param {Function(Output, result) -> Output} handleResult
|
||||
@param {Output} output
|
||||
@return {Promise<Output>}
|
||||
*/
|
||||
function callHook(name, getArgument, handleResult, output) {
|
||||
getArgument = getArgument || defaultGetArgument;
|
||||
handleResult = handleResult || defaultHandleResult;
|
||||
const logger = output.getLogger();
|
||||
const plugins = output.getPlugins();
|
||||
logger.debug.ln(`calling hook "${name}"`);
|
||||
// Create the JS context for plugins
|
||||
const context = api_1.default.encodeGlobal(output);
|
||||
return timing_1.default.measure(`call.hook.${name}`,
|
||||
// Get the arguments
|
||||
(0, promise_1.default)(getArgument(output))
|
||||
// Call the hooks in serie
|
||||
.then((arg) => {
|
||||
return promise_1.default.reduce(plugins, (prev, plugin) => {
|
||||
const hook = plugin.getHook(name);
|
||||
if (!hook) {
|
||||
return prev;
|
||||
}
|
||||
return hook.call(context, prev);
|
||||
}, arg);
|
||||
})
|
||||
// Handle final result
|
||||
.then((result) => {
|
||||
output = api_1.default.decodeGlobal(output, context);
|
||||
return handleResult(output, result);
|
||||
}));
|
||||
}
|
||||
exports.default = callHook;
|
11
book/node_modules/honkit/lib/output/callPageHook.d.ts
generated
vendored
Normal file
11
book/node_modules/honkit/lib/output/callPageHook.d.ts
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
/**
|
||||
Call a hook for a specific page
|
||||
|
||||
@param {string} name
|
||||
@param {Output} output
|
||||
@param {Page} page
|
||||
@return {Promise<Page>}
|
||||
*/
|
||||
declare function callPageHook(name: any, output: any, page: any): any;
|
||||
export default callPageHook;
|
||||
//# sourceMappingURL=callPageHook.d.ts.map
|
1
book/node_modules/honkit/lib/output/callPageHook.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/callPageHook.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"callPageHook.d.ts","sourceRoot":"","sources":["../../src/output/callPageHook.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,iBAAS,YAAY,CAAC,IAAI,KAAA,EAAE,MAAM,KAAA,EAAE,IAAI,KAAA,OAcvC;AAED,eAAe,YAAY,CAAC"}
|
23
book/node_modules/honkit/lib/output/callPageHook.js
generated
vendored
Normal file
23
book/node_modules/honkit/lib/output/callPageHook.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const api_1 = __importDefault(require("../api"));
|
||||
const callHook_1 = __importDefault(require("./callHook"));
|
||||
/**
|
||||
Call a hook for a specific page
|
||||
|
||||
@param {string} name
|
||||
@param {Output} output
|
||||
@param {Page} page
|
||||
@return {Promise<Page>}
|
||||
*/
|
||||
function callPageHook(name, output, page) {
|
||||
return (0, callHook_1.default)(name, (out) => {
|
||||
return api_1.default.encodePage(out, page);
|
||||
}, (out, result) => {
|
||||
return api_1.default.decodePage(out, page, result);
|
||||
}, output);
|
||||
}
|
||||
exports.default = callPageHook;
|
11
book/node_modules/honkit/lib/output/createTemplateEngine.d.ts
generated
vendored
Normal file
11
book/node_modules/honkit/lib/output/createTemplateEngine.d.ts
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
import TemplateEngine from "../models/templateEngine";
|
||||
/**
|
||||
Create template engine for an output.
|
||||
It adds default filters/blocks, then add the ones from plugins
|
||||
|
||||
@param {Output} output
|
||||
@return {TemplateEngine}
|
||||
*/
|
||||
declare function createTemplateEngine(output: any): TemplateEngine;
|
||||
export default createTemplateEngine;
|
||||
//# sourceMappingURL=createTemplateEngine.d.ts.map
|
1
book/node_modules/honkit/lib/output/createTemplateEngine.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/createTemplateEngine.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"createTemplateEngine.d.ts","sourceRoot":"","sources":["../../src/output/createTemplateEngine.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,0BAA0B,CAAC;AAMtD;;;;;;GAMG;AAEH,iBAAS,oBAAoB,CAAC,MAAM,KAAA,kBA2BnC;AAED,eAAe,oBAAoB,CAAC"}
|
42
book/node_modules/honkit/lib/output/createTemplateEngine.js
generated
vendored
Normal file
42
book/node_modules/honkit/lib/output/createTemplateEngine.js
generated
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const templating_1 = __importDefault(require("../templating"));
|
||||
const templateEngine_1 = __importDefault(require("../models/templateEngine"));
|
||||
const api_1 = __importDefault(require("../api"));
|
||||
const plugins_1 = __importDefault(require("../plugins"));
|
||||
const defaultBlocks_1 = __importDefault(require("../constants/defaultBlocks"));
|
||||
const defaultFilters_1 = __importDefault(require("../constants/defaultFilters"));
|
||||
/**
|
||||
Create template engine for an output.
|
||||
It adds default filters/blocks, then add the ones from plugins
|
||||
|
||||
@param {Output} output
|
||||
@return {TemplateEngine}
|
||||
*/
|
||||
function createTemplateEngine(output) {
|
||||
const plugins = output.getPlugins();
|
||||
const book = output.getBook();
|
||||
const rootFolder = book.getContentRoot();
|
||||
const logger = book.getLogger();
|
||||
let filters = plugins_1.default.listFilters(plugins);
|
||||
let blocks = plugins_1.default.listBlocks(plugins);
|
||||
// Extend with default
|
||||
blocks = defaultBlocks_1.default.merge(blocks);
|
||||
filters = defaultFilters_1.default.merge(filters);
|
||||
// Create loader
|
||||
const transformFn = templating_1.default.replaceShortcuts.bind(null, blocks);
|
||||
// @ts-expect-error: Expected 0 arguments, but got 3.
|
||||
const loader = new templating_1.default.ConrefsLoader(rootFolder, transformFn, logger);
|
||||
// Create API context
|
||||
const context = api_1.default.encodeGlobal(output);
|
||||
return new templateEngine_1.default({
|
||||
filters: filters,
|
||||
blocks: blocks,
|
||||
loader: loader,
|
||||
context: context
|
||||
});
|
||||
}
|
||||
exports.default = createTemplateEngine;
|
9
book/node_modules/honkit/lib/output/ebook/getConvertOptions.d.ts
generated
vendored
Normal file
9
book/node_modules/honkit/lib/output/ebook/getConvertOptions.d.ts
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
/**
|
||||
Generate options for ebook-convert
|
||||
|
||||
@param {Output}
|
||||
@return {Promise<Object>}
|
||||
*/
|
||||
declare function getConvertOptions(output: any): any;
|
||||
export default getConvertOptions;
|
||||
//# sourceMappingURL=getConvertOptions.d.ts.map
|
1
book/node_modules/honkit/lib/output/ebook/getConvertOptions.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/ebook/getConvertOptions.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"getConvertOptions.d.ts","sourceRoot":"","sources":["../../../src/output/ebook/getConvertOptions.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH,iBAAS,iBAAiB,CAAC,MAAM,KAAA,OA8DhC;AAED,eAAe,iBAAiB,CAAC"}
|
69
book/node_modules/honkit/lib/output/ebook/getConvertOptions.js
generated
vendored
Normal file
69
book/node_modules/honkit/lib/output/ebook/getConvertOptions.js
generated
vendored
Normal file
@ -0,0 +1,69 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const extend_1 = __importDefault(require("extend"));
|
||||
const promise_1 = __importDefault(require("../../utils/promise"));
|
||||
const getPDFTemplate_1 = __importDefault(require("./getPDFTemplate"));
|
||||
const getCoverPath_1 = __importDefault(require("./getCoverPath"));
|
||||
/**
|
||||
Generate options for ebook-convert
|
||||
|
||||
@param {Output}
|
||||
@return {Promise<Object>}
|
||||
*/
|
||||
function getConvertOptions(output) {
|
||||
const options = output.getOptions();
|
||||
const format = options.get("format");
|
||||
const book = output.getBook();
|
||||
const config = book.getConfig();
|
||||
return (0, promise_1.default)().then(() => {
|
||||
const coverPath = (0, getCoverPath_1.default)(output);
|
||||
let options = {
|
||||
"--cover": coverPath,
|
||||
"--title": config.getValue("title"),
|
||||
"--comments": config.getValue("description"),
|
||||
"--isbn": config.getValue("isbn"),
|
||||
"--authors": config.getValue("author"),
|
||||
"--author-sort": config.getValue("authorSort"),
|
||||
"--language": book.getLanguage() || config.getValue("language"),
|
||||
"--book-producer": config.getValue("producer") || "HonKit",
|
||||
"--publisher": config.getValue("publisher") || "HonKit",
|
||||
"--pubdate": config.getValue("pubdate"),
|
||||
"--series": config.getValue("series"),
|
||||
"--series-index": config.getValue("seriesIndex"),
|
||||
"--chapter": "descendant-or-self::*[contains(concat(' ', normalize-space(@class), ' '), ' book-chapter ')]",
|
||||
"--level1-toc": "descendant-or-self::*[contains(concat(' ', normalize-space(@class), ' '), ' book-chapter-1 ')]",
|
||||
"--level2-toc": "descendant-or-self::*[contains(concat(' ', normalize-space(@class), ' '), ' book-chapter-2 ')]",
|
||||
"--level3-toc": "descendant-or-self::*[contains(concat(' ', normalize-space(@class), ' '), ' book-chapter-3 ')]",
|
||||
"--max-levels": "1",
|
||||
"--no-chapters-in-toc": true,
|
||||
"--breadth-first": true,
|
||||
"--dont-split-on-page-breaks": format === "epub" ? true : undefined
|
||||
};
|
||||
if (format !== "pdf") {
|
||||
return options;
|
||||
}
|
||||
return promise_1.default.all([(0, getPDFTemplate_1.default)(output, "header"), (0, getPDFTemplate_1.default)(output, "footer")]).spread((headerTpl, footerTpl) => {
|
||||
const pdfOptions = config.getValue("pdf").toJS();
|
||||
return (options = (0, extend_1.default)(options, {
|
||||
"--chapter-mark": String(pdfOptions.chapterMark),
|
||||
"--page-breaks-before": String(pdfOptions.pageBreaksBefore),
|
||||
"--pdf-page-margin-left": String(pdfOptions.margin.left),
|
||||
"--pdf-page-margin-right": String(pdfOptions.margin.right),
|
||||
"--pdf-page-margin-top": String(pdfOptions.margin.top),
|
||||
"--pdf-page-margin-bottom": String(pdfOptions.margin.bottom),
|
||||
"--pdf-default-font-size": String(pdfOptions.fontSize),
|
||||
"--pdf-mono-font-size": String(pdfOptions.fontSize),
|
||||
"--paper-size": String(pdfOptions.paperSize),
|
||||
"--pdf-page-numbers": Boolean(pdfOptions.pageNumbers),
|
||||
"--pdf-sans-family": String(pdfOptions.fontFamily),
|
||||
"--pdf-header-template": headerTpl,
|
||||
"--pdf-footer-template": footerTpl,
|
||||
"--embed-all-fonts": Boolean(pdfOptions.embedFonts)
|
||||
}));
|
||||
});
|
||||
});
|
||||
}
|
||||
exports.default = getConvertOptions;
|
9
book/node_modules/honkit/lib/output/ebook/getCoverPath.d.ts
generated
vendored
Normal file
9
book/node_modules/honkit/lib/output/ebook/getCoverPath.d.ts
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
/**
|
||||
Resolve path to cover file to use
|
||||
|
||||
@param {Output}
|
||||
@return {string}
|
||||
*/
|
||||
declare function getCoverPath(output: any): string;
|
||||
export default getCoverPath;
|
||||
//# sourceMappingURL=getCoverPath.d.ts.map
|
1
book/node_modules/honkit/lib/output/ebook/getCoverPath.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/ebook/getCoverPath.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"getCoverPath.d.ts","sourceRoot":"","sources":["../../../src/output/ebook/getCoverPath.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,iBAAS,YAAY,CAAC,MAAM,KAAA,UAkB3B;AAED,eAAe,YAAY,CAAC"}
|
30
book/node_modules/honkit/lib/output/ebook/getCoverPath.js
generated
vendored
Normal file
30
book/node_modules/honkit/lib/output/ebook/getCoverPath.js
generated
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const fs_1 = __importDefault(require("../../utils/fs"));
|
||||
/**
|
||||
Resolve path to cover file to use
|
||||
|
||||
@param {Output}
|
||||
@return {string}
|
||||
*/
|
||||
function getCoverPath(output) {
|
||||
const outputRoot = output.getRoot();
|
||||
const book = output.getBook();
|
||||
const config = book.getConfig();
|
||||
const coverName = config.getValue("cover", "cover.jpg");
|
||||
// Resolve to absolute
|
||||
let cover = fs_1.default.pickFile(outputRoot, coverName);
|
||||
if (cover) {
|
||||
return cover;
|
||||
}
|
||||
// Multilingual? try parent folder
|
||||
if (book.isLanguageBook()) {
|
||||
cover = fs_1.default.pickFile(path_1.default.join(outputRoot, ".."), coverName);
|
||||
}
|
||||
return cover;
|
||||
}
|
||||
exports.default = getCoverPath;
|
10
book/node_modules/honkit/lib/output/ebook/getPDFTemplate.d.ts
generated
vendored
Normal file
10
book/node_modules/honkit/lib/output/ebook/getPDFTemplate.d.ts
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/**
|
||||
Generate PDF header/footer templates
|
||||
|
||||
@param {Output} output
|
||||
@param {string} type
|
||||
@return {string}
|
||||
*/
|
||||
declare function getPDFTemplate(output: any, type: any): any;
|
||||
export default getPDFTemplate;
|
||||
//# sourceMappingURL=getPDFTemplate.d.ts.map
|
1
book/node_modules/honkit/lib/output/ebook/getPDFTemplate.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/ebook/getPDFTemplate.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"getPDFTemplate.d.ts","sourceRoot":"","sources":["../../../src/output/ebook/getPDFTemplate.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AAEH,iBAAS,cAAc,CAAC,MAAM,KAAA,EAAE,IAAI,KAAA,OA2BnC;AAED,eAAe,cAAc,CAAC"}
|
42
book/node_modules/honkit/lib/output/ebook/getPDFTemplate.js
generated
vendored
Normal file
42
book/node_modules/honkit/lib/output/ebook/getPDFTemplate.js
generated
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const juice_1 = __importDefault(require("juice"));
|
||||
const website_1 = __importDefault(require("../website"));
|
||||
const json_1 = __importDefault(require("../../json"));
|
||||
const templating_1 = __importDefault(require("../../templating"));
|
||||
const promise_1 = __importDefault(require("../../utils/promise"));
|
||||
/**
|
||||
Generate PDF header/footer templates
|
||||
|
||||
@param {Output} output
|
||||
@param {string} type
|
||||
@return {string}
|
||||
*/
|
||||
function getPDFTemplate(output, type) {
|
||||
const filePath = `pdf_${type}.html`;
|
||||
const outputRoot = output.getRoot();
|
||||
const engine = website_1.default.createTemplateEngine(output, filePath);
|
||||
// Generate context
|
||||
const context = json_1.default.encodeOutput(output);
|
||||
// @ts-expect-error ts-migrate(2339) FIXME: Property 'page' does not exist on type '{ summary:... Remove this comment to see the full error message
|
||||
context.page = {
|
||||
num: "_PAGENUM_",
|
||||
title: "_SECTION_"
|
||||
};
|
||||
// Render the theme
|
||||
return (templating_1.default.renderFile(engine, `ebook/${filePath}`, context)
|
||||
// Inline css and assets
|
||||
.then((tplOut) => {
|
||||
return promise_1.default.nfcall(juice_1.default.juiceResources, tplOut.getContent(), {
|
||||
webResources: {
|
||||
relativeTo: outputRoot
|
||||
}
|
||||
});
|
||||
})
|
||||
.then((tplOut) => tplOut.replace(/\n/g, " ")) // PDF templates need to be on one line for inclusion in spawned command
|
||||
);
|
||||
}
|
||||
exports.default = getPDFTemplate;
|
3
book/node_modules/honkit/lib/output/ebook/index.d.ts
generated
vendored
Normal file
3
book/node_modules/honkit/lib/output/ebook/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
declare const _default: any;
|
||||
export default _default;
|
||||
//# sourceMappingURL=index.d.ts.map
|
1
book/node_modules/honkit/lib/output/ebook/index.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/ebook/index.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/output/ebook/index.ts"],"names":[],"mappings":";AAMA,wBAKG"}
|
16
book/node_modules/honkit/lib/output/ebook/index.js
generated
vendored
Normal file
16
book/node_modules/honkit/lib/output/ebook/index.js
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const extend_1 = __importDefault(require("extend"));
|
||||
const website_1 = __importDefault(require("../website"));
|
||||
const options_1 = __importDefault(require("./options"));
|
||||
const onPage_1 = __importDefault(require("./onPage"));
|
||||
const onFinish_1 = __importDefault(require("./onFinish"));
|
||||
exports.default = (0, extend_1.default)({}, website_1.default, {
|
||||
name: "ebook",
|
||||
Options: options_1.default,
|
||||
onPage: onPage_1.default,
|
||||
onFinish: onFinish_1.default
|
||||
});
|
9
book/node_modules/honkit/lib/output/ebook/onFinish.d.ts
generated
vendored
Normal file
9
book/node_modules/honkit/lib/output/ebook/onFinish.d.ts
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
/**
|
||||
Finish the generation, generates the SUMMARY.html
|
||||
|
||||
@param {Output}
|
||||
@return {Output}
|
||||
*/
|
||||
declare function onFinish(output: any): any;
|
||||
export default onFinish;
|
||||
//# sourceMappingURL=onFinish.d.ts.map
|
1
book/node_modules/honkit/lib/output/ebook/onFinish.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/ebook/onFinish.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"onFinish.d.ts","sourceRoot":"","sources":["../../../src/output/ebook/onFinish.ts"],"names":[],"mappings":"AAqFA;;;;;GAKG;AACH,iBAAS,QAAQ,CAAC,MAAM,KAAA,OAEvB;AAED,eAAe,QAAQ,CAAC"}
|
84
book/node_modules/honkit/lib/output/ebook/onFinish.js
generated
vendored
Normal file
84
book/node_modules/honkit/lib/output/ebook/onFinish.js
generated
vendored
Normal file
@ -0,0 +1,84 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const website_1 = __importDefault(require("../website"));
|
||||
const json_1 = __importDefault(require("../../json"));
|
||||
const templating_1 = __importDefault(require("../../templating"));
|
||||
const promise_1 = __importDefault(require("../../utils/promise"));
|
||||
const error_1 = __importDefault(require("../../utils/error"));
|
||||
const command_1 = __importDefault(require("../../utils/command"));
|
||||
const writeFile_1 = __importDefault(require("../helper/writeFile"));
|
||||
const getConvertOptions_1 = __importDefault(require("./getConvertOptions"));
|
||||
const SUMMARY_FILE = "SUMMARY.html";
|
||||
/**
|
||||
Write the SUMMARY.html
|
||||
|
||||
@param {Output}
|
||||
@return {Output}
|
||||
*/
|
||||
function writeSummary(output) {
|
||||
const options = output.getOptions();
|
||||
const prefix = options.get("prefix");
|
||||
const filePath = SUMMARY_FILE;
|
||||
const engine = website_1.default.createTemplateEngine(output, filePath);
|
||||
const context = json_1.default.encodeOutput(output);
|
||||
// Render the theme
|
||||
return (templating_1.default.renderFile(engine, `${prefix}/summary.html`, context)
|
||||
// Write it to the disk
|
||||
.then((tplOut) => {
|
||||
return (0, writeFile_1.default)(output, filePath, tplOut.getContent());
|
||||
}));
|
||||
}
|
||||
/**
|
||||
Generate the ebook file as "index.pdf"
|
||||
|
||||
@param {Output}
|
||||
@return {Output}
|
||||
*/
|
||||
function runEbookConvert(output) {
|
||||
const logger = output.getLogger();
|
||||
const options = output.getOptions();
|
||||
const format = options.get("format");
|
||||
const outputFolder = output.getRoot();
|
||||
if (!format) {
|
||||
return (0, promise_1.default)(output);
|
||||
}
|
||||
return (0, getConvertOptions_1.default)(output)
|
||||
.then((options) => {
|
||||
const cmd = [
|
||||
"ebook-convert",
|
||||
path_1.default.resolve(outputFolder, SUMMARY_FILE),
|
||||
path_1.default.resolve(outputFolder, `index.${format}`),
|
||||
command_1.default.optionsToShellArgs(options)
|
||||
].join(" ");
|
||||
return (command_1.default
|
||||
// @ts-expect-error ts-migrate(2554) FIXME: Expected 2 arguments, but got 1.
|
||||
.exec(cmd)
|
||||
.progress((data) => {
|
||||
logger.debug(data);
|
||||
})
|
||||
.fail((err) => {
|
||||
if (err.code == 127) {
|
||||
throw error_1.default.RequireInstallError({
|
||||
cmd: "ebook-convert",
|
||||
install: "Install it from Calibre: https://calibre-ebook.com"
|
||||
});
|
||||
}
|
||||
throw error_1.default.EbookError(err);
|
||||
}));
|
||||
})
|
||||
.thenResolve(output);
|
||||
}
|
||||
/**
|
||||
Finish the generation, generates the SUMMARY.html
|
||||
|
||||
@param {Output}
|
||||
@return {Output}
|
||||
*/
|
||||
function onFinish(output) {
|
||||
return writeSummary(output).then(runEbookConvert);
|
||||
}
|
||||
exports.default = onFinish;
|
9
book/node_modules/honkit/lib/output/ebook/onPage.d.ts
generated
vendored
Normal file
9
book/node_modules/honkit/lib/output/ebook/onPage.d.ts
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
/**
|
||||
Write a page for ebook output
|
||||
|
||||
@param {Output} output
|
||||
@param {Output}
|
||||
*/
|
||||
declare function onPage(output: any, page: any): any;
|
||||
export default onPage;
|
||||
//# sourceMappingURL=onPage.d.ts.map
|
1
book/node_modules/honkit/lib/output/ebook/onPage.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/ebook/onPage.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"onPage.d.ts","sourceRoot":"","sources":["../../../src/output/ebook/onPage.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,iBAAS,MAAM,CAAC,MAAM,KAAA,EAAE,IAAI,KAAA,OAY3B;AAED,eAAe,MAAM,CAAC"}
|
23
book/node_modules/honkit/lib/output/ebook/onPage.js
generated
vendored
Normal file
23
book/node_modules/honkit/lib/output/ebook/onPage.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const website_1 = __importDefault(require("../website"));
|
||||
const modifiers_1 = __importDefault(require("../modifiers"));
|
||||
/**
|
||||
Write a page for ebook output
|
||||
|
||||
@param {Output} output
|
||||
@param {Output}
|
||||
*/
|
||||
function onPage(output, page) {
|
||||
const options = output.getOptions();
|
||||
// Inline assets
|
||||
return (modifiers_1.default.modifyHTML(page, [modifiers_1.default.inlineAssets(options.get("root"), page.getFile().getPath())])
|
||||
// Write page using website generator
|
||||
.then((resultPage) => {
|
||||
return website_1.default.onPage(output, resultPage);
|
||||
}));
|
||||
}
|
||||
exports.default = onPage;
|
4
book/node_modules/honkit/lib/output/ebook/options.d.ts
generated
vendored
Normal file
4
book/node_modules/honkit/lib/output/ebook/options.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import Immutable from "immutable";
|
||||
declare const Options: Immutable.Record.Class;
|
||||
export default Options;
|
||||
//# sourceMappingURL=options.d.ts.map
|
1
book/node_modules/honkit/lib/output/ebook/options.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/ebook/options.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/output/ebook/options.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,QAAA,MAAM,OAAO,wBAYX,CAAC;AAEH,eAAe,OAAO,CAAC"}
|
17
book/node_modules/honkit/lib/output/ebook/options.js
generated
vendored
Normal file
17
book/node_modules/honkit/lib/output/ebook/options.js
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const immutable_1 = __importDefault(require("immutable"));
|
||||
const Options = immutable_1.default.Record({
|
||||
// Root folder for the output
|
||||
root: String(),
|
||||
// Prefix for generation
|
||||
prefix: String("ebook"),
|
||||
// Format to generate using ebook-convert
|
||||
format: String(),
|
||||
// Force use of absolute urls ("index.html" instead of "/")
|
||||
directoryIndex: Boolean(false)
|
||||
});
|
||||
exports.default = Options;
|
10
book/node_modules/honkit/lib/output/generateAssets.d.ts
generated
vendored
Normal file
10
book/node_modules/honkit/lib/output/generateAssets.d.ts
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/**
|
||||
Output all assets using a generator
|
||||
|
||||
@param {Generator} generator
|
||||
@param {Output} output
|
||||
@return {Promise<Output>}
|
||||
*/
|
||||
declare function generateAssets(generator: any, output: any): any;
|
||||
export default generateAssets;
|
||||
//# sourceMappingURL=generateAssets.d.ts.map
|
1
book/node_modules/honkit/lib/output/generateAssets.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/generateAssets.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"generateAssets.d.ts","sourceRoot":"","sources":["../../src/output/generateAssets.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,iBAAS,cAAc,CAAC,SAAS,KAAA,EAAE,MAAM,KAAA,OAkBxC;AAED,eAAe,cAAc,CAAC"}
|
26
book/node_modules/honkit/lib/output/generateAssets.js
generated
vendored
Normal file
26
book/node_modules/honkit/lib/output/generateAssets.js
generated
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const promise_1 = __importDefault(require("../utils/promise"));
|
||||
/**
|
||||
Output all assets using a generator
|
||||
|
||||
@param {Generator} generator
|
||||
@param {Output} output
|
||||
@return {Promise<Output>}
|
||||
*/
|
||||
function generateAssets(generator, output) {
|
||||
const assets = output.getAssets();
|
||||
const logger = output.getLogger();
|
||||
// Is generator ignoring assets?
|
||||
if (!generator.onAsset) {
|
||||
return (0, promise_1.default)(output);
|
||||
}
|
||||
return promise_1.default.reduce(assets, (out, assetFile) => {
|
||||
logger.debug.ln(`copy asset "${assetFile}"`);
|
||||
return generator.onAsset(out, assetFile);
|
||||
}, output);
|
||||
}
|
||||
exports.default = generateAssets;
|
32
book/node_modules/honkit/lib/output/generateBook.d.ts
generated
vendored
Normal file
32
book/node_modules/honkit/lib/output/generateBook.d.ts
generated
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
/**
|
||||
* Generate a book using a generator.
|
||||
*
|
||||
* The overall process is:
|
||||
* 1. List and load plugins for this book
|
||||
* 2. Call hook "config"
|
||||
* 3. Call hook "init"
|
||||
* 4. Initialize generator
|
||||
* 5. List all assets and pages
|
||||
* 6. Copy all assets to output
|
||||
* 7. Generate all pages
|
||||
* 8. Call hook "finish:before"
|
||||
* 9. Finish generation
|
||||
* 10. Call hook "finish"
|
||||
*
|
||||
*
|
||||
* @param {Generator} generator
|
||||
* @param {Book} book
|
||||
* @param {Object} [options = {}]
|
||||
* @return {Promise<Output>}
|
||||
*/
|
||||
declare function generateBook(generator: any, book: any, options?: {}): any;
|
||||
/**
|
||||
* Incremental build for pages
|
||||
* output should be prepared plugins
|
||||
* @param generator
|
||||
* @param output
|
||||
* @returns {Promise<Promise<Output>>}
|
||||
*/
|
||||
declare function incrementalBuild(generator: any, output: any): any;
|
||||
export { generateBook, incrementalBuild };
|
||||
//# sourceMappingURL=generateBook.d.ts.map
|
1
book/node_modules/honkit/lib/output/generateBook.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/generateBook.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"generateBook.d.ts","sourceRoot":"","sources":["../../src/output/generateBook.ts"],"names":[],"mappings":"AA0IA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,YAAY,CAAC,SAAS,KAAA,EAAE,IAAI,KAAA,EAAE,OAAO,KAAK,OAoClD;AAED;;;;;;GAMG;AAEH,iBAAS,gBAAgB,CAAC,SAAS,KAAA,EAAE,MAAM,KAAA,OAa1C;AAED,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
|
174
book/node_modules/honkit/lib/output/generateBook.js
generated
vendored
Normal file
174
book/node_modules/honkit/lib/output/generateBook.js
generated
vendored
Normal file
@ -0,0 +1,174 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.generateBook = generateBook;
|
||||
exports.incrementalBuild = incrementalBuild;
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const immutable_1 = __importDefault(require("immutable"));
|
||||
const output_1 = __importDefault(require("../models/output"));
|
||||
const promise_1 = __importDefault(require("../utils/promise"));
|
||||
const fs_1 = __importDefault(require("../utils/fs"));
|
||||
const callHook_1 = __importDefault(require("./callHook"));
|
||||
const preparePlugins_1 = __importDefault(require("./preparePlugins"));
|
||||
const preparePages_1 = __importDefault(require("./preparePages"));
|
||||
const prepareAssets_1 = __importDefault(require("./prepareAssets"));
|
||||
const generateAssets_1 = __importDefault(require("./generateAssets"));
|
||||
const generatePages_1 = __importDefault(require("./generatePages"));
|
||||
const updateBookConfig = callHook_1.default.bind(null, "config", (output) => {
|
||||
const book = output.getBook();
|
||||
const config = book.getConfig();
|
||||
const values = config.getValues();
|
||||
return values.toJS();
|
||||
}, (output, result) => {
|
||||
let book = output.getBook();
|
||||
let config = book.getConfig();
|
||||
config = config.updateValues(result);
|
||||
book = book.set("config", config);
|
||||
return output.set("book", book);
|
||||
});
|
||||
/**
|
||||
* Update multiple languages books if the book has LANGS.md
|
||||
* @param generator
|
||||
* @param output
|
||||
*/
|
||||
const generateMultipleLanguages = (generator, output) => {
|
||||
const book = output.getBook();
|
||||
if (!book.isMultilingual()) {
|
||||
return;
|
||||
}
|
||||
const logger = book.getLogger();
|
||||
const books = book.getBooks();
|
||||
const outputRoot = output.getRoot();
|
||||
const plugins = output.getPlugins();
|
||||
const state = output.getState();
|
||||
const options = output.getOptions();
|
||||
const bookList = books.map((langBook) => {
|
||||
// Inherits plugins list, options and state
|
||||
const langOptions = options.set("root", path_1.default.join(outputRoot, langBook.getLanguage()));
|
||||
const langOutput = new output_1.default({
|
||||
book: langBook,
|
||||
options: langOptions,
|
||||
state: state,
|
||||
generator: generator.name,
|
||||
plugins: plugins
|
||||
});
|
||||
logger.info.ln("");
|
||||
logger.info.ln(`generating language "${langBook.getLanguage()}"`);
|
||||
return processOutput(generator, langOutput);
|
||||
});
|
||||
return promise_1.default.all(bookList.toArray()).thenResolve(output);
|
||||
};
|
||||
/**
|
||||
* Process an output to generate the book
|
||||
*
|
||||
* @param {Generator} generator
|
||||
* @param {Output} output
|
||||
* @return {Promise<Output>}
|
||||
*/
|
||||
function processOutput(generator, output) {
|
||||
return (0, promise_1.default)(output)
|
||||
.then(preparePlugins_1.default)
|
||||
.then(preparePages_1.default)
|
||||
.then(prepareAssets_1.default)
|
||||
.then(updateBookConfig)
|
||||
.then(callHook_1.default.bind(null, "init", (output) => {
|
||||
return {};
|
||||
}, (output) => {
|
||||
return output;
|
||||
}))
|
||||
.then((output) => {
|
||||
if (!generator.onInit) {
|
||||
return output;
|
||||
}
|
||||
return generator.onInit(output);
|
||||
})
|
||||
.then((output) => (0, generateAssets_1.default)(generator, output))
|
||||
.then((output) => (0, generatePages_1.default)(generator, output))
|
||||
.tap((output) => generateMultipleLanguages(generator, output))
|
||||
.then(callHook_1.default.bind(null, "finish:before", (output) => {
|
||||
return {};
|
||||
}, (output) => {
|
||||
return output;
|
||||
}))
|
||||
.then((output) => {
|
||||
if (!generator.onFinish) {
|
||||
return output;
|
||||
}
|
||||
return generator.onFinish(output);
|
||||
})
|
||||
.then(callHook_1.default.bind(null, "finish", (output) => {
|
||||
return {};
|
||||
}, (output) => {
|
||||
return output;
|
||||
}));
|
||||
}
|
||||
/**
|
||||
* Generate a book using a generator.
|
||||
*
|
||||
* The overall process is:
|
||||
* 1. List and load plugins for this book
|
||||
* 2. Call hook "config"
|
||||
* 3. Call hook "init"
|
||||
* 4. Initialize generator
|
||||
* 5. List all assets and pages
|
||||
* 6. Copy all assets to output
|
||||
* 7. Generate all pages
|
||||
* 8. Call hook "finish:before"
|
||||
* 9. Finish generation
|
||||
* 10. Call hook "finish"
|
||||
*
|
||||
*
|
||||
* @param {Generator} generator
|
||||
* @param {Book} book
|
||||
* @param {Object} [options = {}]
|
||||
* @return {Promise<Output>}
|
||||
*/
|
||||
function generateBook(generator, book, options = {}) {
|
||||
options = generator.Options(options);
|
||||
const state = generator.State ? new generator.State({}) : immutable_1.default.Map();
|
||||
const start = Date.now();
|
||||
return ((0, promise_1.default)(new output_1.default({
|
||||
book: book,
|
||||
options: options,
|
||||
state: state,
|
||||
generator: generator.name
|
||||
}))
|
||||
// Cleanup output folder
|
||||
.then((output) => {
|
||||
const logger = output.getLogger();
|
||||
const rootFolder = output.getRoot();
|
||||
logger.debug.ln(`cleanup folder "${rootFolder}"`);
|
||||
return fs_1.default.ensureFolder(rootFolder).thenResolve(output);
|
||||
})
|
||||
.then(processOutput.bind(null, generator))
|
||||
// Log duration and end message
|
||||
.then((output) => {
|
||||
const logger = output.getLogger();
|
||||
const end = Date.now();
|
||||
const duration = (end - start) / 1000;
|
||||
logger.info.ok(`generation finished with success in ${duration.toFixed(1)}s !`);
|
||||
return output;
|
||||
}));
|
||||
}
|
||||
/**
|
||||
* Incremental build for pages
|
||||
* output should be prepared plugins
|
||||
* @param generator
|
||||
* @param output
|
||||
* @returns {Promise<Promise<Output>>}
|
||||
*/
|
||||
function incrementalBuild(generator, output) {
|
||||
const start = Date.now();
|
||||
return (0, generateAssets_1.default)(generator, output)
|
||||
.then((output) => (0, generatePages_1.default)(generator, output))
|
||||
.then((output) => {
|
||||
const logger = output.getLogger();
|
||||
const end = Date.now();
|
||||
const duration = (end - start) / 1000;
|
||||
logger.info.ok(`generation finished with success in ${duration.toFixed(1)}s !`);
|
||||
return output;
|
||||
})
|
||||
.tap((output) => generateMultipleLanguages(generator, output));
|
||||
}
|
10
book/node_modules/honkit/lib/output/generatePage.d.ts
generated
vendored
Normal file
10
book/node_modules/honkit/lib/output/generatePage.d.ts
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/**
|
||||
* Prepare and generate HTML for a page
|
||||
*
|
||||
* @param {Output} output
|
||||
* @param {Page} page
|
||||
* @return {Promise<Page>}
|
||||
*/
|
||||
declare function generatePage(output: any, page: any): any;
|
||||
export default generatePage;
|
||||
//# sourceMappingURL=generatePage.d.ts.map
|
1
book/node_modules/honkit/lib/output/generatePage.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/generatePage.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"generatePage.d.ts","sourceRoot":"","sources":["../../src/output/generatePage.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AAEH,iBAAS,YAAY,CAAC,MAAM,KAAA,EAAE,IAAI,KAAA,OAuFjC;AAED,eAAe,YAAY,CAAC"}
|
97
book/node_modules/honkit/lib/output/generatePage.js
generated
vendored
Normal file
97
book/node_modules/honkit/lib/output/generatePage.js
generated
vendored
Normal file
@ -0,0 +1,97 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const promise_1 = __importDefault(require("../utils/promise"));
|
||||
const error_1 = __importDefault(require("../utils/error"));
|
||||
const timing_1 = __importDefault(require("../utils/timing"));
|
||||
const templating_1 = __importDefault(require("../templating"));
|
||||
const json_1 = __importDefault(require("../json"));
|
||||
const createTemplateEngine_1 = __importDefault(require("./createTemplateEngine"));
|
||||
const callPageHook_1 = __importDefault(require("./callPageHook"));
|
||||
const page_cache_1 = require("./page-cache");
|
||||
const page_1 = __importDefault(require("../models/page"));
|
||||
/**
|
||||
* Prepare and generate HTML for a page
|
||||
*
|
||||
* @param {Output} output
|
||||
* @param {Page} page
|
||||
* @return {Promise<Page>}
|
||||
*/
|
||||
function generatePage(output, page) {
|
||||
const book = output.getBook();
|
||||
const engine = (0, createTemplateEngine_1.default)(output);
|
||||
const cache = (0, page_cache_1.getCache)();
|
||||
return timing_1.default.measure("page.generate", (0, promise_1.default)(page).then((resultPage) => {
|
||||
const file = resultPage.getFile();
|
||||
const filePath = file.getPath();
|
||||
const parser = file.getParser();
|
||||
const context = json_1.default.encodeOutputWithPage(output, resultPage);
|
||||
if (!parser) {
|
||||
return promise_1.default.reject(error_1.default.FileNotParsableError({
|
||||
filename: filePath
|
||||
}));
|
||||
}
|
||||
// Call hook "page:before"
|
||||
// const start = Date.now();
|
||||
return ((0, callPageHook_1.default)("page:before", output, resultPage)
|
||||
// Escape code blocks with raw tags
|
||||
.then((currentPage) => {
|
||||
// console.log("page:before", Date.now() - start);
|
||||
return parser.preparePage(currentPage.getContent());
|
||||
})
|
||||
// Render templating syntax
|
||||
.then(async (content) => {
|
||||
// console.log("page:preparePage", Date.now() - start);
|
||||
const absoluteFilePath = path_1.default.join(book.getContentRoot(), filePath);
|
||||
// if has compiled pages, use it instead of compiling page
|
||||
const pageHash = page.hash();
|
||||
const cachedPage = cache.getKey(pageHash);
|
||||
if (cachedPage) {
|
||||
return {
|
||||
filePath: absoluteFilePath,
|
||||
output: page_1.default.fromJSON(output)
|
||||
};
|
||||
}
|
||||
try {
|
||||
const output = await templating_1.default.render(engine, absoluteFilePath, content, context);
|
||||
// update cache
|
||||
cache.setKey(pageHash, page_1.default.toJSON(output));
|
||||
return {
|
||||
filePath: absoluteFilePath,
|
||||
output
|
||||
};
|
||||
}
|
||||
catch (error) {
|
||||
console.error("Template Rendering Error", error);
|
||||
console.log("Template content", content);
|
||||
throw error;
|
||||
}
|
||||
})
|
||||
.then(({ filePath, output }) => {
|
||||
// console.log("page:render", Date.now() - start);
|
||||
const content = output.getContent();
|
||||
const baseDirectory = path_1.default.dirname(filePath);
|
||||
return parser.parsePage(content, { baseDirectory }).then((result) => {
|
||||
return output.setContent(result.content);
|
||||
});
|
||||
})
|
||||
// Post processing for templating syntax
|
||||
.then((output) => {
|
||||
// console.log("page:parsePage", Date.now() - start);
|
||||
return templating_1.default.postRender(engine, output);
|
||||
})
|
||||
// Return new page
|
||||
.then((content) => {
|
||||
// console.log("page:postRender", Date.now() - start);
|
||||
return resultPage.set("content", content);
|
||||
})
|
||||
// Call final hook
|
||||
.then((currentPage) => {
|
||||
return (0, callPageHook_1.default)("page", output, currentPage);
|
||||
}));
|
||||
}));
|
||||
}
|
||||
exports.default = generatePage;
|
10
book/node_modules/honkit/lib/output/generatePages.d.ts
generated
vendored
Normal file
10
book/node_modules/honkit/lib/output/generatePages.d.ts
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/**
|
||||
Output all pages using a generator
|
||||
|
||||
@param {Generator} generator
|
||||
@param {Output} output
|
||||
@return {Promise<Output>}
|
||||
*/
|
||||
declare function generatePages(generator: any, output: any): any;
|
||||
export default generatePages;
|
||||
//# sourceMappingURL=generatePages.d.ts.map
|
1
book/node_modules/honkit/lib/output/generatePages.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/generatePages.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"generatePages.d.ts","sourceRoot":"","sources":["../../src/output/generatePages.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,iBAAS,aAAa,CAAC,SAAS,KAAA,EAAE,MAAM,KAAA,OAqCvC;AAED,eAAe,aAAa,CAAC"}
|
52
book/node_modules/honkit/lib/output/generatePages.js
generated
vendored
Normal file
52
book/node_modules/honkit/lib/output/generatePages.js
generated
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const promise_1 = __importDefault(require("../utils/promise"));
|
||||
const generatePage_1 = __importDefault(require("./generatePage"));
|
||||
const page_cache_1 = require("./page-cache");
|
||||
/**
|
||||
Output all pages using a generator
|
||||
|
||||
@param {Generator} generator
|
||||
@param {Output} output
|
||||
@return {Promise<Output>}
|
||||
*/
|
||||
function generatePages(generator, output) {
|
||||
const cache = (0, page_cache_1.getCache)();
|
||||
const pages = output.getPages();
|
||||
const logger = output.getLogger();
|
||||
// Is generator ignoring assets?
|
||||
if (!generator.onPage) {
|
||||
return (0, promise_1.default)(output);
|
||||
}
|
||||
const root = output.book.getContentRoot();
|
||||
const isIncrementBuilding = output.incrementalChangeFileSet.size !== 0;
|
||||
const pageList = pages.map((page) => {
|
||||
const file = page.getFile();
|
||||
const absoluteFilePath = path_1.default.join(root, file.getPath());
|
||||
// When incremental build
|
||||
if (isIncrementBuilding && !output.incrementalChangeFileSet.has(absoluteFilePath)) {
|
||||
logger.debug.ln(`skip generate page "${file.getPath()}"`);
|
||||
return; // Skip build
|
||||
}
|
||||
return (0, generatePage_1.default)(output, page)
|
||||
.then((resultPage) => {
|
||||
// It call renderToString
|
||||
// Create page file
|
||||
return generator.onPage(output, resultPage);
|
||||
})
|
||||
.fail((err) => {
|
||||
logger.error.ln(`error while generating page "${file.getPath()}":`);
|
||||
throw err;
|
||||
});
|
||||
});
|
||||
return promise_1.default.all(pageList.toArray()).then(() => {
|
||||
// update caches
|
||||
cache.save();
|
||||
return output;
|
||||
});
|
||||
}
|
||||
exports.default = generatePages;
|
9
book/node_modules/honkit/lib/output/getModifiers.d.ts
generated
vendored
Normal file
9
book/node_modules/honkit/lib/output/getModifiers.d.ts
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
/**
|
||||
* Return default modifier to prepare a page for
|
||||
* rendering.
|
||||
*
|
||||
* @return {Array<Modifier>}
|
||||
*/
|
||||
declare function getModifiers(output: any, page: any): any[];
|
||||
export default getModifiers;
|
||||
//# sourceMappingURL=getModifiers.d.ts.map
|
1
book/node_modules/honkit/lib/output/getModifiers.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/getModifiers.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"getModifiers.d.ts","sourceRoot":"","sources":["../../src/output/getModifiers.ts"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,MAAM,KAAA,EAAE,IAAI,KAAA,SAuDjC;AAED,eAAe,YAAY,CAAC"}
|
63
book/node_modules/honkit/lib/output/getModifiers.js
generated
vendored
Normal file
63
book/node_modules/honkit/lib/output/getModifiers.js
generated
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const modifiers_1 = __importDefault(require("./modifiers"));
|
||||
const resolveFileToURL_1 = __importDefault(require("./helper/resolveFileToURL"));
|
||||
const api_1 = __importDefault(require("../api"));
|
||||
const plugins_1 = __importDefault(require("../plugins"));
|
||||
const promise_1 = __importDefault(require("../utils/promise"));
|
||||
const defaultBlocks_1 = __importDefault(require("../constants/defaultBlocks"));
|
||||
const fileToOutput_1 = __importDefault(require("./helper/fileToOutput"));
|
||||
const CODEBLOCK = "code";
|
||||
/**
|
||||
* Return default modifier to prepare a page for
|
||||
* rendering.
|
||||
*
|
||||
* @return {Array<Modifier>}
|
||||
*/
|
||||
function getModifiers(output, page) {
|
||||
const book = output.getBook();
|
||||
const plugins = output.getPlugins();
|
||||
const glossary = book.getGlossary();
|
||||
const file = page.getFile();
|
||||
// Glossary entries
|
||||
const entries = glossary.getEntries();
|
||||
const glossaryFile = glossary.getFile();
|
||||
const glossaryFilename = (0, fileToOutput_1.default)(output, glossaryFile.getPath());
|
||||
// Current file path
|
||||
const currentFilePath = file.getPath();
|
||||
// Get TemplateBlock for highlighting
|
||||
const blocks = plugins_1.default.listBlocks(plugins);
|
||||
const code = blocks.get(CODEBLOCK) || defaultBlocks_1.default.get(CODEBLOCK);
|
||||
// Current context
|
||||
const context = api_1.default.encodeGlobal(output);
|
||||
return [
|
||||
// Normalize IDs on headings
|
||||
modifiers_1.default.addHeadingId,
|
||||
// Annotate text with glossary entries
|
||||
modifiers_1.default.annotateText.bind(null, entries, glossaryFilename),
|
||||
// Resolve images
|
||||
modifiers_1.default.resolveImages.bind(null, currentFilePath),
|
||||
// Resolve links (.md -> .html)
|
||||
modifiers_1.default.resolveLinks.bind(null, currentFilePath, resolveFileToURL_1.default.bind(null, output)),
|
||||
// Highlight code blocks using "code" block
|
||||
modifiers_1.default.highlightCode.bind(null, (lang, source) => {
|
||||
return (0, promise_1.default)(code.applyBlock({
|
||||
body: source,
|
||||
kwargs: {
|
||||
language: lang
|
||||
}
|
||||
}, context)).then((result) => {
|
||||
if (result.html === false) {
|
||||
return { text: result.body };
|
||||
}
|
||||
else {
|
||||
return { html: result.body };
|
||||
}
|
||||
});
|
||||
})
|
||||
];
|
||||
}
|
||||
exports.default = getModifiers;
|
10
book/node_modules/honkit/lib/output/helper/fileToOutput.d.ts
generated
vendored
Normal file
10
book/node_modules/honkit/lib/output/helper/fileToOutput.d.ts
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/**
|
||||
* Convert a filePath (absolute) to a filename for output
|
||||
*
|
||||
* @param {Output} output
|
||||
* @param {string} filePath
|
||||
* @return {string}
|
||||
*/
|
||||
declare function fileToOutput(output: any, filePath: any): string;
|
||||
export default fileToOutput;
|
||||
//# sourceMappingURL=fileToOutput.d.ts.map
|
1
book/node_modules/honkit/lib/output/helper/fileToOutput.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/helper/fileToOutput.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"fileToOutput.d.ts","sourceRoot":"","sources":["../../../src/output/helper/fileToOutput.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AAEH,iBAAS,YAAY,CAAC,MAAM,KAAA,EAAE,QAAQ,KAAA,UAerC;AAED,eAAe,YAAY,CAAC"}
|
30
book/node_modules/honkit/lib/output/helper/fileToOutput.js
generated
vendored
Normal file
30
book/node_modules/honkit/lib/output/helper/fileToOutput.js
generated
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const path_2 = __importDefault(require("../../utils/path"));
|
||||
const location_1 = __importDefault(require("../../utils/location"));
|
||||
const OUTPUT_EXTENSION = ".html";
|
||||
/**
|
||||
* Convert a filePath (absolute) to a filename for output
|
||||
*
|
||||
* @param {Output} output
|
||||
* @param {string} filePath
|
||||
* @return {string}
|
||||
*/
|
||||
function fileToOutput(output, filePath) {
|
||||
const book = output.getBook();
|
||||
const readme = book.getReadme();
|
||||
const fileReadme = readme.getFile();
|
||||
if (path_1.default.basename(filePath, path_1.default.extname(filePath)) == "README" ||
|
||||
(fileReadme.exists() && filePath == fileReadme.getPath())) {
|
||||
filePath = path_1.default.join(path_1.default.dirname(filePath), `index${OUTPUT_EXTENSION}`);
|
||||
}
|
||||
else {
|
||||
filePath = path_2.default.setExtension(filePath, OUTPUT_EXTENSION);
|
||||
}
|
||||
return location_1.default.normalize(filePath);
|
||||
}
|
||||
exports.default = fileToOutput;
|
15
book/node_modules/honkit/lib/output/helper/fileToURL.d.ts
generated
vendored
Normal file
15
book/node_modules/honkit/lib/output/helper/fileToURL.d.ts
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
/**
|
||||
Convert a filePath (absolute) to an url (without hostname).
|
||||
It returns an absolute path.
|
||||
|
||||
"README.md" -> "/"
|
||||
"test/hello.md" -> "test/hello.html"
|
||||
"test/README.md" -> "test/"
|
||||
|
||||
@param {Output} output
|
||||
@param {string} filePath
|
||||
@return {string}
|
||||
*/
|
||||
declare function fileToURL(output: any, filePath: any): string;
|
||||
export default fileToURL;
|
||||
//# sourceMappingURL=fileToURL.d.ts.map
|
1
book/node_modules/honkit/lib/output/helper/fileToURL.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/helper/fileToURL.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"fileToURL.d.ts","sourceRoot":"","sources":["../../../src/output/helper/fileToURL.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,iBAAS,SAAS,CAAC,MAAM,KAAA,EAAE,QAAQ,KAAA,UAWlC;AAED,eAAe,SAAS,CAAC"}
|
30
book/node_modules/honkit/lib/output/helper/fileToURL.js
generated
vendored
Normal file
30
book/node_modules/honkit/lib/output/helper/fileToURL.js
generated
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const location_1 = __importDefault(require("../../utils/location"));
|
||||
const fileToOutput_1 = __importDefault(require("./fileToOutput"));
|
||||
/**
|
||||
Convert a filePath (absolute) to an url (without hostname).
|
||||
It returns an absolute path.
|
||||
|
||||
"README.md" -> "/"
|
||||
"test/hello.md" -> "test/hello.html"
|
||||
"test/README.md" -> "test/"
|
||||
|
||||
@param {Output} output
|
||||
@param {string} filePath
|
||||
@return {string}
|
||||
*/
|
||||
function fileToURL(output, filePath) {
|
||||
const options = output.getOptions();
|
||||
const directoryIndex = options.get("directoryIndex");
|
||||
filePath = (0, fileToOutput_1.default)(output, filePath);
|
||||
if (directoryIndex && path_1.default.basename(filePath) == "index.html") {
|
||||
filePath = `${path_1.default.dirname(filePath)}/`;
|
||||
}
|
||||
return location_1.default.normalize(filePath);
|
||||
}
|
||||
exports.default = fileToURL;
|
3
book/node_modules/honkit/lib/output/helper/index.d.ts
generated
vendored
Normal file
3
book/node_modules/honkit/lib/output/helper/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
declare const _default: {};
|
||||
export default _default;
|
||||
//# sourceMappingURL=index.d.ts.map
|
1
book/node_modules/honkit/lib/output/helper/index.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/helper/index.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/output/helper/index.ts"],"names":[],"mappings":";AAAA,wBAAkB"}
|
3
book/node_modules/honkit/lib/output/helper/index.js
generated
vendored
Normal file
3
book/node_modules/honkit/lib/output/helper/index.js
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = {};
|
10
book/node_modules/honkit/lib/output/helper/resolveFileToURL.d.ts
generated
vendored
Normal file
10
book/node_modules/honkit/lib/output/helper/resolveFileToURL.d.ts
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/**
|
||||
* Resolve an absolute path (extracted from a link)
|
||||
*
|
||||
* @param {Output} output
|
||||
* @param {string} filePath
|
||||
* @return {string}
|
||||
*/
|
||||
declare function resolveFileToURL(output: any, filePath: any): string;
|
||||
export default resolveFileToURL;
|
||||
//# sourceMappingURL=resolveFileToURL.d.ts.map
|
1
book/node_modules/honkit/lib/output/helper/resolveFileToURL.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/helper/resolveFileToURL.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"resolveFileToURL.d.ts","sourceRoot":"","sources":["../../../src/output/helper/resolveFileToURL.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,iBAAS,gBAAgB,CAAC,MAAM,KAAA,EAAE,QAAQ,KAAA,UAYzC;AAED,eAAe,gBAAgB,CAAC"}
|
25
book/node_modules/honkit/lib/output/helper/resolveFileToURL.js
generated
vendored
Normal file
25
book/node_modules/honkit/lib/output/helper/resolveFileToURL.js
generated
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const location_1 = __importDefault(require("../../utils/location"));
|
||||
const fileToURL_1 = __importDefault(require("./fileToURL"));
|
||||
/**
|
||||
* Resolve an absolute path (extracted from a link)
|
||||
*
|
||||
* @param {Output} output
|
||||
* @param {string} filePath
|
||||
* @return {string}
|
||||
*/
|
||||
function resolveFileToURL(output, filePath) {
|
||||
// Convert /test.png -> test.png
|
||||
filePath = location_1.default.toAbsolute(filePath, "", "");
|
||||
const page = output.getPage(filePath);
|
||||
// if file is a page, return correct .html url
|
||||
if (page) {
|
||||
filePath = (0, fileToURL_1.default)(output, filePath);
|
||||
}
|
||||
return location_1.default.normalize(filePath);
|
||||
}
|
||||
exports.default = resolveFileToURL;
|
11
book/node_modules/honkit/lib/output/helper/writeFile.d.ts
generated
vendored
Normal file
11
book/node_modules/honkit/lib/output/helper/writeFile.d.ts
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
/**
|
||||
Write a file to the output folder
|
||||
|
||||
@param {Output} output
|
||||
@param {string} filePath
|
||||
@param {Buffer|String} content
|
||||
@return {Promise}
|
||||
*/
|
||||
declare function writeFile(output: any, filePath: any, content: any): any;
|
||||
export default writeFile;
|
||||
//# sourceMappingURL=writeFile.d.ts.map
|
1
book/node_modules/honkit/lib/output/helper/writeFile.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/helper/writeFile.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"writeFile.d.ts","sourceRoot":"","sources":["../../../src/output/helper/writeFile.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,iBAAS,SAAS,CAAC,MAAM,KAAA,EAAE,QAAQ,KAAA,EAAE,OAAO,KAAA,OAU3C;AAED,eAAe,SAAS,CAAC"}
|
26
book/node_modules/honkit/lib/output/helper/writeFile.js
generated
vendored
Normal file
26
book/node_modules/honkit/lib/output/helper/writeFile.js
generated
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const fs_1 = __importDefault(require("../../utils/fs"));
|
||||
/**
|
||||
Write a file to the output folder
|
||||
|
||||
@param {Output} output
|
||||
@param {string} filePath
|
||||
@param {Buffer|String} content
|
||||
@return {Promise}
|
||||
*/
|
||||
function writeFile(output, filePath, content) {
|
||||
const rootFolder = output.getRoot();
|
||||
filePath = path_1.default.join(rootFolder, filePath);
|
||||
return fs_1.default
|
||||
.ensureFile(filePath)
|
||||
.then(() => {
|
||||
return fs_1.default.writeFile(filePath, content);
|
||||
})
|
||||
.thenResolve(output);
|
||||
}
|
||||
exports.default = writeFile;
|
13
book/node_modules/honkit/lib/output/index.d.ts
generated
vendored
Normal file
13
book/node_modules/honkit/lib/output/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import { generateBook, incrementalBuild } from "./generateBook";
|
||||
/**
|
||||
Return a specific generator by its name
|
||||
@return {Generator}
|
||||
*/
|
||||
declare function getGenerator(name: string): any;
|
||||
declare const _default: {
|
||||
generate: typeof generateBook;
|
||||
incrementalBuild: typeof incrementalBuild;
|
||||
getGenerator: typeof getGenerator;
|
||||
};
|
||||
export default _default;
|
||||
//# sourceMappingURL=index.d.ts.map
|
1
book/node_modules/honkit/lib/output/index.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/index.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOhE;;;GAGG;AACH,iBAAS,YAAY,CAAC,IAAI,EAAE,MAAM,OAIjC;;;;;;AAED,wBAIE"}
|
25
book/node_modules/honkit/lib/output/index.js
generated
vendored
Normal file
25
book/node_modules/honkit/lib/output/index.js
generated
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const immutable_1 = __importDefault(require("immutable"));
|
||||
const generateBook_1 = require("./generateBook");
|
||||
const json_1 = __importDefault(require("./json"));
|
||||
const website_1 = __importDefault(require("./website"));
|
||||
const ebook_1 = __importDefault(require("./ebook"));
|
||||
const generators = immutable_1.default.List([json_1.default, website_1.default, ebook_1.default]);
|
||||
/**
|
||||
Return a specific generator by its name
|
||||
@return {Generator}
|
||||
*/
|
||||
function getGenerator(name) {
|
||||
return generators.find((generator) => {
|
||||
return generator.name == name;
|
||||
});
|
||||
}
|
||||
exports.default = {
|
||||
generate: generateBook_1.generateBook,
|
||||
incrementalBuild: generateBook_1.incrementalBuild,
|
||||
getGenerator: getGenerator
|
||||
};
|
10
book/node_modules/honkit/lib/output/json/index.d.ts
generated
vendored
Normal file
10
book/node_modules/honkit/lib/output/json/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
import { onFinish } from "./onFinish";
|
||||
import { onPage } from "./onPage";
|
||||
declare const _default: {
|
||||
name: string;
|
||||
Options: import("immutable").Record.Class;
|
||||
onPage: typeof onPage;
|
||||
onFinish: typeof onFinish;
|
||||
};
|
||||
export default _default;
|
||||
//# sourceMappingURL=index.d.ts.map
|
1
book/node_modules/honkit/lib/output/json/index.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/json/index.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/output/json/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;;;;;;;AAGlC,wBAKE"}
|
14
book/node_modules/honkit/lib/output/json/index.js
generated
vendored
Normal file
14
book/node_modules/honkit/lib/output/json/index.js
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const onFinish_1 = require("./onFinish");
|
||||
const onPage_1 = require("./onPage");
|
||||
const options_1 = __importDefault(require("./options"));
|
||||
exports.default = {
|
||||
name: "json",
|
||||
Options: options_1.default,
|
||||
onPage: onPage_1.onPage,
|
||||
onFinish: onFinish_1.onFinish
|
||||
};
|
8
book/node_modules/honkit/lib/output/json/onFinish.d.ts
generated
vendored
Normal file
8
book/node_modules/honkit/lib/output/json/onFinish.d.ts
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
/**
|
||||
Finish the generation
|
||||
@param {Output} output
|
||||
@return {Output}
|
||||
*/
|
||||
declare function onFinish(output: any): any;
|
||||
export { onFinish };
|
||||
//# sourceMappingURL=onFinish.d.ts.map
|
1
book/node_modules/honkit/lib/output/json/onFinish.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/json/onFinish.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"onFinish.d.ts","sourceRoot":"","sources":["../../../src/output/json/onFinish.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,iBAAS,QAAQ,CAAC,MAAM,KAAA,OAgCvB;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
38
book/node_modules/honkit/lib/output/json/onFinish.js
generated
vendored
Normal file
38
book/node_modules/honkit/lib/output/json/onFinish.js
generated
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.onFinish = onFinish;
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const promise_1 = __importDefault(require("../../utils/promise"));
|
||||
const fs_1 = __importDefault(require("../../utils/fs"));
|
||||
const json_1 = __importDefault(require("../../json"));
|
||||
/**
|
||||
Finish the generation
|
||||
@param {Output} output
|
||||
@return {Output}
|
||||
*/
|
||||
function onFinish(output) {
|
||||
const book = output.getBook();
|
||||
const outputRoot = output.getRoot();
|
||||
if (!book.isMultilingual()) {
|
||||
return (0, promise_1.default)(output);
|
||||
}
|
||||
// Get main language
|
||||
const languages = book.getLanguages();
|
||||
const mainLanguage = languages.getDefaultLanguage();
|
||||
// Read the main JSON
|
||||
return (fs_1.default
|
||||
.readFile(path_1.default.resolve(outputRoot, mainLanguage.getID(), "README.json"), "utf8")
|
||||
// Extend the JSON
|
||||
.then((content) => {
|
||||
const json = JSON.parse(content);
|
||||
json.languages = json_1.default.encodeLanguages(languages);
|
||||
return json;
|
||||
})
|
||||
.then((json) => {
|
||||
return fs_1.default.writeFile(path_1.default.resolve(outputRoot, "README.json"), JSON.stringify(json, null, 4));
|
||||
})
|
||||
.thenResolve(output));
|
||||
}
|
9
book/node_modules/honkit/lib/output/json/onPage.d.ts
generated
vendored
Normal file
9
book/node_modules/honkit/lib/output/json/onPage.d.ts
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
/**
|
||||
* Write a page as a json file
|
||||
*
|
||||
* @param {Output} output
|
||||
* @param {Page} page
|
||||
*/
|
||||
declare function onPage(output: any, page: any): any;
|
||||
export { onPage };
|
||||
//# sourceMappingURL=onPage.d.ts.map
|
1
book/node_modules/honkit/lib/output/json/onPage.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/json/onPage.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"onPage.d.ts","sourceRoot":"","sources":["../../../src/output/json/onPage.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,iBAAS,MAAM,CAAC,MAAM,KAAA,EAAE,IAAI,KAAA,OAsB3B;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
36
book/node_modules/honkit/lib/output/json/onPage.js
generated
vendored
Normal file
36
book/node_modules/honkit/lib/output/json/onPage.js
generated
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.onPage = onPage;
|
||||
const json_1 = __importDefault(require("../../json"));
|
||||
const path_1 = __importDefault(require("../../utils/path"));
|
||||
const modifiers_1 = __importDefault(require("../modifiers"));
|
||||
const writeFile_1 = __importDefault(require("../helper/writeFile"));
|
||||
const getModifiers_1 = __importDefault(require("../getModifiers"));
|
||||
const JSON_VERSION = "3";
|
||||
/**
|
||||
* Write a page as a json file
|
||||
*
|
||||
* @param {Output} output
|
||||
* @param {Page} page
|
||||
*/
|
||||
function onPage(output, page) {
|
||||
const file = page.getFile();
|
||||
const readme = output.getBook().getReadme().getFile();
|
||||
return modifiers_1.default.modifyHTML(page, (0, getModifiers_1.default)(output, page)).then((resultPage) => {
|
||||
// Generate the JSON
|
||||
const json = json_1.default.encodeBookWithPage(output.getBook(), resultPage);
|
||||
// Delete some private properties
|
||||
delete json.config;
|
||||
// Specify JSON output version
|
||||
// @ts-expect-error ts-migrate(2339) FIXME: Property 'version' does not exist on type '{ summa... Remove this comment to see the full error message
|
||||
json.version = JSON_VERSION;
|
||||
// File path in the output folder
|
||||
let filePath = file.getPath() == readme.getPath() ? "README.json" : file.getPath();
|
||||
filePath = path_1.default.setExtension(filePath, ".json");
|
||||
// Write it to the disk
|
||||
return (0, writeFile_1.default)(output, filePath, JSON.stringify(json, null, 4));
|
||||
});
|
||||
}
|
4
book/node_modules/honkit/lib/output/json/options.d.ts
generated
vendored
Normal file
4
book/node_modules/honkit/lib/output/json/options.d.ts
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import Immutable from "immutable";
|
||||
declare const Options: Immutable.Record.Class;
|
||||
export default Options;
|
||||
//# sourceMappingURL=options.d.ts.map
|
1
book/node_modules/honkit/lib/output/json/options.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/json/options.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/output/json/options.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,QAAA,MAAM,OAAO,wBAGX,CAAC;AAEH,eAAe,OAAO,CAAC"}
|
11
book/node_modules/honkit/lib/output/json/options.js
generated
vendored
Normal file
11
book/node_modules/honkit/lib/output/json/options.js
generated
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const immutable_1 = __importDefault(require("immutable"));
|
||||
const Options = immutable_1.default.Record({
|
||||
// Root folder for the output
|
||||
root: String()
|
||||
});
|
||||
exports.default = Options;
|
8
book/node_modules/honkit/lib/output/modifiers/addHeadingId.d.ts
generated
vendored
Normal file
8
book/node_modules/honkit/lib/output/modifiers/addHeadingId.d.ts
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
/**
|
||||
Add ID to all headings
|
||||
|
||||
@param {HTMLDom} $
|
||||
*/
|
||||
declare function addHeadingId($: any): any;
|
||||
export default addHeadingId;
|
||||
//# sourceMappingURL=addHeadingId.d.ts.map
|
1
book/node_modules/honkit/lib/output/modifiers/addHeadingId.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/modifiers/addHeadingId.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"addHeadingId.d.ts","sourceRoot":"","sources":["../../../src/output/modifiers/addHeadingId.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,iBAAS,YAAY,CAAC,CAAC,KAAA,OAEtB;AAED,eAAe,YAAY,CAAC"}
|
26
book/node_modules/honkit/lib/output/modifiers/addHeadingId.js
generated
vendored
Normal file
26
book/node_modules/honkit/lib/output/modifiers/addHeadingId.js
generated
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const github_slugid_1 = __importDefault(require("github-slugid"));
|
||||
const editHTMLElement_1 = __importDefault(require("./editHTMLElement"));
|
||||
/**
|
||||
Add ID to an heading
|
||||
|
||||
@param {HTMLElement} heading
|
||||
*/
|
||||
function addId(heading) {
|
||||
if (heading.attr("id"))
|
||||
return;
|
||||
heading.attr("id", (0, github_slugid_1.default)(heading.text()));
|
||||
}
|
||||
/**
|
||||
Add ID to all headings
|
||||
|
||||
@param {HTMLDom} $
|
||||
*/
|
||||
function addHeadingId($) {
|
||||
return (0, editHTMLElement_1.default)($, "h1,h2,h3,h4,h5,h6", addId);
|
||||
}
|
||||
exports.default = addHeadingId;
|
10
book/node_modules/honkit/lib/output/modifiers/annotateText.d.ts
generated
vendored
Normal file
10
book/node_modules/honkit/lib/output/modifiers/annotateText.d.ts
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/**
|
||||
* Annotate text using a list of GlossaryEntry
|
||||
*
|
||||
* @param {List<GlossaryEntry>}
|
||||
* @param {string} glossaryFilePath
|
||||
* @param {HTMLDom} $
|
||||
*/
|
||||
declare function annotateText(entries: any, glossaryFilePath: any, $: any): void;
|
||||
export default annotateText;
|
||||
//# sourceMappingURL=annotateText.d.ts.map
|
1
book/node_modules/honkit/lib/output/modifiers/annotateText.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/modifiers/annotateText.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"annotateText.d.ts","sourceRoot":"","sources":["../../../src/output/modifiers/annotateText.ts"],"names":[],"mappings":"AAyDA;;;;;;GAMG;AACH,iBAAS,YAAY,CAAC,OAAO,KAAA,EAAE,gBAAgB,KAAA,EAAE,CAAC,KAAA,QA4BjD;AAED,eAAe,YAAY,CAAC"}
|
87
book/node_modules/honkit/lib/output/modifiers/annotateText.js
generated
vendored
Normal file
87
book/node_modules/honkit/lib/output/modifiers/annotateText.js
generated
vendored
Normal file
@ -0,0 +1,87 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const escape_html_1 = __importDefault(require("escape-html"));
|
||||
// Selector to ignore
|
||||
const ANNOTATION_IGNORE = ".no-glossary,code,pre,a,script,h1,h2,h3,h4,h5,h6";
|
||||
function pregQuote(str) {
|
||||
return `${str}`.replace(/([\\\.\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, "\\$1");
|
||||
}
|
||||
function replaceText($, el, search, replace, text_only) {
|
||||
return $(el).each(function () {
|
||||
let node = this.firstChild;
|
||||
let val;
|
||||
let new_val;
|
||||
// Only continue if firstChild exists.
|
||||
const replaceMap = new Map();
|
||||
if (node) {
|
||||
// Loop over all childNodes.
|
||||
while (node) {
|
||||
// Only process text nodes.
|
||||
if (node.nodeType === 3 && node.nodeValue) {
|
||||
// The original node value.
|
||||
val = node.nodeValue;
|
||||
new_val = val.replace(search, replace);
|
||||
// Only replace text if the new value is actually different!
|
||||
if (new_val !== val) {
|
||||
if (!text_only && /</.test(new_val)) {
|
||||
// The new value contains HTML, set it in a slower but far more
|
||||
// robust way.
|
||||
// Don't remove the node yet, or the loop will lose its place.
|
||||
const currentTextNode = $(node);
|
||||
const newHTML = val.replace(val, new_val);
|
||||
if (newHTML !== val) {
|
||||
// should not replace in looping, keep it in map
|
||||
replaceMap.set(currentTextNode, newHTML);
|
||||
}
|
||||
}
|
||||
else {
|
||||
// The new value contains no HTML, so it can be set in this
|
||||
// very fast, simple way.
|
||||
node.nodeValue = new_val;
|
||||
}
|
||||
}
|
||||
}
|
||||
node = node.nextSibling;
|
||||
}
|
||||
}
|
||||
// replace nodes after looping
|
||||
for (const [node, newHTML] of replaceMap.entries()) {
|
||||
node.replaceWith(newHTML);
|
||||
}
|
||||
replaceMap.clear(); // clean up
|
||||
});
|
||||
}
|
||||
/**
|
||||
* Annotate text using a list of GlossaryEntry
|
||||
*
|
||||
* @param {List<GlossaryEntry>}
|
||||
* @param {string} glossaryFilePath
|
||||
* @param {HTMLDom} $
|
||||
*/
|
||||
function annotateText(entries, glossaryFilePath, $) {
|
||||
entries.forEach((entry) => {
|
||||
const entryId = entry.getID();
|
||||
const name = entry.getName();
|
||||
const nameLowerCase = `${name}`.toLowerCase();
|
||||
const quotedName = pregQuote(nameLowerCase);
|
||||
const nameCleaned = nameLowerCase.replace(/[^\w\s]/, "");
|
||||
const searchRegex = nameLowerCase === nameCleaned
|
||||
? new RegExp(`\\b(${quotedName})\\b`, "gi")
|
||||
: new RegExp(`(?:\\s*)(${quotedName})(?:\\s*)`, "gi");
|
||||
const description = entry.getDescription();
|
||||
$("*").each(function () {
|
||||
const $this = $(this);
|
||||
if ($this.is(ANNOTATION_IGNORE) || $this.parents(ANNOTATION_IGNORE).length > 0)
|
||||
return;
|
||||
// @ts-expect-error ts-migrate(2554) FIXME: Expected 5 arguments, but got 4.
|
||||
replaceText($, this, searchRegex, (match, matchedTerm) => {
|
||||
return (`<a href="/${glossaryFilePath}#${entryId}" ` +
|
||||
`class="glossary-term" title="${(0, escape_html_1.default)(description)}">${matchedTerm}</a>`);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
exports.default = annotateText;
|
6
book/node_modules/honkit/lib/output/modifiers/editHTMLElement.d.ts
generated
vendored
Normal file
6
book/node_modules/honkit/lib/output/modifiers/editHTMLElement.d.ts
generated
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
/**
|
||||
Edit all elements matching a selector
|
||||
*/
|
||||
declare function editHTMLElement($: any, selector: any, fn: any): any;
|
||||
export default editHTMLElement;
|
||||
//# sourceMappingURL=editHTMLElement.d.ts.map
|
1
book/node_modules/honkit/lib/output/modifiers/editHTMLElement.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/modifiers/editHTMLElement.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"editHTMLElement.d.ts","sourceRoot":"","sources":["../../../src/output/modifiers/editHTMLElement.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,iBAAS,eAAe,CAAC,CAAC,KAAA,EAAE,QAAQ,KAAA,EAAE,EAAE,KAAA,OAOvC;AAED,eAAe,eAAe,CAAC"}
|
17
book/node_modules/honkit/lib/output/modifiers/editHTMLElement.js
generated
vendored
Normal file
17
book/node_modules/honkit/lib/output/modifiers/editHTMLElement.js
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const promise_1 = __importDefault(require("../../utils/promise"));
|
||||
/**
|
||||
Edit all elements matching a selector
|
||||
*/
|
||||
function editHTMLElement($, selector, fn) {
|
||||
const $elements = $(selector);
|
||||
return promise_1.default.forEach($elements, (el) => {
|
||||
const $el = $(el);
|
||||
return fn($el);
|
||||
});
|
||||
}
|
||||
exports.default = editHTMLElement;
|
7
book/node_modules/honkit/lib/output/modifiers/fetchRemoteImages.d.ts
generated
vendored
Normal file
7
book/node_modules/honkit/lib/output/modifiers/fetchRemoteImages.d.ts
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
import type cheerio from "cheerio";
|
||||
/**
|
||||
Fetch all remote images
|
||||
*/
|
||||
declare function fetchRemoteImages(rootFolder: string, currentFile: string, $: cheerio.CheerioAPI): Promise<any>;
|
||||
export default fetchRemoteImages;
|
||||
//# sourceMappingURL=fetchRemoteImages.d.ts.map
|
1
book/node_modules/honkit/lib/output/modifiers/fetchRemoteImages.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/modifiers/fetchRemoteImages.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"fetchRemoteImages.d.ts","sourceRoot":"","sources":["../../../src/output/modifiers/fetchRemoteImages.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC;;GAEG;AAEH,iBAAS,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CA2BvG;AAED,eAAe,iBAAiB,CAAC"}
|
37
book/node_modules/honkit/lib/output/modifiers/fetchRemoteImages.js
generated
vendored
Normal file
37
book/node_modules/honkit/lib/output/modifiers/fetchRemoteImages.js
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const crc_1 = __importDefault(require("crc"));
|
||||
const editHTMLElement_1 = __importDefault(require("./editHTMLElement"));
|
||||
const fs_1 = __importDefault(require("../../utils/fs"));
|
||||
const location_1 = __importDefault(require("../../utils/location"));
|
||||
/**
|
||||
Fetch all remote images
|
||||
*/
|
||||
function fetchRemoteImages(rootFolder, currentFile, $) {
|
||||
const currentDirectory = path_1.default.dirname(currentFile);
|
||||
return (0, editHTMLElement_1.default)($, "img", ($img) => {
|
||||
let src = $img.attr("src");
|
||||
const extension = path_1.default.extname(src);
|
||||
if (!location_1.default.isExternal(src)) {
|
||||
return;
|
||||
}
|
||||
// We avoid generating twice the same PNG
|
||||
const hash = crc_1.default.crc32(src).toString(16);
|
||||
const fileName = hash + extension;
|
||||
const filePath = path_1.default.join(rootFolder, fileName);
|
||||
return fs_1.default
|
||||
.assertFile(filePath, () => {
|
||||
return fs_1.default.download(src, filePath);
|
||||
})
|
||||
.then(() => {
|
||||
// Convert to relative
|
||||
src = location_1.default.relative(currentDirectory, fileName);
|
||||
$img.replaceWith(`<img src="${src}" />`);
|
||||
});
|
||||
});
|
||||
}
|
||||
exports.default = fetchRemoteImages;
|
10
book/node_modules/honkit/lib/output/modifiers/highlightCode.d.ts
generated
vendored
Normal file
10
book/node_modules/honkit/lib/output/modifiers/highlightCode.d.ts
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/**
|
||||
Highlight all code elements
|
||||
|
||||
@param {Function(lang, body) -> String} highlight
|
||||
@param {HTMLDom} $
|
||||
@return {Promise}
|
||||
*/
|
||||
declare function highlightCode(highlight: any, $: any): any;
|
||||
export default highlightCode;
|
||||
//# sourceMappingURL=highlightCode.d.ts.map
|
1
book/node_modules/honkit/lib/output/modifiers/highlightCode.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/modifiers/highlightCode.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"highlightCode.d.ts","sourceRoot":"","sources":["../../../src/output/modifiers/highlightCode.ts"],"names":[],"mappings":"AAqCA;;;;;;GAMG;AACH,iBAAS,aAAa,CAAC,SAAS,KAAA,EAAE,CAAC,KAAA,OAclC;AAED,eAAe,aAAa,CAAC"}
|
59
book/node_modules/honkit/lib/output/modifiers/highlightCode.js
generated
vendored
Normal file
59
book/node_modules/honkit/lib/output/modifiers/highlightCode.js
generated
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const is_1 = __importDefault(require("is"));
|
||||
const immutable_1 = __importDefault(require("immutable"));
|
||||
const promise_1 = __importDefault(require("../../utils/promise"));
|
||||
const editHTMLElement_1 = __importDefault(require("./editHTMLElement"));
|
||||
/**
|
||||
Return language for a code blocks from a list of class names
|
||||
|
||||
@param {Array<String>}
|
||||
@return {string}
|
||||
*/
|
||||
function getLanguageForClass(classNames) {
|
||||
return immutable_1.default.List(classNames)
|
||||
.map((cl) => {
|
||||
// Markdown
|
||||
// @ts-expect-error ts-migrate(2339) FIXME: Property 'search' does not exist on type 'unknown'... Remove this comment to see the full error message
|
||||
if (cl.search("lang-") === 0) {
|
||||
// @ts-expect-error ts-migrate(2339) FIXME: Property 'slice' does not exist on type 'unknown'.
|
||||
return cl.slice("lang-".length);
|
||||
}
|
||||
// Asciidoc
|
||||
// @ts-expect-error ts-migrate(2339) FIXME: Property 'search' does not exist on type 'unknown'... Remove this comment to see the full error message
|
||||
if (cl.search("language-") === 0) {
|
||||
// @ts-expect-error ts-migrate(2339) FIXME: Property 'slice' does not exist on type 'unknown'.
|
||||
return cl.slice("language-".length);
|
||||
}
|
||||
return null;
|
||||
})
|
||||
.find((cl) => {
|
||||
return Boolean(cl);
|
||||
});
|
||||
}
|
||||
/**
|
||||
Highlight all code elements
|
||||
|
||||
@param {Function(lang, body) -> String} highlight
|
||||
@param {HTMLDom} $
|
||||
@return {Promise}
|
||||
*/
|
||||
function highlightCode(highlight, $) {
|
||||
return (0, editHTMLElement_1.default)($, "code", ($code) => {
|
||||
const classNames = ($code.attr("class") || "").split(" ");
|
||||
const lang = getLanguageForClass(classNames);
|
||||
const source = $code.text();
|
||||
return (0, promise_1.default)(highlight(lang, source)).then((r) => {
|
||||
if (is_1.default.string(r.html)) {
|
||||
$code.html(r.html);
|
||||
}
|
||||
else {
|
||||
$code.text(r.text);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
exports.default = highlightCode;
|
22
book/node_modules/honkit/lib/output/modifiers/index.d.ts
generated
vendored
Normal file
22
book/node_modules/honkit/lib/output/modifiers/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
import modifyHTML0 from "./modifyHTML";
|
||||
import inlineAssets0 from "./inlineAssets";
|
||||
import addHeadingId0 from "./addHeadingId";
|
||||
import svgToImg0 from "./svgToImg";
|
||||
import fetchRemoteImages0 from "./fetchRemoteImages";
|
||||
import resolveLinks0 from "./resolveLinks";
|
||||
import resolveImages0 from "./resolveImages";
|
||||
import annotateText0 from "./annotateText";
|
||||
import highlightCode0 from "./highlightCode";
|
||||
declare const _default: {
|
||||
modifyHTML: typeof modifyHTML0;
|
||||
inlineAssets: typeof inlineAssets0;
|
||||
addHeadingId: typeof addHeadingId0;
|
||||
svgToImg: typeof svgToImg0;
|
||||
fetchRemoteImages: typeof fetchRemoteImages0;
|
||||
resolveLinks: typeof resolveLinks0;
|
||||
resolveImages: typeof resolveImages0;
|
||||
annotateText: typeof annotateText0;
|
||||
highlightCode: typeof highlightCode0;
|
||||
};
|
||||
export default _default;
|
||||
//# sourceMappingURL=index.d.ts.map
|
1
book/node_modules/honkit/lib/output/modifiers/index.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/modifiers/index.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/output/modifiers/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,kBAAkB,MAAM,qBAAqB,CAAC;AACrD,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,cAAc,MAAM,iBAAiB,CAAC;;;;;;;;;;;;AAC7C,wBAYE"}
|
26
book/node_modules/honkit/lib/output/modifiers/index.js
generated
vendored
Normal file
26
book/node_modules/honkit/lib/output/modifiers/index.js
generated
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const modifyHTML_1 = __importDefault(require("./modifyHTML"));
|
||||
const inlineAssets_1 = __importDefault(require("./inlineAssets"));
|
||||
const addHeadingId_1 = __importDefault(require("./addHeadingId"));
|
||||
const svgToImg_1 = __importDefault(require("./svgToImg"));
|
||||
const fetchRemoteImages_1 = __importDefault(require("./fetchRemoteImages"));
|
||||
const resolveLinks_1 = __importDefault(require("./resolveLinks"));
|
||||
const resolveImages_1 = __importDefault(require("./resolveImages"));
|
||||
const annotateText_1 = __importDefault(require("./annotateText"));
|
||||
const highlightCode_1 = __importDefault(require("./highlightCode"));
|
||||
exports.default = {
|
||||
modifyHTML: modifyHTML_1.default,
|
||||
inlineAssets: inlineAssets_1.default,
|
||||
// HTML transformations
|
||||
addHeadingId: addHeadingId_1.default,
|
||||
svgToImg: svgToImg_1.default,
|
||||
fetchRemoteImages: fetchRemoteImages_1.default,
|
||||
resolveLinks: resolveLinks_1.default,
|
||||
resolveImages: resolveImages_1.default,
|
||||
annotateText: annotateText_1.default,
|
||||
highlightCode: highlightCode_1.default
|
||||
};
|
8
book/node_modules/honkit/lib/output/modifiers/inlineAssets.d.ts
generated
vendored
Normal file
8
book/node_modules/honkit/lib/output/modifiers/inlineAssets.d.ts
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
/**
|
||||
Inline all assets in a page
|
||||
|
||||
@param {string} rootFolder
|
||||
*/
|
||||
declare function inlineAssets(rootFolder: any, currentFile: any): ($: any) => any;
|
||||
export default inlineAssets;
|
||||
//# sourceMappingURL=inlineAssets.d.ts.map
|
1
book/node_modules/honkit/lib/output/modifiers/inlineAssets.d.ts.map
generated
vendored
Normal file
1
book/node_modules/honkit/lib/output/modifiers/inlineAssets.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"inlineAssets.d.ts","sourceRoot":"","sources":["../../../src/output/modifiers/inlineAssets.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,iBAAS,YAAY,CAAC,UAAU,KAAA,EAAE,WAAW,KAAA,mBAc5C;AAED,eAAe,YAAY,CAAC"}
|
29
book/node_modules/honkit/lib/output/modifiers/inlineAssets.js
generated
vendored
Normal file
29
book/node_modules/honkit/lib/output/modifiers/inlineAssets.js
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const resolveImages_1 = __importDefault(require("./resolveImages"));
|
||||
const fetchRemoteImages_1 = __importDefault(require("./fetchRemoteImages"));
|
||||
const svgToImg_1 = __importDefault(require("./svgToImg"));
|
||||
const inlineSvg_1 = __importDefault(require("./inlineSvg"));
|
||||
const inlinePng_1 = __importDefault(require("./inlinePng"));
|
||||
const promise_1 = __importDefault(require("../../utils/promise"));
|
||||
/**
|
||||
Inline all assets in a page
|
||||
|
||||
@param {string} rootFolder
|
||||
*/
|
||||
function inlineAssets(rootFolder, currentFile) {
|
||||
return function ($) {
|
||||
return ((0, promise_1.default)()
|
||||
// Resolving images and fetching external images should be
|
||||
// done before svg conversion
|
||||
.then(resolveImages_1.default.bind(null, currentFile, $))
|
||||
.then(fetchRemoteImages_1.default.bind(null, rootFolder, currentFile, $))
|
||||
.then(svgToImg_1.default.bind(null, rootFolder, currentFile, $))
|
||||
.then(inlineSvg_1.default.bind(null, rootFolder, currentFile, $))
|
||||
.then(inlinePng_1.default.bind(null, rootFolder, currentFile, $)));
|
||||
};
|
||||
}
|
||||
exports.default = inlineAssets;
|
10
book/node_modules/honkit/lib/output/modifiers/inlinePng.d.ts
generated
vendored
Normal file
10
book/node_modules/honkit/lib/output/modifiers/inlinePng.d.ts
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/**
|
||||
Convert all inline PNG images to PNG file
|
||||
|
||||
@param {string} rootFolder
|
||||
@param {HTMLDom} $
|
||||
@return {Promise}
|
||||
*/
|
||||
declare function inlinePng(rootFolder: any, currentFile: any, $: any): any;
|
||||
export default inlinePng;
|
||||
//# sourceMappingURL=inlinePng.d.ts.map
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user