@jpmorganchase/mosaic-plugins 0.1.0-beta.6 → 0.1.0-beta.7
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/CHANGELOG.md +21 -0
- package/dist/$AliasPlugin.js +6 -8
- package/dist/$AliasPlugin.js.map +1 -1
- package/dist/$CodeModPlugin.js +5 -7
- package/dist/$CodeModPlugin.js.map +1 -1
- package/dist/$RefPlugin.js +41 -43
- package/dist/$RefPlugin.js.map +1 -1
- package/dist/$TagPlugin.js +15 -19
- package/dist/$TagPlugin.js.map +1 -1
- package/dist/BreadcrumbsPlugin.js +6 -3
- package/dist/BreadcrumbsPlugin.js.map +1 -1
- package/dist/LazyPagePlugin.js +12 -14
- package/dist/LazyPagePlugin.js.map +1 -1
- package/dist/LocalFolderSavePlugin.js +48 -0
- package/dist/LocalFolderSavePlugin.js.map +1 -0
- package/dist/NextPrevPagePlugin.js +17 -17
- package/dist/NextPrevPagePlugin.js.map +1 -1
- package/dist/PagesWithoutFileExtPlugin.js +5 -7
- package/dist/PagesWithoutFileExtPlugin.js.map +1 -1
- package/dist/ReadingTimePlugin.mjs.map +1 -1
- package/dist/SearchIndexPlugin.mjs +268 -0
- package/dist/SearchIndexPlugin.mjs.map +1 -0
- package/dist/SharedConfigPlugin.js +6 -6
- package/dist/SharedConfigPlugin.js.map +1 -1
- package/dist/SidebarPlugin.js +58 -54
- package/dist/SidebarPlugin.js.map +1 -1
- package/dist/SiteMapPlugin.js +7 -9
- package/dist/SiteMapPlugin.js.map +1 -1
- package/dist/TableOfContentsPlugin.mjs +49 -58
- package/dist/TableOfContentsPlugin.mjs.map +1 -1
- package/package.json +16 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @jpmorganchase/mosaic-plugins
|
|
2
2
|
|
|
3
|
+
## 0.1.0-beta.7
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 46adaec: Initial release of theme and client side search
|
|
8
|
+
|
|
9
|
+
We are iterating towards deploying our site code.
|
|
10
|
+
|
|
11
|
+
This release includes
|
|
12
|
+
|
|
13
|
+
- initial work for client-side search support
|
|
14
|
+
- Mosaic theme.
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- Updated dependencies [46adaec]
|
|
19
|
+
- @jpmorganchase/mosaic-serialisers@0.1.0-beta.7
|
|
20
|
+
- @jpmorganchase/mosaic-source-git-repo@0.1.0-beta.7
|
|
21
|
+
- @jpmorganchase/mosaic-source-local-folder@0.1.0-beta.7
|
|
22
|
+
- @jpmorganchase/mosaic-types@0.1.0-beta.7
|
|
23
|
+
|
|
3
24
|
## 0.1.0-beta.6
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
package/dist/$AliasPlugin.js
CHANGED
|
@@ -14,12 +14,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const path_1 = __importDefault(require("path"));
|
|
16
16
|
const lodash_1 = require("lodash");
|
|
17
|
+
function createPageTest(ignorePages, pageExtensions) {
|
|
18
|
+
const extTest = new RegExp(`${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
19
|
+
const ignoreTest = new RegExp(`${ignorePages.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
20
|
+
return file => !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
21
|
+
}
|
|
17
22
|
/**
|
|
18
23
|
* Plugin that scrapes `aliases` from page metadata and also applies all aliases stored in `config.data.aliases`
|
|
19
24
|
* Other plugins can use `setAliases` to apply new aliases, as long as they call it before this plugin has reaches `$beforeSend`
|
|
20
25
|
*/
|
|
21
26
|
const $AliasPlugin = {
|
|
22
|
-
$afterSource(pages, { config, ignorePages, pageExtensions }
|
|
27
|
+
$afterSource(pages, { config, ignorePages, pageExtensions }) {
|
|
23
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
29
|
const isNonHiddenPage = createPageTest(ignorePages, pageExtensions);
|
|
25
30
|
// Group together all aliases defined in the frontmatter and store them in the alias config object
|
|
@@ -65,11 +70,4 @@ const $AliasPlugin = {
|
|
|
65
70
|
}
|
|
66
71
|
};
|
|
67
72
|
exports.default = $AliasPlugin;
|
|
68
|
-
function createPageTest(ignorePages, pageExtensions) {
|
|
69
|
-
const extTest = new RegExp(`${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
70
|
-
const ignoreTest = new RegExp(`${ignorePages.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
71
|
-
return file => {
|
|
72
|
-
return !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
73
|
//# sourceMappingURL=$AliasPlugin.js.map
|
package/dist/$AliasPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"$AliasPlugin.js","sourceRoot":"","sources":["../src/$AliasPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAwB;
|
|
1
|
+
{"version":3,"file":"$AliasPlugin.js","sourceRoot":"","sources":["../src/$AliasPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,mCAAsC;AAGtC,SAAS,cAAc,CAAC,WAAW,EAAE,cAAc;IACjD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,EAAE,CACZ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACzF,CAAC;AAMD;;;GAGG;AACH,MAAM,YAAY,GAAgC;IAC1C,YAAY,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE;;YAC/D,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAEpE,kGAAkG;YAClG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACnC,SAAS;iBACV;gBACD,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;iBAChD;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC;aACrB;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAEK,WAAW,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE;;YAC7C,sGAAsG;YACtG,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;gBACvB,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;YACJ,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBACxB,OAAO;aACR;YACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACjD,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC5E,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACzC,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE;wBACxD,MAAM,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;4BAC/C,SAAS,EAAE,IAAI;yBAChB,CAAC,CAAC;qBACJ;oBACD,IAAI,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE;wBACzD,MAAM,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;qBAC/D;yBAAM;wBACL,OAAO,CAAC,IAAI,CACV,UAAU,SAAS,2GAA2G,CAC/H,CAAC;qBACH;iBACF;aACF;QACH,CAAC;KAAA;CACF,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
package/dist/$CodeModPlugin.js
CHANGED
|
@@ -14,6 +14,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const lodash_1 = require("lodash");
|
|
16
16
|
const path_1 = __importDefault(require("path"));
|
|
17
|
+
function createPageTest(ignorePages, pageExtensions) {
|
|
18
|
+
const extTest = new RegExp(`${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
19
|
+
const ignoreTest = new RegExp(`${ignorePages.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
20
|
+
return file => !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
21
|
+
}
|
|
17
22
|
const $CodeModPlugin = {
|
|
18
23
|
$afterSource(pages, { ignorePages, pageExtensions }) {
|
|
19
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -32,11 +37,4 @@ const $CodeModPlugin = {
|
|
|
32
37
|
}
|
|
33
38
|
};
|
|
34
39
|
exports.default = $CodeModPlugin;
|
|
35
|
-
function createPageTest(ignorePages, pageExtensions) {
|
|
36
|
-
const extTest = new RegExp(`${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
37
|
-
const ignoreTest = new RegExp(`${ignorePages.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
38
|
-
return file => {
|
|
39
|
-
return !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
40
|
//# sourceMappingURL=$CodeModPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"$CodeModPlugin.js","sourceRoot":"","sources":["../src/$CodeModPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,mCAAsC;AACtC,gDAAwB;AAExB,
|
|
1
|
+
{"version":3,"file":"$CodeModPlugin.js","sourceRoot":"","sources":["../src/$CodeModPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,mCAAsC;AACtC,gDAAwB;AAExB,SAAS,cAAc,CAAC,WAAW,EAAE,cAAc;IACjD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,EAAE,CACZ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACzF,CAAC;AAOD,MAAM,cAAc,GAAkC;IAC9C,YAAY,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE;;YACvD,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAEpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACnC,SAAS;iBACV;gBACD,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;oBACxC,IAAI,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;iBAClD;aACF;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;CACF,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
package/dist/$RefPlugin.js
CHANGED
|
@@ -15,9 +15,45 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
const path_1 = __importDefault(require("path"));
|
|
16
16
|
const reduce_1 = __importDefault(require("lodash/reduce"));
|
|
17
17
|
const omit_1 = __importDefault(require("lodash/omit"));
|
|
18
|
+
const merge_1 = __importDefault(require("lodash/merge"));
|
|
18
19
|
const escapeRegExp_1 = __importDefault(require("lodash/escapeRegExp"));
|
|
19
20
|
const json_schema_ref_parser_1 = __importDefault(require("@apidevtools/json-schema-ref-parser"));
|
|
20
21
|
const normaliseRefs_1 = __importDefault(require("./utils/normaliseRefs"));
|
|
22
|
+
function createRefResolver(normalisedRefs, serialiser, mutableFilesystem) {
|
|
23
|
+
return {
|
|
24
|
+
file: {
|
|
25
|
+
canRead: true,
|
|
26
|
+
order: 1,
|
|
27
|
+
read(file, callback) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
try {
|
|
30
|
+
const refedPage = normalisedRefs[file.url] ||
|
|
31
|
+
(yield serialiser.deserialise(file.url, yield mutableFilesystem.promises.readFile(file.url)));
|
|
32
|
+
return callback(null, (0, omit_1.default)(refedPage, 'content'));
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
return callback(e, null);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const findKeys = (obj, targetProp, pathParts = []) => (0, reduce_1.default)(obj, (found, value, key) => {
|
|
43
|
+
if (key === targetProp) {
|
|
44
|
+
return found.concat([[pathParts.concat(String(key)), value]]);
|
|
45
|
+
}
|
|
46
|
+
if (typeof value === 'object') {
|
|
47
|
+
const foundParents = findKeys(value, targetProp, pathParts.concat(String(key)));
|
|
48
|
+
return found.concat(foundParents);
|
|
49
|
+
}
|
|
50
|
+
return found;
|
|
51
|
+
}, []);
|
|
52
|
+
function createPageTest(ignorePages, pageExtensions) {
|
|
53
|
+
const extTest = new RegExp(`${pageExtensions.map(escapeRegExp_1.default).join('|')}$`);
|
|
54
|
+
const ignoreTest = new RegExp(`${ignorePages.map(escapeRegExp_1.default).join('|')}$`);
|
|
55
|
+
return file => !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
56
|
+
}
|
|
21
57
|
/**
|
|
22
58
|
* Plugin that scrapes `$ref` properties from page metadata and also applies all refs stored in `config.data.refs`.
|
|
23
59
|
* Other plugins can use `setRef` to apply new refs, as long as they call it before this plugin has reaches `$beforeSend`
|
|
@@ -27,7 +63,7 @@ const $RefPlugin = {
|
|
|
27
63
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
64
|
mutableFilesystem.__internal_do_not_use_addReadFileHook((pagePath, fileData) => __awaiter(this, void 0, void 0, function* () {
|
|
29
65
|
if (globalConfig.data.globalRefs[pagePath]) {
|
|
30
|
-
const normalisedRef =
|
|
66
|
+
const normalisedRef = (0, merge_1.default)(yield serialiser.deserialise(pagePath, fileData), yield (0, normaliseRefs_1.default)(String(pagePath), globalConfig.data.globalRefs[pagePath], globalFilesystem, pageExtensions, ignorePages));
|
|
31
67
|
const resolve = createRefResolver({
|
|
32
68
|
[pagePath]: normalisedRef
|
|
33
69
|
}, serialiser, globalFilesystem);
|
|
@@ -37,7 +73,8 @@ const $RefPlugin = {
|
|
|
37
73
|
resolve,
|
|
38
74
|
dereference: { circular: false }
|
|
39
75
|
});
|
|
40
|
-
|
|
76
|
+
const serialisedPage = yield serialiser.serialise(pagePath, (0, merge_1.default)(normalisedRef, resolved));
|
|
77
|
+
return serialisedPage;
|
|
41
78
|
}
|
|
42
79
|
catch (e) {
|
|
43
80
|
console.warn(`Error resolving ref(s) for page '${pagePath}'. ${e.message.replace(/\.$/, '')} in '${e.source}'`);
|
|
@@ -48,7 +85,7 @@ const $RefPlugin = {
|
|
|
48
85
|
}));
|
|
49
86
|
});
|
|
50
87
|
},
|
|
51
|
-
$beforeSend(mutableFilesystem, { config, serialiser, pageExtensions, ignorePages }
|
|
88
|
+
$beforeSend(mutableFilesystem, { config, serialiser, pageExtensions, ignorePages }) {
|
|
52
89
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
90
|
// Prevent any more refs being set after this lifecycle has been called - as they won't take effect
|
|
54
91
|
config.setRef = () => {
|
|
@@ -59,7 +96,7 @@ const $RefPlugin = {
|
|
|
59
96
|
// First pass of refs, normalises any $ref entries to expand wildcards
|
|
60
97
|
for (const fullPath in config.data.refs) {
|
|
61
98
|
const page = yield serialiser.deserialise(fullPath, yield mutableFilesystem.promises.readFile(fullPath));
|
|
62
|
-
normalisedRefs[fullPath] =
|
|
99
|
+
normalisedRefs[fullPath] = (0, merge_1.default)(page, yield (0, normaliseRefs_1.default)(String(fullPath), config.data.refs[fullPath], mutableFilesystem, pageExtensions, ignorePages));
|
|
63
100
|
}
|
|
64
101
|
const resolve = createRefResolver(normalisedRefs, serialiser, mutableFilesystem);
|
|
65
102
|
const refParser = new json_schema_ref_parser_1.default();
|
|
@@ -104,43 +141,4 @@ const $RefPlugin = {
|
|
|
104
141
|
}
|
|
105
142
|
};
|
|
106
143
|
exports.default = $RefPlugin;
|
|
107
|
-
function createRefResolver(normalisedRefs, serialiser, mutableFilesystem) {
|
|
108
|
-
return {
|
|
109
|
-
file: {
|
|
110
|
-
canRead: true,
|
|
111
|
-
order: 1,
|
|
112
|
-
read(file, callback) {
|
|
113
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
-
try {
|
|
115
|
-
const refedPage = normalisedRefs[file.url] ||
|
|
116
|
-
(yield serialiser.deserialise(file.url, yield mutableFilesystem.promises.readFile(file.url)));
|
|
117
|
-
return callback(null, (0, omit_1.default)(refedPage, 'content'));
|
|
118
|
-
}
|
|
119
|
-
catch (e) {
|
|
120
|
-
return callback(e, null);
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
const findKeys = (obj, targetProp, pathParts = []) => {
|
|
128
|
-
return (0, reduce_1.default)(obj, (found, value, key) => {
|
|
129
|
-
if (key === targetProp) {
|
|
130
|
-
return found.concat([[pathParts.concat(String(key)), value]]);
|
|
131
|
-
}
|
|
132
|
-
if (typeof value === 'object') {
|
|
133
|
-
const foundParents = findKeys(value, targetProp, pathParts.concat(String(key)));
|
|
134
|
-
return found.concat(foundParents);
|
|
135
|
-
}
|
|
136
|
-
return found;
|
|
137
|
-
}, []);
|
|
138
|
-
};
|
|
139
|
-
function createPageTest(ignorePages, pageExtensions) {
|
|
140
|
-
const extTest = new RegExp(`${pageExtensions.map(escapeRegExp_1.default).join('|')}$`);
|
|
141
|
-
const ignoreTest = new RegExp(`${ignorePages.map(escapeRegExp_1.default).join('|')}$`);
|
|
142
|
-
return file => {
|
|
143
|
-
return !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
144
|
//# sourceMappingURL=$RefPlugin.js.map
|
package/dist/$RefPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"$RefPlugin.js","sourceRoot":"","sources":["../src/$RefPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAwB;
|
|
1
|
+
{"version":3,"file":"$RefPlugin.js","sourceRoot":"","sources":["../src/$RefPlugin.ts"],"names":[],"mappings":"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"}
|
package/dist/$TagPlugin.js
CHANGED
|
@@ -15,6 +15,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
const path_1 = __importDefault(require("path"));
|
|
16
16
|
const escapeRegExp_1 = __importDefault(require("lodash/escapeRegExp"));
|
|
17
17
|
const reduce_1 = __importDefault(require("lodash/reduce"));
|
|
18
|
+
function createPageTest(ignorePages, pageExtensions) {
|
|
19
|
+
const extTest = new RegExp(`${pageExtensions.map(escapeRegExp_1.default).join('|')}$`);
|
|
20
|
+
const ignoreTest = new RegExp(`${ignorePages.map(escapeRegExp_1.default).join('|')}$`);
|
|
21
|
+
return file => !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
22
|
+
}
|
|
23
|
+
const findKeys = (obj, targetProp, pathParts = []) => (0, reduce_1.default)(obj, (found, value, key) => {
|
|
24
|
+
if (key === targetProp) {
|
|
25
|
+
return found.concat({ $$path: pathParts.concat(String(key)), $$value: value });
|
|
26
|
+
}
|
|
27
|
+
if (typeof value === 'object') {
|
|
28
|
+
const foundParents = findKeys(value, targetProp, pathParts.concat(String(key)));
|
|
29
|
+
return found.concat(...foundParents);
|
|
30
|
+
}
|
|
31
|
+
return found;
|
|
32
|
+
}, []);
|
|
18
33
|
/**
|
|
19
34
|
* Plugin that scrapes `$tag` from page metadata and also applies all aliases stored in `config.data.tags`.
|
|
20
35
|
* Tags ultimately resolve down into refs, but are different from normal refs, in that they are applied to the
|
|
@@ -68,23 +83,4 @@ const $TagPlugin = {
|
|
|
68
83
|
}
|
|
69
84
|
};
|
|
70
85
|
exports.default = $TagPlugin;
|
|
71
|
-
const findKeys = (obj, targetProp, pathParts = []) => {
|
|
72
|
-
return (0, reduce_1.default)(obj, (found, value, key) => {
|
|
73
|
-
if (key === targetProp) {
|
|
74
|
-
return found.concat({ $$path: pathParts.concat(String(key)), $$value: value });
|
|
75
|
-
}
|
|
76
|
-
if (typeof value === 'object') {
|
|
77
|
-
const foundParents = findKeys(value, targetProp, pathParts.concat(String(key)));
|
|
78
|
-
return found.concat(...foundParents);
|
|
79
|
-
}
|
|
80
|
-
return found;
|
|
81
|
-
}, []);
|
|
82
|
-
};
|
|
83
|
-
function createPageTest(ignorePages, pageExtensions) {
|
|
84
|
-
const extTest = new RegExp(`${pageExtensions.map(escapeRegExp_1.default).join('|')}$`);
|
|
85
|
-
const ignoreTest = new RegExp(`${ignorePages.map(escapeRegExp_1.default).join('|')}$`);
|
|
86
|
-
return file => {
|
|
87
|
-
return !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
86
|
//# sourceMappingURL=$TagPlugin.js.map
|
package/dist/$TagPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"$TagPlugin.js","sourceRoot":"","sources":["../src/$TagPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAwB;
|
|
1
|
+
{"version":3,"file":"$TagPlugin.js","sourceRoot":"","sources":["../src/$TagPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,13 +17,14 @@ const path_1 = __importDefault(require("path"));
|
|
|
17
17
|
* Calculates breadcrumbs for pages then embeds a `breadcrumbs` property to the metadata
|
|
18
18
|
*/
|
|
19
19
|
const BreadcrumbsPlugin = {
|
|
20
|
-
$afterSource(pages,
|
|
20
|
+
$afterSource(pages, _, options) {
|
|
21
21
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
22
|
for (const page of pages) {
|
|
23
23
|
const breadcrumbs = [];
|
|
24
24
|
let currentPage = page;
|
|
25
|
-
let parentDir = path_1.default.posix.dirname(currentPage.fullPath);
|
|
25
|
+
let parentDir = path_1.default.posix.normalize(path_1.default.posix.dirname(currentPage.fullPath));
|
|
26
26
|
while (currentPage !== undefined) {
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-loop-func
|
|
27
28
|
if (breadcrumbs.findIndex(breadcrumb => breadcrumb.id === currentPage.fullPath) === -1) {
|
|
28
29
|
breadcrumbs.unshift({
|
|
29
30
|
label: currentPage.title,
|
|
@@ -31,7 +32,9 @@ const BreadcrumbsPlugin = {
|
|
|
31
32
|
id: currentPage.fullPath
|
|
32
33
|
});
|
|
33
34
|
}
|
|
34
|
-
currentPage = pages.find(
|
|
35
|
+
currentPage = pages.find(
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-loop-func
|
|
37
|
+
item => item.fullPath === path_1.default.posix.join(parentDir, options.indexPageName));
|
|
35
38
|
if (currentPage) {
|
|
36
39
|
parentDir = path_1.default.posix.dirname(path_1.default.posix.join(String(currentPage.fullPath), '..'));
|
|
37
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BreadcrumbsPlugin.js","sourceRoot":"","sources":["../src/BreadcrumbsPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAwB;
|
|
1
|
+
{"version":3,"file":"BreadcrumbsPlugin.js","sourceRoot":"","sources":["../src/BreadcrumbsPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAwB;AAaxB;;GAEG;AACH,MAAM,iBAAiB,GAAgE;IAC/E,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO;;YAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,MAAM,WAAW,GAAsB,EAAE,CAAC;gBAC1C,IAAI,WAAW,GAAG,IAAI,CAAC;gBACvB,IAAI,SAAS,GAAG,cAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAE/E,OAAO,WAAW,KAAK,SAAS,EAAE;oBAChC,2DAA2D;oBAC3D,IAAI,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;wBACtF,WAAW,CAAC,OAAO,CAAC;4BAClB,KAAK,EAAE,WAAW,CAAC,KAAK;4BACxB,IAAI,EAAE,WAAW,CAAC,KAAK;4BACvB,EAAE,EAAE,WAAW,CAAC,QAAQ;yBACzB,CAAC,CAAC;qBACJ;oBAED,WAAW,GAAG,KAAK,CAAC,IAAI;oBACtB,2DAA2D;oBAC3D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAC5E,CAAC;oBACF,IAAI,WAAW,EAAE;wBACf,SAAS,GAAG,cAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;qBACrF;iBACF;gBAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;iBAChC;aACF;YAED,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;CACF,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
|
package/dist/LazyPagePlugin.js
CHANGED
|
@@ -28,6 +28,17 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
28
28
|
const merge_1 = __importDefault(require("lodash/merge"));
|
|
29
29
|
const escapeRegExp_1 = __importDefault(require("lodash/escapeRegExp"));
|
|
30
30
|
const path_1 = __importDefault(require("path"));
|
|
31
|
+
function createPageTest(ignorePages, pageExtensions) {
|
|
32
|
+
const extTest = new RegExp(`${pageExtensions.map(escapeRegExp_1.default).join('|')}$`);
|
|
33
|
+
const ignoreTest = new RegExp(`${ignorePages.map(escapeRegExp_1.default).join('|')}$`);
|
|
34
|
+
return file => !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
35
|
+
}
|
|
36
|
+
function createFileGlob(url, pageExtensions) {
|
|
37
|
+
if (pageExtensions.length === 1) {
|
|
38
|
+
return `${url}${pageExtensions[0]}`;
|
|
39
|
+
}
|
|
40
|
+
return `${url}{${pageExtensions.join(',')}}`;
|
|
41
|
+
}
|
|
31
42
|
const LazyPagePlugin = {
|
|
32
43
|
afterUpdate(mutableFilesystem, { ignorePages, config, pageExtensions, serialiser }) {
|
|
33
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -74,22 +85,9 @@ const LazyPagePlugin = {
|
|
|
74
85
|
}
|
|
75
86
|
config.setData({ hddPaths });
|
|
76
87
|
const reduction = originalDiskSize - newDiskSize;
|
|
77
|
-
console.info(`[
|
|
88
|
+
console.info(`[Mosaic] LazyPagePlugin moved ${((reduction / originalDiskSize) * 100).toFixed(2)}% of virtual filesystem content to the hard disk. This reduced the virtual filesystem size from ${(originalDiskSize / 1000000).toFixed(2)}mb to ${(newDiskSize / 1000000).toFixed(2)}mb (yay!)`);
|
|
78
89
|
});
|
|
79
90
|
}
|
|
80
91
|
};
|
|
81
|
-
function createFileGlob(url, pageExtensions) {
|
|
82
|
-
if (pageExtensions.length === 1) {
|
|
83
|
-
return `${url}${pageExtensions[0]}`;
|
|
84
|
-
}
|
|
85
|
-
return `${url}{${pageExtensions.join(',')}}`;
|
|
86
|
-
}
|
|
87
92
|
exports.default = LazyPagePlugin;
|
|
88
|
-
function createPageTest(ignorePages, pageExtensions) {
|
|
89
|
-
const extTest = new RegExp(`${pageExtensions.map(escapeRegExp_1.default).join('|')}$`);
|
|
90
|
-
const ignoreTest = new RegExp(`${ignorePages.map(escapeRegExp_1.default).join('|')}$`);
|
|
91
|
-
return file => {
|
|
92
|
-
return !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
93
|
//# sourceMappingURL=LazyPagePlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LazyPagePlugin.js","sourceRoot":"","sources":["../src/LazyPagePlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAAoB;AACpB,wDAA+B;AAC/B,yDAAiC;AACjC,uEAA+C;AAC/C,gDAAwB;AAGxB,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"LazyPagePlugin.js","sourceRoot":"","sources":["../src/LazyPagePlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
+
var t = {};
|
|
13
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
+
t[p] = s[p];
|
|
15
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
+
t[p[i]] = s[p[i]];
|
|
19
|
+
}
|
|
20
|
+
return t;
|
|
21
|
+
};
|
|
22
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const path_1 = __importDefault(require("path"));
|
|
27
|
+
const fs_1 = __importDefault(require("fs"));
|
|
28
|
+
const mdx_1 = __importDefault(require("@jpmorganchase/mosaic-serialisers/dist/mdx"));
|
|
29
|
+
const LocalFolderSavePlugin = {
|
|
30
|
+
saveContent(filePath, data, sourceOptions, { namespace }) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
const { markdown } = data;
|
|
33
|
+
const { rootDir, prefixDir } = sourceOptions;
|
|
34
|
+
if (namespace !== 'local') {
|
|
35
|
+
// indicate to the Plugin Runner that no save happened
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
const pathOnDisk = path_1.default.posix.join(rootDir, filePath.replace(new RegExp(`${prefixDir}/`), ''));
|
|
39
|
+
const rawPage = yield fs_1.default.promises.readFile(pathOnDisk);
|
|
40
|
+
const _a = yield mdx_1.default.deserialise(pathOnDisk, rawPage), { content } = _a, metadata = __rest(_a, ["content"]);
|
|
41
|
+
const updatedPage = Object.assign(Object.assign({}, metadata), { content: markdown });
|
|
42
|
+
yield fs_1.default.promises.writeFile(pathOnDisk, yield mdx_1.default.serialise(pathOnDisk, updatedPage));
|
|
43
|
+
return true;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
exports.default = LocalFolderSavePlugin;
|
|
48
|
+
//# sourceMappingURL=LocalFolderSavePlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalFolderSavePlugin.js","sourceRoot":"","sources":["../src/LocalFolderSavePlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,4CAAoB;AAGpB,qFAAuF;AAMvF,MAAM,qBAAqB,GAAe;IAClC,WAAW,CACf,QAAQ,EACR,IAA+B,EAC/B,aAAuC,EACvC,EAAE,SAAS,EAAE;;YAEb,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC1B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;YAE7C,IAAI,SAAS,KAAK,OAAO,EAAE;gBACzB,sDAAsD;gBACtD,OAAO,KAAK,CAAC;aACd;YAED,MAAM,UAAU,GAAG,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/F,MAAM,OAAO,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvD,MAAM,KAA2B,MAAM,aAAc,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,EAAhF,EAAE,OAAO,OAAuE,EAAlE,QAAQ,cAAtB,WAAwB,CAAwD,CAAC;YACvF,MAAM,WAAW,mCAAQ,QAAQ,KAAE,OAAO,EAAE,QAAQ,GAAE,CAAC;YAEvD,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,UAAU,EACV,MAAM,aAAc,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CACxD,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;CACF,CAAC;AAEF,kBAAe,qBAAqB,CAAC"}
|
|
@@ -10,6 +10,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
const lodash_1 = require("lodash");
|
|
13
|
+
function createFileGlob(url, pageExtensions) {
|
|
14
|
+
if (pageExtensions.length === 1) {
|
|
15
|
+
return `${url}${pageExtensions[0]}`;
|
|
16
|
+
}
|
|
17
|
+
return `${url}{${pageExtensions.join(',')}}`;
|
|
18
|
+
}
|
|
19
|
+
function createSortFn(pageExtensions, { sortBy: _sortBy, indexFirst }) {
|
|
20
|
+
const indexRegExp = indexFirst && new RegExp(`index${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
21
|
+
// TODO: Switch out the algorithm here, based on `sortBy`
|
|
22
|
+
return function sortFn(fullPathA, fullPathB) {
|
|
23
|
+
// Always pin /index to the front
|
|
24
|
+
if (indexFirst && indexRegExp.test(fullPathA)) {
|
|
25
|
+
return -1;
|
|
26
|
+
}
|
|
27
|
+
return fullPathA.localeCompare(fullPathB);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
13
30
|
/**
|
|
14
31
|
* Sorts the pages in a folder alphabetically and then embeds a `navigation` property to the metadata with ordered
|
|
15
32
|
* next/prev pages
|
|
@@ -43,21 +60,4 @@ const NextPrevPlugin = {
|
|
|
43
60
|
}
|
|
44
61
|
};
|
|
45
62
|
exports.default = NextPrevPlugin;
|
|
46
|
-
function createFileGlob(url, pageExtensions) {
|
|
47
|
-
if (pageExtensions.length === 1) {
|
|
48
|
-
return `${url}${pageExtensions[0]}`;
|
|
49
|
-
}
|
|
50
|
-
return `${url}{${pageExtensions.join(',')}}`;
|
|
51
|
-
}
|
|
52
|
-
function createSortFn(pageExtensions, { sortBy: _sortBy, indexFirst }) {
|
|
53
|
-
const indexRegExp = indexFirst && new RegExp(`index${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
54
|
-
// TODO: Switch out the algorithm here, based on `sortBy`
|
|
55
|
-
return function sortFn(fullPathA, fullPathB) {
|
|
56
|
-
// Always pin /index to the front
|
|
57
|
-
if (indexFirst && indexRegExp.test(fullPathA)) {
|
|
58
|
-
return -1;
|
|
59
|
-
}
|
|
60
|
-
return fullPathA.localeCompare(fullPathB);
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
63
|
//# sourceMappingURL=NextPrevPagePlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NextPrevPagePlugin.js","sourceRoot":"","sources":["../src/NextPrevPagePlugin.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,mCAAsC;AAEtC;;;GAGG;AACH,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"NextPrevPagePlugin.js","sourceRoot":"","sources":["../src/NextPrevPagePlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const lodash_1 = require("lodash");
|
|
16
16
|
const path_1 = __importDefault(require("path"));
|
|
17
|
+
function createPageTest(ignorePages, pageExtensions) {
|
|
18
|
+
const extTest = new RegExp(`${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
19
|
+
const ignoreTest = new RegExp(`${ignorePages.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
20
|
+
return file => !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
21
|
+
}
|
|
17
22
|
/**
|
|
18
23
|
* Plugin that creates aliases without the file extension for every page emitted by the source.
|
|
19
24
|
* This allows pages to be retrieved from the filesystem without specifying `.mdx` (or whatever file extension is specified in `options.stripExt`).
|
|
@@ -37,11 +42,4 @@ const PagesWithoutFileExtPlugin = {
|
|
|
37
42
|
}
|
|
38
43
|
};
|
|
39
44
|
exports.default = PagesWithoutFileExtPlugin;
|
|
40
|
-
function createPageTest(ignorePages, pageExtensions) {
|
|
41
|
-
const extTest = new RegExp(`${pageExtensions.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
42
|
-
const ignoreTest = new RegExp(`${ignorePages.map(lodash_1.escapeRegExp).join('|')}$`);
|
|
43
|
-
return file => {
|
|
44
|
-
return !ignoreTest.test(file) && extTest.test(file) && !path_1.default.basename(file).startsWith('.');
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
45
|
//# sourceMappingURL=PagesWithoutFileExtPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PagesWithoutFileExtPlugin.js","sourceRoot":"","sources":["../src/PagesWithoutFileExtPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,mCAAsC;AACtC,gDAAwB;AAExB
|
|
1
|
+
{"version":3,"file":"PagesWithoutFileExtPlugin.js","sourceRoot":"","sources":["../src/PagesWithoutFileExtPlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,mCAAsC;AACtC,gDAAwB;AAExB,SAAS,cAAc,CAAC,WAAW,EAAE,cAAc;IACjD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,EAAE,CACZ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACzF,CAAC;AAED;;;;;GAKG;AACH,MAAM,yBAAyB,GAAe;IACtC,YAAY,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE;;YAC/D,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE9E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACnC,SAAS;iBACV;gBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC9C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAChD;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;CACF,CAAC;AAEF,kBAAe,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ReadingTimePlugin.mjs.ts"],"sourcesContent":["import type { Page, Plugin as PluginType } from '@jpmorganchase/mosaic-types';\nimport getReadingTime from 'reading-time';\nimport markdown from 'remark-parse';\nimport { unified } from 'unified';\nimport { visit } from 'unist-util-visit';\n\n/**\n * Calculates reading time for pages and adds to frontmatter\n */\nconst ReadingTimePlugin: PluginType<
|
|
1
|
+
{"version":3,"sources":["../src/ReadingTimePlugin.mjs.ts"],"sourcesContent":["import type { Page, Plugin as PluginType } from '@jpmorganchase/mosaic-types';\nimport getReadingTime from 'reading-time';\nimport markdown from 'remark-parse';\nimport { unified } from 'unified';\nimport { visit } from 'unist-util-visit';\nimport type { Node } from 'unist';\n\ntype LeafNode = Node & {\n value?: string;\n};\n\ninterface ReadingTimePluginPage extends Page {\n readingTime?: ReturnType<typeof getReadingTime>;\n}\n\n/**\n * Calculates reading time for pages and adds to frontmatter\n */\nconst ReadingTimePlugin: PluginType<ReadingTimePluginPage> = {\n async $afterSource(pages) {\n const processor = unified().use(markdown);\n for (const page of pages) {\n const tree = await processor.parse(page.content);\n let textContent = '';\n\n visit(\n tree,\n node => node.type === 'text' || node.type === 'code',\n (node: LeafNode) => {\n textContent += node.value;\n }\n );\n page.readingTime = getReadingTime(textContent);\n }\n\n return pages;\n }\n};\n\nexport default ReadingTimePlugin;\n"],"names":["getReadingTime","markdown","unified","visit","ReadingTimePlugin","$afterSource","pages","processor","page","tree","textContent","use","parse","content","node","type","value","readingTime"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAOA,cAAc,MAAM,cAAc,CAAC;AAC1C,OAAOC,QAAQ,MAAM,cAAc,CAAC;AACpC,SAASC,OAAO,QAAQ,SAAS,CAAC;AAClC,SAASC,KAAK,QAAQ,kBAAkB,CAAC;AAWzC;;CAEC,GACD,IAAMC,iBAAiB,GAAsC;IACrDC,YAAY,EAAlB,SAAMA,YAAY,CAACC,KAAK;eAAE,wDAAA,mBAAA;gBAClBC,SAAS,EACV,yBAAU,EAAV,iBAAU,EAAV,cAAU,EAAV,SAAU,EAAV,KAAU,EAAJC,IAAI,EACPC,IAAI,EACNC,WAAW;;;;wBAHXH,SAAS,GAAGL,OAAO,EAAE,CAACS,GAAG,CAACV,QAAQ,CAAC,CAAC;wBACrC,yBAAU,SAAV,iBAAU,UAAV,cAAU;;wBAAV,SAAU,GAAIK,KAAK;;4BAAnB,yBAAU,IAAV,KAAU,GAAV,SAAU;;;;wBAAJE,IAAI,GAAV,KAAU,MAAA;;+BACMD,SAAS,CAACK,KAAK,CAACJ,IAAI,CAACK,OAAO,CAAC;;wBAA1CJ,IAAI,YAAsC,CAAA;wBAC5CC,WAAW,GAAG,EAAE,CAAC;wBAErBP,KAAK,CACHM,IAAI,EACJK,SAAAA,IAAI;mCAAIA,IAAI,CAACC,IAAI,KAAK,MAAM,IAAID,IAAI,CAACC,IAAI,KAAK,MAAM;yBAAA,EACpD,SAACD,IAAc,EAAK;4BAClBJ,WAAW,IAAII,IAAI,CAACE,KAAK,CAAC;yBAC3B,CACF,CAAC;wBACFR,IAAI,CAACS,WAAW,GAAGjB,cAAc,CAACU,WAAW,CAAC,CAAC;;wBAX5C,yBAAU;;;;;;;;;wBAAV,iBAAU;wBAAV,cAAU;;;;6BAAV,yBAAU,IAAV,SAAU;4BAAV,SAAU;;;;4BAAV,CAAA,iBAAU;;;;8BAAV,cAAU;;;;;;qDAcRJ,KAAK;;;;;;;;;;;;;;;;;;;SACb,EAAA;KAAA;CACF,AAAC;AAEF,eAAeF,iBAAiB,CAAC"}
|