honkit 5.1.5 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/decodeConfig.js +1 -2
- package/lib/api/decodeGlobal.js +1 -2
- package/lib/api/encodeGlobal.d.ts.map +1 -1
- package/lib/bin.d.ts.map +1 -1
- package/lib/cli/buildEbook.js +1 -1
- package/lib/cli/server.d.ts +0 -1
- package/lib/cli/server.d.ts.map +1 -1
- package/lib/cli/server.js +4 -0
- package/lib/fs/node.js +1 -1
- package/lib/models/file.d.ts +0 -1
- package/lib/models/file.d.ts.map +1 -1
- package/lib/models/fs.d.ts +0 -1
- package/lib/models/fs.d.ts.map +1 -1
- package/lib/models/hash.js +2 -2
- package/lib/output/generateBook.js +2 -3
- package/lib/output/json/onFinish.js +1 -2
- package/lib/output/json/onPage.js +1 -2
- package/lib/output/modifiers/fetchRemoteImages.d.ts +2 -2
- package/lib/output/modifiers/fetchRemoteImages.d.ts.map +1 -1
- package/lib/output/modifiers/inlineSvg.d.ts.map +1 -1
- package/lib/output/modifiers/inlineSvg.js +1 -0
- package/lib/output/modifiers/modifyHTML.d.ts.map +1 -1
- package/lib/output/modifiers/modifyHTML.js +1 -0
- package/lib/output/testing/generateMock.js +1 -2
- package/lib/output/website/onFinish.js +1 -2
- package/lib/output/website/onPage.js +1 -2
- package/lib/plugins/PluginResolver.js +2 -1
- package/lib/plugins/loadPlugin.js +1 -2
- package/lib/utils/command.d.ts +0 -1
- package/lib/utils/command.d.ts.map +1 -1
- package/lib/utils/fs.d.ts +0 -1
- package/lib/utils/fs.d.ts.map +1 -1
- package/lib/utils/promise.js +6 -7
- package/package.json +33 -31
- package/lib/__tests__/__fixtures__/honkit/book.d.ts +0 -7
- package/lib/__tests__/__fixtures__/honkit/book.d.ts.map +0 -1
- package/lib/__tests__/__fixtures__/honkit/book.js +0 -9
- package/lib/__tests__/e2e.test.d.ts +0 -2
- package/lib/__tests__/e2e.test.d.ts.map +0 -1
- package/lib/__tests__/e2e.test.js +0 -81
- package/lib/__tests__/init.d.ts +0 -2
- package/lib/__tests__/init.d.ts.map +0 -1
- package/lib/__tests__/init.js +0 -19
- package/lib/__tests__/satisfies.d.ts +0 -2
- package/lib/__tests__/satisfies.d.ts.map +0 -1
- package/lib/__tests__/satisfies.js +0 -11
- package/lib/__tests__/snapshot-asciidoc.d.ts +0 -2
- package/lib/__tests__/snapshot-asciidoc.d.ts.map +0 -1
- package/lib/__tests__/snapshot-asciidoc.js +0 -48
- package/lib/__tests__/snapshot-honkit.d.ts +0 -2
- package/lib/__tests__/snapshot-honkit.d.ts.map +0 -1
- package/lib/__tests__/snapshot-honkit.js +0 -48
- package/lib/constants/__tests__/configSchema.d.ts +0 -2
- package/lib/constants/__tests__/configSchema.d.ts.map +0 -1
- package/lib/constants/__tests__/configSchema.js +0 -41
- package/lib/fs/__tests__/mock.d.ts +0 -2
- package/lib/fs/__tests__/mock.d.ts.map +0 -1
- package/lib/fs/__tests__/mock.js +0 -68
- package/lib/models/__tests__/config.d.ts +0 -2
- package/lib/models/__tests__/config.d.ts.map +0 -1
- package/lib/models/__tests__/config.js +0 -164
- package/lib/models/__tests__/glossary.d.ts +0 -2
- package/lib/models/__tests__/glossary.d.ts.map +0 -1
- package/lib/models/__tests__/glossary.js +0 -38
- package/lib/models/__tests__/glossaryEntry.d.ts +0 -2
- package/lib/models/__tests__/glossaryEntry.d.ts.map +0 -1
- package/lib/models/__tests__/glossaryEntry.js +0 -16
- package/lib/models/__tests__/page.d.ts +0 -2
- package/lib/models/__tests__/page.d.ts.map +0 -1
- package/lib/models/__tests__/page.js +0 -26
- package/lib/models/__tests__/plugin.d.ts +0 -2
- package/lib/models/__tests__/plugin.d.ts.map +0 -1
- package/lib/models/__tests__/plugin.js +0 -50
- package/lib/models/__tests__/pluginDependency.d.ts +0 -2
- package/lib/models/__tests__/pluginDependency.d.ts.map +0 -1
- package/lib/models/__tests__/pluginDependency.js +0 -71
- package/lib/models/__tests__/summary.d.ts +0 -2
- package/lib/models/__tests__/summary.d.ts.map +0 -1
- package/lib/models/__tests__/summary.js +0 -115
- package/lib/models/__tests__/summaryArticle.d.ts +0 -2
- package/lib/models/__tests__/summaryArticle.d.ts.map +0 -1
- package/lib/models/__tests__/summaryArticle.js +0 -117
- package/lib/models/__tests__/summaryPart.d.ts +0 -2
- package/lib/models/__tests__/summaryPart.d.ts.map +0 -1
- package/lib/models/__tests__/summaryPart.js +0 -24
- package/lib/models/__tests__/templateBlock.d.ts +0 -2
- package/lib/models/__tests__/templateBlock.d.ts.map +0 -1
- package/lib/models/__tests__/templateBlock.js +0 -172
- package/lib/models/__tests__/templateEngine.d.ts +0 -2
- package/lib/models/__tests__/templateEngine.d.ts.map +0 -1
- package/lib/models/__tests__/templateEngine.js +0 -49
- package/lib/modifiers/config/__tests__/addPlugin.d.ts +0 -2
- package/lib/modifiers/config/__tests__/addPlugin.d.ts.map +0 -1
- package/lib/modifiers/config/__tests__/addPlugin.js +0 -30
- package/lib/modifiers/config/__tests__/removePlugin.d.ts +0 -2
- package/lib/modifiers/config/__tests__/removePlugin.d.ts.map +0 -1
- package/lib/modifiers/config/__tests__/removePlugin.js +0 -29
- package/lib/modifiers/config/__tests__/togglePlugin.d.ts +0 -2
- package/lib/modifiers/config/__tests__/togglePlugin.d.ts.map +0 -1
- package/lib/modifiers/config/__tests__/togglePlugin.js +0 -28
- package/lib/modifiers/summary/__tests__/editPartTitle.d.ts +0 -2
- package/lib/modifiers/summary/__tests__/editPartTitle.d.ts.map +0 -1
- package/lib/modifiers/summary/__tests__/editPartTitle.js +0 -41
- package/lib/modifiers/summary/__tests__/insertArticle.d.ts +0 -2
- package/lib/modifiers/summary/__tests__/insertArticle.d.ts.map +0 -1
- package/lib/modifiers/summary/__tests__/insertArticle.js +0 -72
- package/lib/modifiers/summary/__tests__/insertPart.d.ts +0 -2
- package/lib/modifiers/summary/__tests__/insertPart.d.ts.map +0 -1
- package/lib/modifiers/summary/__tests__/insertPart.js +0 -56
- package/lib/modifiers/summary/__tests__/mergeAtLevel.d.ts +0 -2
- package/lib/modifiers/summary/__tests__/mergeAtLevel.d.ts.map +0 -1
- package/lib/modifiers/summary/__tests__/mergeAtLevel.js +0 -45
- package/lib/modifiers/summary/__tests__/moveArticle.d.ts +0 -2
- package/lib/modifiers/summary/__tests__/moveArticle.d.ts.map +0 -1
- package/lib/modifiers/summary/__tests__/moveArticle.js +0 -66
- package/lib/modifiers/summary/__tests__/moveArticleAfter.d.ts +0 -2
- package/lib/modifiers/summary/__tests__/moveArticleAfter.d.ts.map +0 -1
- package/lib/modifiers/summary/__tests__/moveArticleAfter.js +0 -75
- package/lib/modifiers/summary/__tests__/removeArticle.d.ts +0 -2
- package/lib/modifiers/summary/__tests__/removeArticle.d.ts.map +0 -1
- package/lib/modifiers/summary/__tests__/removeArticle.js +0 -54
- package/lib/output/__tests__/ebook.d.ts +0 -2
- package/lib/output/__tests__/ebook.d.ts.map +0 -1
- package/lib/output/__tests__/ebook.js +0 -17
- package/lib/output/__tests__/json.d.ts +0 -2
- package/lib/output/__tests__/json.d.ts.map +0 -1
- package/lib/output/__tests__/json.js +0 -43
- package/lib/output/__tests__/plugin-hooks.d.ts +0 -2
- package/lib/output/__tests__/plugin-hooks.d.ts.map +0 -1
- package/lib/output/__tests__/plugin-hooks.js +0 -57
- package/lib/output/__tests__/website.d.ts +0 -2
- package/lib/output/__tests__/website.d.ts.map +0 -1
- package/lib/output/__tests__/website.js +0 -121
- package/lib/output/modifiers/__tests__/addHeadingId.d.ts +0 -2
- package/lib/output/modifiers/__tests__/addHeadingId.d.ts.map +0 -1
- package/lib/output/modifiers/__tests__/addHeadingId.js +0 -46
- package/lib/output/modifiers/__tests__/annotateText.d.ts +0 -2
- package/lib/output/modifiers/__tests__/annotateText.d.ts.map +0 -1
- package/lib/output/modifiers/__tests__/annotateText.js +0 -76
- package/lib/output/modifiers/__tests__/fetchRemoteImages.d.ts +0 -2
- package/lib/output/modifiers/__tests__/fetchRemoteImages.d.ts.map +0 -1
- package/lib/output/modifiers/__tests__/fetchRemoteImages.js +0 -69
- package/lib/output/modifiers/__tests__/highlightCode.d.ts +0 -2
- package/lib/output/modifiers/__tests__/highlightCode.d.ts.map +0 -1
- package/lib/output/modifiers/__tests__/highlightCode.js +0 -71
- package/lib/output/modifiers/__tests__/inlinePng.d.ts +0 -2
- package/lib/output/modifiers/__tests__/inlinePng.d.ts.map +0 -1
- package/lib/output/modifiers/__tests__/inlinePng.js +0 -45
- package/lib/output/modifiers/__tests__/inlineSvg.d.ts +0 -2
- package/lib/output/modifiers/__tests__/inlineSvg.d.ts.map +0 -1
- package/lib/output/modifiers/__tests__/inlineSvg.js +0 -65
- package/lib/output/modifiers/__tests__/resolveImages.d.ts +0 -2
- package/lib/output/modifiers/__tests__/resolveImages.d.ts.map +0 -1
- package/lib/output/modifiers/__tests__/resolveImages.js +0 -62
- package/lib/output/modifiers/__tests__/resolveLinks.d.ts +0 -2
- package/lib/output/modifiers/__tests__/resolveLinks.d.ts.map +0 -1
- package/lib/output/modifiers/__tests__/resolveLinks.js +0 -104
- package/lib/output/modifiers/__tests__/svgToImg.d.ts +0 -2
- package/lib/output/modifiers/__tests__/svgToImg.d.ts.map +0 -1
- package/lib/output/modifiers/__tests__/svgToImg.js +0 -52
- package/lib/output/website/__tests__/i18n.d.ts +0 -2
- package/lib/output/website/__tests__/i18n.d.ts.map +0 -1
- package/lib/output/website/__tests__/i18n.js +0 -40
- package/lib/parse/__tests__/listAssets.d.ts +0 -2
- package/lib/parse/__tests__/listAssets.d.ts.map +0 -1
- package/lib/parse/__tests__/listAssets.js +0 -63
- package/lib/parse/__tests__/parseBook.d.ts +0 -2
- package/lib/parse/__tests__/parseBook.d.ts.map +0 -1
- package/lib/parse/__tests__/parseBook.js +0 -77
- package/lib/parse/__tests__/parseGlossary.d.ts +0 -2
- package/lib/parse/__tests__/parseGlossary.d.ts.map +0 -1
- package/lib/parse/__tests__/parseGlossary.js +0 -32
- package/lib/parse/__tests__/parseIgnore.d.ts +0 -2
- package/lib/parse/__tests__/parseIgnore.d.ts.map +0 -1
- package/lib/parse/__tests__/parseIgnore.js +0 -37
- package/lib/parse/__tests__/parsePageFromString.d.ts +0 -2
- package/lib/parse/__tests__/parsePageFromString.d.ts.map +0 -1
- package/lib/parse/__tests__/parsePageFromString.js +0 -34
- package/lib/parse/__tests__/parseReadme.d.ts +0 -2
- package/lib/parse/__tests__/parseReadme.d.ts.map +0 -1
- package/lib/parse/__tests__/parseReadme.js +0 -33
- package/lib/parse/__tests__/parseSummary.d.ts +0 -2
- package/lib/parse/__tests__/parseSummary.d.ts.map +0 -1
- package/lib/parse/__tests__/parseSummary.js +0 -30
- package/lib/plugins/__tests__/listDependencies.d.ts +0 -2
- package/lib/plugins/__tests__/listDependencies.d.ts.map +0 -1
- package/lib/plugins/__tests__/listDependencies.js +0 -28
- package/lib/plugins/__tests__/sortDependencies.d.ts +0 -2
- package/lib/plugins/__tests__/sortDependencies.d.ts.map +0 -1
- package/lib/plugins/__tests__/sortDependencies.js +0 -28
- package/lib/plugins/__tests__/validatePlugin.d.ts +0 -2
- package/lib/plugins/__tests__/validatePlugin.d.ts.map +0 -1
- package/lib/plugins/__tests__/validatePlugin.js +0 -99
- package/lib/templating/__tests__/conrefsLoader.d.ts +0 -2
- package/lib/templating/__tests__/conrefsLoader.d.ts.map +0 -1
- package/lib/templating/__tests__/conrefsLoader.js +0 -90
- package/lib/templating/__tests__/postRender.d.ts +0 -2
- package/lib/templating/__tests__/postRender.d.ts.map +0 -1
- package/lib/templating/__tests__/postRender.js +0 -52
- package/lib/templating/__tests__/replaceShortcuts.d.ts +0 -2
- package/lib/templating/__tests__/replaceShortcuts.d.ts.map +0 -1
- package/lib/templating/__tests__/replaceShortcuts.js +0 -27
- package/lib/utils/__tests__/git.d.ts +0 -2
- package/lib/utils/__tests__/git.d.ts.map +0 -1
- package/lib/utils/__tests__/git.js +0 -46
- package/lib/utils/__tests__/location.d.ts +0 -2
- package/lib/utils/__tests__/location.d.ts.map +0 -1
- package/lib/utils/__tests__/location.js +0 -81
- package/lib/utils/__tests__/path.d.ts +0 -2
- package/lib/utils/__tests__/path.d.ts.map +0 -1
- package/lib/utils/__tests__/path.js +0 -19
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const assert_1 = __importDefault(require("assert"));
|
|
7
|
-
const generateMock_1 = require("../testing/generateMock");
|
|
8
|
-
const immutable_1 = __importDefault(require("immutable"));
|
|
9
|
-
const generatePages_1 = __importDefault(require("../generatePages"));
|
|
10
|
-
const plugin_1 = __importDefault(require("../../models/plugin"));
|
|
11
|
-
const json_1 = __importDefault(require("../json"));
|
|
12
|
-
const createOutputWithPlugin = async ({ Generator, plugin, files }) => {
|
|
13
|
-
const { output } = await (0, generateMock_1.generateMockBook)(Generator, files);
|
|
14
|
-
// add plugin
|
|
15
|
-
return output.merge({
|
|
16
|
-
plugins: [plugin],
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
describe("plugin-hooks", function () {
|
|
20
|
-
it(`should be called "page" and "page:before" when generate each pages`, async () => {
|
|
21
|
-
let onPageBeforeCount = 0;
|
|
22
|
-
let onPageCount = 0;
|
|
23
|
-
const plugin = new plugin_1.default({
|
|
24
|
-
name: "testplugin",
|
|
25
|
-
version: "*",
|
|
26
|
-
path: "test.js",
|
|
27
|
-
package: immutable_1.default.fromJS({
|
|
28
|
-
name: "testplugin",
|
|
29
|
-
}),
|
|
30
|
-
content: immutable_1.default.fromJS({
|
|
31
|
-
hooks: {
|
|
32
|
-
"page:before": function (page) {
|
|
33
|
-
onPageBeforeCount++;
|
|
34
|
-
return page;
|
|
35
|
-
},
|
|
36
|
-
page: function (page) {
|
|
37
|
-
onPageCount++;
|
|
38
|
-
return page;
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
}),
|
|
42
|
-
});
|
|
43
|
-
const output = await createOutputWithPlugin({
|
|
44
|
-
Generator: json_1.default,
|
|
45
|
-
plugin,
|
|
46
|
-
files: {
|
|
47
|
-
"README.md": "Hello World",
|
|
48
|
-
},
|
|
49
|
-
});
|
|
50
|
-
// call twice
|
|
51
|
-
await (0, generatePages_1.default)(json_1.default, output);
|
|
52
|
-
await (0, generatePages_1.default)(json_1.default, output);
|
|
53
|
-
// assert
|
|
54
|
-
assert_1.default.strictEqual(onPageBeforeCount, 2);
|
|
55
|
-
assert_1.default.strictEqual(onPageCount, 2);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../../src/output/__tests__/website.ts"],"names":[],"mappings":""}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const fs_1 = __importDefault(require("fs"));
|
|
7
|
-
const generateMock_1 = __importDefault(require("../testing/generateMock"));
|
|
8
|
-
const website_1 = __importDefault(require("../website"));
|
|
9
|
-
const longTest = (name, fn) => test(name, fn, 1000 * 30);
|
|
10
|
-
describe("WebsiteGenerator", () => {
|
|
11
|
-
test("should generate an index.html", async () => {
|
|
12
|
-
const folder = await (0, generateMock_1.default)(website_1.default, {
|
|
13
|
-
"README.md": "Hello World"
|
|
14
|
-
});
|
|
15
|
-
expect(folder).toHaveFile("index.html");
|
|
16
|
-
}, 60 * 1000);
|
|
17
|
-
describe("Glossary", () => {
|
|
18
|
-
let folder;
|
|
19
|
-
beforeAll(() => {
|
|
20
|
-
return (0, generateMock_1.default)(website_1.default, {
|
|
21
|
-
"README.md": "Hello World",
|
|
22
|
-
"SUMMARY.md": "* [Deep](folder/page.md)",
|
|
23
|
-
folder: {
|
|
24
|
-
"page.md": "Hello World"
|
|
25
|
-
},
|
|
26
|
-
"GLOSSARY.md": "# Glossary\n\n## Hello\n\nHello World"
|
|
27
|
-
}).then((_folder) => {
|
|
28
|
-
folder = _folder;
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
longTest("should generate a GLOSSARY.html", () => {
|
|
32
|
-
expect(folder).toHaveFile("GLOSSARY.html");
|
|
33
|
-
});
|
|
34
|
-
longTest("should correctly resolve glossary links in README", () => {
|
|
35
|
-
const html = fs_1.default.readFileSync(`${folder}/index.html`, "utf8");
|
|
36
|
-
expect(html).toHaveDOMElement(".page-inner a[href=\"GLOSSARY.html#hello\"]");
|
|
37
|
-
});
|
|
38
|
-
longTest("should correctly resolve glossary links in directory", () => {
|
|
39
|
-
const html = fs_1.default.readFileSync(`${folder}/folder/page.html`, "utf8");
|
|
40
|
-
expect(html).toHaveDOMElement(".page-inner a[href=\"../GLOSSARY.html#hello\"]");
|
|
41
|
-
});
|
|
42
|
-
longTest("should accept a custom glossary file", () => {
|
|
43
|
-
return (0, generateMock_1.default)(website_1.default, {
|
|
44
|
-
"README.md": "Hello World",
|
|
45
|
-
"book.json": "{ \"structure\": { \"glossary\": \"custom.md\" } }",
|
|
46
|
-
"custom.md": "# Glossary\n\n## Hello\n\nHello World"
|
|
47
|
-
}).then((folder) => {
|
|
48
|
-
expect(folder).toHaveFile("custom.html");
|
|
49
|
-
expect(folder).not.toHaveFile("GLOSSARY.html");
|
|
50
|
-
const html = fs_1.default.readFileSync(`${folder}/index.html`, "utf8");
|
|
51
|
-
expect(html).toHaveDOMElement(".page-inner a[href=\"custom.html#hello\"]");
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
test.skip("should copy asset files", () => {
|
|
56
|
-
return (0, generateMock_1.default)(website_1.default, {
|
|
57
|
-
"README.md": "Hello World",
|
|
58
|
-
"myJsFile.js": "var a = \"test\";",
|
|
59
|
-
folder: {
|
|
60
|
-
"AnotherAssetFile.md": "# Even md"
|
|
61
|
-
}
|
|
62
|
-
}).then((folder) => {
|
|
63
|
-
expect(folder).toHaveFile("index.html");
|
|
64
|
-
expect(folder).toHaveFile("myJsFile.js");
|
|
65
|
-
expect(folder).toHaveFile("folder/AnotherAssetFile.md");
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
test.skip("should generate an index.html for AsciiDoc", async () => {
|
|
69
|
-
const folder = await (0, generateMock_1.default)(website_1.default, {
|
|
70
|
-
"README.adoc": "Hello World"
|
|
71
|
-
});
|
|
72
|
-
expect(folder).toHaveFile("index.html");
|
|
73
|
-
});
|
|
74
|
-
longTest("should generate an HTML file for each articles", () => {
|
|
75
|
-
return (0, generateMock_1.default)(website_1.default, {
|
|
76
|
-
"README.md": "Hello World",
|
|
77
|
-
"SUMMARY.md": "# Summary\n\n* [Page](test/page.md)",
|
|
78
|
-
test: {
|
|
79
|
-
"page.md": "Hello 2"
|
|
80
|
-
}
|
|
81
|
-
}).then((folder) => {
|
|
82
|
-
expect(folder).toHaveFile("index.html");
|
|
83
|
-
expect(folder).toHaveFile("test/page.html");
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
longTest("should not generate file if entry file doesn't exist", () => {
|
|
87
|
-
return (0, generateMock_1.default)(website_1.default, {
|
|
88
|
-
"README.md": "Hello World",
|
|
89
|
-
"SUMMARY.md": "# Summary\n\n* [Page 1](page.md)\n* [Page 2](test/page.md)",
|
|
90
|
-
test: {
|
|
91
|
-
"page.md": "Hello 2"
|
|
92
|
-
}
|
|
93
|
-
}).then((folder) => {
|
|
94
|
-
expect(folder).toHaveFile("index.html");
|
|
95
|
-
expect(folder).not.toHaveFile("page.html");
|
|
96
|
-
expect(folder).toHaveFile("test/page.html");
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
longTest("should generate a multilingual book", () => {
|
|
100
|
-
return (0, generateMock_1.default)(website_1.default, {
|
|
101
|
-
"LANGS.md": "# Languages\n\n* [en](en)\n* [fr](fr)",
|
|
102
|
-
en: {
|
|
103
|
-
"README.md": "Hello"
|
|
104
|
-
},
|
|
105
|
-
fr: {
|
|
106
|
-
"README.md": "Bonjour"
|
|
107
|
-
}
|
|
108
|
-
}).then((folder) => {
|
|
109
|
-
// It should generate languages
|
|
110
|
-
expect(folder).toHaveFile("en/index.html");
|
|
111
|
-
expect(folder).toHaveFile("fr/index.html");
|
|
112
|
-
// Should not copy languages as assets
|
|
113
|
-
expect(folder).not.toHaveFile("en/README.md");
|
|
114
|
-
expect(folder).not.toHaveFile("fr/README.md");
|
|
115
|
-
// Should copy assets only once
|
|
116
|
-
expect(folder).toHaveFile("gitbook/style.css");
|
|
117
|
-
expect(folder).not.toHaveFile("en/gitbook/style.css");
|
|
118
|
-
expect(folder).toHaveFile("index.html");
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"addHeadingId.d.ts","sourceRoot":"","sources":["../../../../src/output/modifiers/__tests__/addHeadingId.ts"],"names":[],"mappings":""}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const cheerio = __importStar(require("cheerio"));
|
|
30
|
-
const addHeadingId_1 = __importDefault(require("../addHeadingId"));
|
|
31
|
-
describe("addHeadingId", () => {
|
|
32
|
-
test("should add an ID if none", () => {
|
|
33
|
-
const $ = cheerio.load("<h1>Hello World</h1><h2>Cool !!</h2>", { _useHtmlParser2: true });
|
|
34
|
-
return (0, addHeadingId_1.default)($).then(() => {
|
|
35
|
-
const html = $.html();
|
|
36
|
-
expect(html).toBe("<h1 id=\"hello-world\">Hello World</h1><h2 id=\"cool-\">Cool !!</h2>");
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
test("should not change existing IDs", () => {
|
|
40
|
-
const $ = cheerio.load("<h1 id=\"awesome\">Hello World</h1>", { _useHtmlParser2: true });
|
|
41
|
-
return (0, addHeadingId_1.default)($).then(() => {
|
|
42
|
-
const html = $.html();
|
|
43
|
-
expect(html).toBe("<h1 id=\"awesome\">Hello World</h1>");
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"annotateText.d.ts","sourceRoot":"","sources":["../../../../src/output/modifiers/__tests__/annotateText.ts"],"names":[],"mappings":""}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const immutable_1 = __importDefault(require("immutable"));
|
|
30
|
-
const cheerio = __importStar(require("cheerio"));
|
|
31
|
-
const glossaryEntry_1 = __importDefault(require("../../../models/glossaryEntry"));
|
|
32
|
-
const annotateText_1 = __importDefault(require("../annotateText"));
|
|
33
|
-
describe("annotateText", () => {
|
|
34
|
-
const entries = immutable_1.default.List([
|
|
35
|
-
new glossaryEntry_1.default({ name: "Word" }),
|
|
36
|
-
new glossaryEntry_1.default({ name: "Multiple Words" }),
|
|
37
|
-
]);
|
|
38
|
-
test("should annotate text", () => {
|
|
39
|
-
const $ = cheerio.load("<p>This is a word, and multiple words</p>", { _useHtmlParser2: true });
|
|
40
|
-
(0, annotateText_1.default)(entries, "GLOSSARY.md", $);
|
|
41
|
-
const links = $("a");
|
|
42
|
-
expect(links.length).toBe(2);
|
|
43
|
-
const word = $(links.get(0));
|
|
44
|
-
expect(word.attr("href")).toBe("/GLOSSARY.md#word");
|
|
45
|
-
expect(word.text()).toBe("word");
|
|
46
|
-
expect(word.hasClass("glossary-term")).toBeTruthy();
|
|
47
|
-
const words = $(links.get(1));
|
|
48
|
-
expect(words.attr("href")).toBe("/GLOSSARY.md#multiple-words");
|
|
49
|
-
expect(words.text()).toBe("multiple words");
|
|
50
|
-
expect(words.hasClass("glossary-term")).toBeTruthy();
|
|
51
|
-
});
|
|
52
|
-
test("should annotate text with regardless of glossary order", () => {
|
|
53
|
-
const $ = cheerio.load("<p>This is multiple words, and another word.</p>", { _useHtmlParser2: true });
|
|
54
|
-
(0, annotateText_1.default)(entries, "GLOSSARY.md", $);
|
|
55
|
-
const links = $("a");
|
|
56
|
-
expect(links.length).toBe(2);
|
|
57
|
-
const word = $(links.get(0));
|
|
58
|
-
expect(word.attr("href")).toBe("/GLOSSARY.md#multiple-words");
|
|
59
|
-
expect(word.text()).toBe("multiple words");
|
|
60
|
-
expect(word.hasClass("glossary-term")).toBeTruthy();
|
|
61
|
-
const words = $(links.get(1));
|
|
62
|
-
expect(words.attr("href")).toBe("/GLOSSARY.md#word");
|
|
63
|
-
expect(words.text()).toBe("word");
|
|
64
|
-
expect(words.hasClass("glossary-term")).toBeTruthy();
|
|
65
|
-
});
|
|
66
|
-
test("should not annotate scripts", () => {
|
|
67
|
-
const $ = cheerio.load("<script>This is a word, and multiple words</script>", { _useHtmlParser2: true });
|
|
68
|
-
(0, annotateText_1.default)(entries, "GLOSSARY.md", $);
|
|
69
|
-
expect($("a").length).toBe(0);
|
|
70
|
-
});
|
|
71
|
-
test('should not annotate when has class "no-glossary"', () => {
|
|
72
|
-
const $ = cheerio.load('<p class="no-glossary">This is a word, and multiple words</p>', { _useHtmlParser2: true });
|
|
73
|
-
(0, annotateText_1.default)(entries, "GLOSSARY.md", $);
|
|
74
|
-
expect($("a").length).toBe(0);
|
|
75
|
-
});
|
|
76
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetchRemoteImages.d.ts","sourceRoot":"","sources":["../../../../src/output/modifiers/__tests__/fetchRemoteImages.ts"],"names":[],"mappings":""}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const cheerio = __importStar(require("cheerio"));
|
|
30
|
-
const tmp_1 = __importDefault(require("tmp"));
|
|
31
|
-
const path_1 = __importDefault(require("path"));
|
|
32
|
-
const fetchRemoteImages_1 = __importDefault(require("../fetchRemoteImages"));
|
|
33
|
-
const promises_1 = __importDefault(require("fs/promises"));
|
|
34
|
-
const assert_1 = __importDefault(require("assert"));
|
|
35
|
-
const constants = __importStar(require("constants"));
|
|
36
|
-
const URL = "https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png";
|
|
37
|
-
// download image from remote server is flaky
|
|
38
|
-
jest.retryTimes(3);
|
|
39
|
-
describe("fetchRemoteImages", () => {
|
|
40
|
-
let dir;
|
|
41
|
-
beforeEach(() => {
|
|
42
|
-
dir = tmp_1.default.dirSync();
|
|
43
|
-
return promises_1.default.rm(dir.name, { recursive: true, force: true });
|
|
44
|
-
});
|
|
45
|
-
afterEach(() => {
|
|
46
|
-
// remove tmp `dir`
|
|
47
|
-
return promises_1.default.rm(dir.name, { recursive: true, force: true });
|
|
48
|
-
});
|
|
49
|
-
it("should download image file", async () => {
|
|
50
|
-
const $ = cheerio.load(`<img src="${URL}" />`, { _useHtmlParser2: true });
|
|
51
|
-
await (0, fetchRemoteImages_1.default)(dir.name, "index.html", $);
|
|
52
|
-
const $img = $("img");
|
|
53
|
-
const src = $img.attr("src");
|
|
54
|
-
const expected = path_1.default.join(dir.name, src);
|
|
55
|
-
await assert_1.default.doesNotReject(() => {
|
|
56
|
-
return promises_1.default.access(expected, constants.F_OK);
|
|
57
|
-
});
|
|
58
|
-
}, 15 * 1000);
|
|
59
|
-
it("should download image file and replace with relative path", async () => {
|
|
60
|
-
const $ = cheerio.load(`<img src="${URL}" />`, { _useHtmlParser2: true });
|
|
61
|
-
await (0, fetchRemoteImages_1.default)(dir.name, "test/index.html", $);
|
|
62
|
-
const $img = $("img");
|
|
63
|
-
const src = $img.attr("src");
|
|
64
|
-
const expected = path_1.default.join(dir.name, "test/" + src);
|
|
65
|
-
await assert_1.default.doesNotReject(() => {
|
|
66
|
-
return promises_1.default.access(expected, constants.F_OK);
|
|
67
|
-
});
|
|
68
|
-
}, 15 * 1000);
|
|
69
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"highlightCode.d.ts","sourceRoot":"","sources":["../../../../src/output/modifiers/__tests__/highlightCode.ts"],"names":[],"mappings":""}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const cheerio = __importStar(require("cheerio"));
|
|
30
|
-
const promise_1 = __importDefault(require("../../../utils/promise"));
|
|
31
|
-
const highlightCode_1 = __importDefault(require("../highlightCode"));
|
|
32
|
-
describe("highlightCode", () => {
|
|
33
|
-
function doHighlight(lang, code) {
|
|
34
|
-
return {
|
|
35
|
-
text: `${lang || ""}$${code}`
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function doHighlightAsync(lang, code) {
|
|
39
|
-
return (0, promise_1.default)().then(() => {
|
|
40
|
-
return doHighlight(lang, code);
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
test("should call it for normal code element", () => {
|
|
44
|
-
const $ = cheerio.load("<p>This is a <code>test</code></p>", { _useHtmlParser2: true });
|
|
45
|
-
return (0, highlightCode_1.default)(doHighlight, $).then(() => {
|
|
46
|
-
const $code = $("code");
|
|
47
|
-
expect($code.text()).toBe("$test");
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
test("should call it for markdown code block", () => {
|
|
51
|
-
const $ = cheerio.load("<pre><code class=\"lang-js\">test</code></pre>", { _useHtmlParser2: true });
|
|
52
|
-
return (0, highlightCode_1.default)(doHighlight, $).then(() => {
|
|
53
|
-
const $code = $("code");
|
|
54
|
-
expect($code.text()).toBe("js$test");
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
test("should call it for asciidoc code block", () => {
|
|
58
|
-
const $ = cheerio.load("<pre><code class=\"language-python\">test</code></pre>", { _useHtmlParser2: true });
|
|
59
|
-
return (0, highlightCode_1.default)(doHighlight, $).then(() => {
|
|
60
|
-
const $code = $("code");
|
|
61
|
-
expect($code.text()).toBe("python$test");
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
test("should accept async highlighter", () => {
|
|
65
|
-
const $ = cheerio.load("<pre><code class=\"language-python\">test</code></pre>", { _useHtmlParser2: true });
|
|
66
|
-
return (0, highlightCode_1.default)(doHighlightAsync, $).then(() => {
|
|
67
|
-
const $code = $("code");
|
|
68
|
-
expect($code.text()).toBe("python$test");
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inlinePng.d.ts","sourceRoot":"","sources":["../../../../src/output/modifiers/__tests__/inlinePng.ts"],"names":[],"mappings":""}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const cheerio = __importStar(require("cheerio"));
|
|
30
|
-
const tmp_1 = __importDefault(require("tmp"));
|
|
31
|
-
const inlinePng_1 = __importDefault(require("../inlinePng"));
|
|
32
|
-
describe("inlinePng", () => {
|
|
33
|
-
let dir;
|
|
34
|
-
beforeEach(() => {
|
|
35
|
-
dir = tmp_1.default.dirSync();
|
|
36
|
-
});
|
|
37
|
-
test("should write an inline PNG using data URI as a file", () => {
|
|
38
|
-
const $ = cheerio.load("<img alt=\"HonKit Logo 20x20\" src=\"data:image/png;base64,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\"/>", { _useHtmlParser2: true });
|
|
39
|
-
return (0, inlinePng_1.default)(dir.name, "index.html", $).then(() => {
|
|
40
|
-
const $img = $("img");
|
|
41
|
-
const src = $img.attr("src");
|
|
42
|
-
expect(dir.name).toHaveFile(src);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inlineSvg.d.ts","sourceRoot":"","sources":["../../../../src/output/modifiers/__tests__/inlineSvg.ts"],"names":[],"mappings":""}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const cheerio = __importStar(require("cheerio"));
|
|
30
|
-
const tmp_1 = __importDefault(require("tmp"));
|
|
31
|
-
const path_1 = __importDefault(require("path"));
|
|
32
|
-
const fs_1 = __importDefault(require("fs"));
|
|
33
|
-
const inlineSvg_1 = __importDefault(require("../inlineSvg"));
|
|
34
|
-
describe("inlineSvg", () => {
|
|
35
|
-
let dir;
|
|
36
|
-
let svgPath;
|
|
37
|
-
beforeEach(() => {
|
|
38
|
-
dir = tmp_1.default.dirSync();
|
|
39
|
-
svgPath = path_1.default.join(dir.name, "test.svg");
|
|
40
|
-
});
|
|
41
|
-
test("should inline svg icons", () => {
|
|
42
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="100" version="1.1"><rect width="200" height="100" stroke-width="6"/></svg>';
|
|
43
|
-
const $ = cheerio.load('<img src="test.svg"/>', { _useHtmlParser2: true });
|
|
44
|
-
return fs_1.default.promises
|
|
45
|
-
.writeFile(svgPath, svg)
|
|
46
|
-
.then(() => {
|
|
47
|
-
return (0, inlineSvg_1.default)(dir.name, "index.html", $);
|
|
48
|
-
})
|
|
49
|
-
.then(() => {
|
|
50
|
-
expect($("svg").attr("fill")).toBe("currentColor");
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
test("should not inline svgs with style tags", () => {
|
|
54
|
-
const svg = '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="100" version="1.1" style="background-color:red"><rect width="200" height="100" stroke="black" stroke-width="6" fill="green"/></svg>';
|
|
55
|
-
const $ = cheerio.load('<img src="test.svg"/>', { _useHtmlParser2: true });
|
|
56
|
-
return fs_1.default.promises
|
|
57
|
-
.writeFile(svgPath, svg)
|
|
58
|
-
.then(() => {
|
|
59
|
-
return (0, inlineSvg_1.default)(dir.name, "index.html", $);
|
|
60
|
-
})
|
|
61
|
-
.then(() => {
|
|
62
|
-
expect($("svg").length).toBe(0);
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolveImages.d.ts","sourceRoot":"","sources":["../../../../src/output/modifiers/__tests__/resolveImages.ts"],"names":[],"mappings":""}
|