This commit is contained in:
2025-05-12 05:38:44 +09:00
parent dced21c3f8
commit 6d78bfa46e
8120 changed files with 1161564 additions and 0 deletions

14
book/node_modules/honkit/lib/output/Generator.d.ts generated vendored Normal file
View 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

View 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
View 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
View 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

View 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
View 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
View 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

View 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
View 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;

View 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

View 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"}

View 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;

View 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

View 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"}

View 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;

View 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

View 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"}

View 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;

View 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

View 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"}

View 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
View File

@ -0,0 +1,3 @@
declare const _default: any;
export default _default;
//# sourceMappingURL=index.d.ts.map

View 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
View 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
});

View 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

View 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
View 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;

View 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

View 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
View 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;

View File

@ -0,0 +1,4 @@
import Immutable from "immutable";
declare const Options: Immutable.Record.Class;
export default Options;
//# sourceMappingURL=options.d.ts.map

View 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
View 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;

View 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

View 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
View 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
View 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

View 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
View 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
View 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

View 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
View 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
View 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

View 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
View 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;

View 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

View 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
View 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;

View 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

View 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"}

View 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;

View 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

View 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"}

View 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;

View File

@ -0,0 +1,3 @@
declare const _default: {};
export default _default;
//# sourceMappingURL=index.d.ts.map

View 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
View File

@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = {};

View 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

View 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"}

View 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;

View 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

View 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"}

View 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
View 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
View 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
View 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
View 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

View 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
View 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
};

View 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

View 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
View 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
View 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

View 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
View 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));
});
}

View File

@ -0,0 +1,4 @@
import Immutable from "immutable";
declare const Options: Immutable.Record.Class;
export default Options;
//# sourceMappingURL=options.d.ts.map

View 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
View 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;

View 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

View 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"}

View 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;

View 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

View 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"}

View 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;

View 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

View 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"}

View 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;

View 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

View 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"}

View 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;

View 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

View 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"}

View 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;

View 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

View 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
View 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
};

View 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

View 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"}

View 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;

View 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