@jpmorganchase/mosaic-plugins 0.1.0-beta.8 → 0.1.0-beta.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/$AliasPlugin.d.ts +10 -0
- package/dist/$AliasPlugin.js +49 -228
- package/dist/$AliasPlugin.js.map +1 -1
- package/dist/$CodeModPlugin.d.ts +7 -0
- package/dist/$CodeModPlugin.js +18 -118
- package/dist/$CodeModPlugin.js.map +1 -1
- package/dist/$RefPlugin.d.ts +31 -0
- package/dist/$RefPlugin.js +123 -451
- package/dist/$RefPlugin.js.map +1 -1
- package/dist/$TagPlugin.d.ts +28 -0
- package/dist/$TagPlugin.js +51 -234
- package/dist/$TagPlugin.js.map +1 -1
- package/dist/BreadcrumbsPlugin.d.ts +19 -0
- package/dist/BreadcrumbsPlugin.js +87 -112
- package/dist/BreadcrumbsPlugin.js.map +1 -1
- package/dist/BrokenLinksPlugin.d.ts +10 -0
- package/dist/BrokenLinksPlugin.js +80 -0
- package/dist/BrokenLinksPlugin.js.map +1 -0
- package/dist/FragmentPlugin.d.ts +3 -0
- package/dist/FragmentPlugin.js +61 -0
- package/dist/FragmentPlugin.js.map +1 -0
- package/dist/LazyPagePlugin.d.ts +14 -0
- package/dist/LazyPagePlugin.js +50 -254
- package/dist/LazyPagePlugin.js.map +1 -1
- package/dist/PagesWithoutFileExtPlugin.d.ts +9 -0
- package/dist/PagesWithoutFileExtPlugin.js +20 -118
- package/dist/PagesWithoutFileExtPlugin.js.map +1 -1
- package/dist/PropsTablePlugin.d.ts +6 -0
- package/dist/PropsTablePlugin.js +88 -0
- package/dist/PropsTablePlugin.js.map +1 -0
- package/dist/PublicAssetsPlugin.d.ts +18 -0
- package/dist/PublicAssetsPlugin.js +28 -0
- package/dist/PublicAssetsPlugin.js.map +1 -0
- package/dist/ReadingTimePlugin.d.ts +10 -0
- package/dist/ReadingTimePlugin.js +39 -0
- package/dist/ReadingTimePlugin.js.map +1 -0
- package/dist/SearchIndexPlugin.d.ts +56 -0
- package/dist/SearchIndexPlugin.js +154 -0
- package/dist/SearchIndexPlugin.js.map +1 -0
- package/dist/SharedConfigPlugin.d.ts +14 -0
- package/dist/SharedConfigPlugin.js +129 -168
- package/dist/SharedConfigPlugin.js.map +1 -1
- package/dist/SidebarPlugin.d.ts +45 -0
- package/dist/SidebarPlugin.js +285 -324
- package/dist/SidebarPlugin.js.map +1 -1
- package/dist/SiteMapPlugin.d.ts +9 -0
- package/dist/SiteMapPlugin.js +23 -91
- package/dist/SiteMapPlugin.js.map +1 -1
- package/dist/TableOfContentsPlugin.d.ts +20 -0
- package/dist/TableOfContentsPlugin.js +44 -0
- package/dist/TableOfContentsPlugin.js.map +1 -0
- package/dist/utils/PluginError.d.ts +7 -0
- package/dist/utils/PluginError.js +13 -0
- package/dist/utils/PluginError.js.map +1 -0
- package/dist/utils/createPageTest.d.ts +1 -0
- package/dist/utils/createPageTest.js +8 -0
- package/dist/utils/createPageTest.js.map +1 -0
- package/dist/utils/mergePageContent.d.ts +16 -0
- package/dist/utils/mergePageContent.js +23 -0
- package/dist/utils/mergePageContent.js.map +1 -0
- package/dist/utils/normaliseRefs.d.ts +1 -0
- package/dist/utils/normaliseRefs.js +56 -275
- package/dist/utils/normaliseRefs.js.map +1 -1
- package/dist/utils/sortSidebarData.d.ts +29 -0
- package/dist/utils/sortSidebarData.js +47 -0
- package/dist/utils/sortSidebarData.js.map +1 -0
- package/package.json +41 -19
- package/CHANGELOG.md +0 -93
- package/dist/LocalFolderSavePlugin.js +0 -165
- package/dist/LocalFolderSavePlugin.js.map +0 -1
- package/dist/NextPrevPagePlugin.js +0 -173
- package/dist/NextPrevPagePlugin.js.map +0 -1
- package/dist/ReadingTimePlugin.mjs +0 -119
- package/dist/ReadingTimePlugin.mjs.map +0 -1
- package/dist/SearchIndexPlugin.mjs +0 -268
- package/dist/SearchIndexPlugin.mjs.map +0 -1
- package/dist/TableOfContentsPlugin.mjs +0 -131
- package/dist/TableOfContentsPlugin.mjs.map +0 -1
- package/dist/__tests__/BreadcrumbsPlugin.test.js +0 -160
- package/dist/__tests__/BreadcrumbsPlugin.test.js.map +0 -1
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2
|
-
try {
|
|
3
|
-
var info = gen[key](arg);
|
|
4
|
-
var value = info.value;
|
|
5
|
-
} catch (error) {
|
|
6
|
-
reject(error);
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
if (info.done) {
|
|
10
|
-
resolve(value);
|
|
11
|
-
} else {
|
|
12
|
-
Promise.resolve(value).then(_next, _throw);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
function _asyncToGenerator(fn) {
|
|
16
|
-
return function() {
|
|
17
|
-
var self = this, args = arguments;
|
|
18
|
-
return new Promise(function(resolve, reject) {
|
|
19
|
-
var gen = fn.apply(self, args);
|
|
20
|
-
function _next(value) {
|
|
21
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
22
|
-
}
|
|
23
|
-
function _throw(err) {
|
|
24
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
25
|
-
}
|
|
26
|
-
_next(undefined);
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
function _defineProperty(obj, key, value) {
|
|
31
|
-
if (key in obj) {
|
|
32
|
-
Object.defineProperty(obj, key, {
|
|
33
|
-
value: value,
|
|
34
|
-
enumerable: true,
|
|
35
|
-
configurable: true,
|
|
36
|
-
writable: true
|
|
37
|
-
});
|
|
38
|
-
} else {
|
|
39
|
-
obj[key] = value;
|
|
40
|
-
}
|
|
41
|
-
return obj;
|
|
42
|
-
}
|
|
43
|
-
function _objectSpread(target) {
|
|
44
|
-
for(var i = 1; i < arguments.length; i++){
|
|
45
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
46
|
-
var ownKeys = Object.keys(source);
|
|
47
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
48
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
49
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
50
|
-
}));
|
|
51
|
-
}
|
|
52
|
-
ownKeys.forEach(function(key) {
|
|
53
|
-
_defineProperty(target, key, source[key]);
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
return target;
|
|
57
|
-
}
|
|
58
|
-
function ownKeys(object, enumerableOnly) {
|
|
59
|
-
var keys = Object.keys(object);
|
|
60
|
-
if (Object.getOwnPropertySymbols) {
|
|
61
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
62
|
-
if (enumerableOnly) {
|
|
63
|
-
symbols = symbols.filter(function(sym) {
|
|
64
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
keys.push.apply(keys, symbols);
|
|
68
|
-
}
|
|
69
|
-
return keys;
|
|
70
|
-
}
|
|
71
|
-
function _objectSpreadProps(target, source) {
|
|
72
|
-
source = source != null ? source : {};
|
|
73
|
-
if (Object.getOwnPropertyDescriptors) {
|
|
74
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
75
|
-
} else {
|
|
76
|
-
ownKeys(Object(source)).forEach(function(key) {
|
|
77
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
return target;
|
|
81
|
-
}
|
|
82
|
-
function _objectWithoutProperties(source, excluded) {
|
|
83
|
-
if (source == null) return {};
|
|
84
|
-
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
85
|
-
var key, i;
|
|
86
|
-
if (Object.getOwnPropertySymbols) {
|
|
87
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
88
|
-
for(i = 0; i < sourceSymbolKeys.length; i++){
|
|
89
|
-
key = sourceSymbolKeys[i];
|
|
90
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
91
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
92
|
-
target[key] = source[key];
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return target;
|
|
96
|
-
}
|
|
97
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
98
|
-
if (source == null) return {};
|
|
99
|
-
var target = {};
|
|
100
|
-
var sourceKeys = Object.keys(source);
|
|
101
|
-
var key, i;
|
|
102
|
-
for(i = 0; i < sourceKeys.length; i++){
|
|
103
|
-
key = sourceKeys[i];
|
|
104
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
105
|
-
target[key] = source[key];
|
|
106
|
-
}
|
|
107
|
-
return target;
|
|
108
|
-
}
|
|
109
|
-
import regeneratorRuntime from "regenerator-runtime";
|
|
110
|
-
import path from "path";
|
|
111
|
-
import fs from "fs";
|
|
112
|
-
import { default as mdxSerialisers } from "@jpmorganchase/mosaic-serialisers/dist/mdx";
|
|
113
|
-
var LocalFolderSavePlugin = {
|
|
114
|
-
saveContent: function saveContent(filePath, data, sourceOptions, param) {
|
|
115
|
-
var namespace = param.namespace;
|
|
116
|
-
return _asyncToGenerator(/*#__PURE__*/ regeneratorRuntime.mark(function _callee() {
|
|
117
|
-
var markdown, rootDir, prefixDir, pathOnDisk, rawPage, _ref, content, metadata, updatedPage;
|
|
118
|
-
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
|
119
|
-
while(1)switch(_ctx.prev = _ctx.next){
|
|
120
|
-
case 0:
|
|
121
|
-
markdown = data.markdown;
|
|
122
|
-
rootDir = sourceOptions.rootDir, prefixDir = sourceOptions.prefixDir;
|
|
123
|
-
if (!(namespace !== "local")) {
|
|
124
|
-
_ctx.next = 4;
|
|
125
|
-
break;
|
|
126
|
-
}
|
|
127
|
-
return _ctx.abrupt("return", false);
|
|
128
|
-
case 4:
|
|
129
|
-
pathOnDisk = path.posix.join(rootDir, filePath.replace(new RegExp("".concat(prefixDir, "/")), ""));
|
|
130
|
-
_ctx.next = 7;
|
|
131
|
-
return fs.promises.readFile(pathOnDisk);
|
|
132
|
-
case 7:
|
|
133
|
-
rawPage = _ctx.sent;
|
|
134
|
-
_ctx.next = 10;
|
|
135
|
-
return mdxSerialisers.deserialise(pathOnDisk, rawPage);
|
|
136
|
-
case 10:
|
|
137
|
-
_ref = _ctx.sent;
|
|
138
|
-
content = _ref.content;
|
|
139
|
-
metadata = _objectWithoutProperties(_ref, [
|
|
140
|
-
"content"
|
|
141
|
-
]);
|
|
142
|
-
updatedPage = _objectSpreadProps(_objectSpread({}, metadata), {
|
|
143
|
-
content: markdown
|
|
144
|
-
});
|
|
145
|
-
_ctx.t0 = fs.promises;
|
|
146
|
-
_ctx.t1 = pathOnDisk;
|
|
147
|
-
_ctx.next = 18;
|
|
148
|
-
return mdxSerialisers.serialise(pathOnDisk, updatedPage);
|
|
149
|
-
case 18:
|
|
150
|
-
_ctx.t2 = _ctx.sent;
|
|
151
|
-
_ctx.next = 21;
|
|
152
|
-
return _ctx.t0.writeFile.call(_ctx.t0, _ctx.t1, _ctx.t2);
|
|
153
|
-
case 21:
|
|
154
|
-
return _ctx.abrupt("return", true);
|
|
155
|
-
case 22:
|
|
156
|
-
case "end":
|
|
157
|
-
return _ctx.stop();
|
|
158
|
-
}
|
|
159
|
-
}, _callee);
|
|
160
|
-
}))();
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
export default LocalFolderSavePlugin;
|
|
164
|
-
|
|
165
|
-
//# sourceMappingURL=LocalFolderSavePlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/LocalFolderSavePlugin.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport type { Plugin as PluginType } from '@jpmorganchase/mosaic-types';\nimport { LocalFolderSourceOptions } from '@jpmorganchase/mosaic-source-local-folder';\nimport { default as mdxSerialisers } from '@jpmorganchase/mosaic-serialisers/dist/mdx';\n\nexport interface LocalFolderSavePluginData {\n markdown: string;\n}\n\nconst LocalFolderSavePlugin: PluginType = {\n async saveContent(\n filePath,\n data: LocalFolderSavePluginData,\n sourceOptions: LocalFolderSourceOptions,\n { namespace }\n ) {\n const { markdown } = data;\n const { rootDir, prefixDir } = sourceOptions;\n\n if (namespace !== 'local') {\n // indicate to the Plugin Runner that no save happened\n return false;\n }\n\n const pathOnDisk = path.posix.join(rootDir, filePath.replace(new RegExp(`${prefixDir}/`), ''));\n const rawPage = await fs.promises.readFile(pathOnDisk);\n const { content, ...metadata } = await mdxSerialisers.deserialise(pathOnDisk, rawPage);\n const updatedPage = { ...metadata, content: markdown };\n\n await fs.promises.writeFile(\n pathOnDisk,\n await mdxSerialisers.serialise(pathOnDisk, updatedPage)\n );\n return true;\n }\n};\n\nexport default LocalFolderSavePlugin;\n"],"names":["path","fs","default","mdxSerialisers","LocalFolderSavePlugin","saveContent","filePath","data","sourceOptions","namespace","markdown","rootDir","prefixDir","pathOnDisk","rawPage","content","metadata","updatedPage","posix","join","replace","RegExp","promises","readFile","deserialise","serialise","writeFile"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,IAAI,MAAM,MAAM,CAAC;AACxB,OAAOC,EAAE,MAAM,IAAI,CAAC;AAGpB,SAASC,OAAO,IAAIC,cAAc,QAAQ,4CAA4C,CAAC;AAMvF,IAAMC,qBAAqB,GAAe;IAClCC,WAAW,EAAjB,SAAMA,WAAW,CACfC,QAAQ,EACRC,IAA+B,EAC/BC,aAAuC,EACvC,KAAa;YAAb,AAAEC,SAAS,GAAX,KAAa,CAAXA,SAAS,AAAE;eACb,wDAAA,mBAAA;gBACQC,QAAQ,EACRC,OAAO,EAAEC,SAAS,EAOpBC,UAAU,EACVC,OAAO,EACoB,IAAqD,EAA9EC,OAAO,EAAKC,QAAQ,EACtBC,WAAW;;;;wBAXX,AAAEP,QAAQ,GAAKH,IAAI,CAAjBG,QAAQ,AAAS,CAAC;wBAClBC,OAAO,GAAgBH,aAAa,CAApCG,OAAO,EAAEC,SAAS,GAAKJ,aAAa,CAA3BI,SAAS,CAAmB;4BAEzCH,CAAAA,CAAAA,SAAS,KAAK,OAAO,CAAA;;;;qDAEhB,KAAK;;wBAGRI,UAAU,GAAGb,IAAI,CAACkB,KAAK,CAACC,IAAI,CAACR,OAAO,EAAEL,QAAQ,CAACc,OAAO,CAAC,IAAIC,MAAM,CAAC,AAAC,EAAA,CAAY,MAAC,CAAXT,SAAS,EAAC,GAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;;+BACzEX,EAAE,CAACqB,QAAQ,CAACC,QAAQ,CAACV,UAAU,CAAC;;wBAAhDC,OAAO,YAAyC,CAAA;;+BACfX,cAAc,CAACqB,WAAW,CAACX,UAAU,EAAEC,OAAO,CAAC;;wBAArD,IAAqD;wBAAhF,AAAEC,OAAO,GAAkB,IAAqD,CAA9EA,OAAO,AAAuE,CAAA;wBAAlEC,QAAQ,4BAAK,IAAqD;4BAA9ED,SAAO;;wBACTE,WAAW,GAAG,qCAAKD,QAAQ;4BAAED,OAAO,EAAEL,QAAQ;0BAAE,CAAC;kCAEjDT,EAAE,CAACqB,QAAQ;kCACfT,UAAU;;+BACJV,cAAc,CAACsB,SAAS,CAACZ,UAAU,EAAEI,WAAW,CAAC;;;;+BAFnDhB,QAAYyB,SAAS,gCAG1B;;qDACM,IAAI;;;;;;SACZ,EAAA;KAAA;CACF,AAAC;AAEF,eAAetB,qBAAqB,CAAC"}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2
|
-
try {
|
|
3
|
-
var info = gen[key](arg);
|
|
4
|
-
var value = info.value;
|
|
5
|
-
} catch (error) {
|
|
6
|
-
reject(error);
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
if (info.done) {
|
|
10
|
-
resolve(value);
|
|
11
|
-
} else {
|
|
12
|
-
Promise.resolve(value).then(_next, _throw);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
function _asyncToGenerator(fn) {
|
|
16
|
-
return function() {
|
|
17
|
-
var self = this, args = arguments;
|
|
18
|
-
return new Promise(function(resolve, reject) {
|
|
19
|
-
var gen = fn.apply(self, args);
|
|
20
|
-
function _next(value) {
|
|
21
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
22
|
-
}
|
|
23
|
-
function _throw(err) {
|
|
24
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
25
|
-
}
|
|
26
|
-
_next(undefined);
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
import regeneratorRuntime from "regenerator-runtime";
|
|
31
|
-
import { escapeRegExp } from "lodash";
|
|
32
|
-
function createFileGlob(url, pageExtensions) {
|
|
33
|
-
if (pageExtensions.length === 1) {
|
|
34
|
-
return "".concat(url).concat(pageExtensions[0]);
|
|
35
|
-
}
|
|
36
|
-
return "".concat(url, "{").concat(pageExtensions.join(","), "}");
|
|
37
|
-
}
|
|
38
|
-
function createSortFn(pageExtensions, param) {
|
|
39
|
-
var _sortBy = param.sortBy, indexFirst = param.indexFirst;
|
|
40
|
-
var indexRegExp = indexFirst && new RegExp("index".concat(pageExtensions.map(escapeRegExp).join("|"), "$"));
|
|
41
|
-
// TODO: Switch out the algorithm here, based on `sortBy`
|
|
42
|
-
return function sortFn(fullPathA, fullPathB) {
|
|
43
|
-
// Always pin /index to the front
|
|
44
|
-
if (indexFirst && indexRegExp.test(fullPathA)) {
|
|
45
|
-
return -1;
|
|
46
|
-
}
|
|
47
|
-
return fullPathA.localeCompare(fullPathB);
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Sorts the pages in a folder alphabetically and then embeds a `navigation` property to the metadata with ordered
|
|
52
|
-
* next/prev pages
|
|
53
|
-
*/ var NextPrevPlugin = {
|
|
54
|
-
$beforeSend: function $beforeSend(mutableFilesystem, param, param1) {
|
|
55
|
-
var config = param.config, pageExtensions = param.pageExtensions, ignorePages = param.ignorePages, indexFirst = param1.indexFirst, sortBy = param1.sortBy;
|
|
56
|
-
return _asyncToGenerator(/*#__PURE__*/ regeneratorRuntime.mark(function _callee() {
|
|
57
|
-
var pageDirs, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, dirName, pages, i;
|
|
58
|
-
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
|
59
|
-
while(1)switch(_ctx.prev = _ctx.next){
|
|
60
|
-
case 0:
|
|
61
|
-
_ctx.next = 2;
|
|
62
|
-
return mutableFilesystem.promises.glob("**", {
|
|
63
|
-
onlyDirectories: true,
|
|
64
|
-
ignore: ignorePages.map(function(ignore) {
|
|
65
|
-
return "**/".concat(ignore);
|
|
66
|
-
}),
|
|
67
|
-
cwd: "/"
|
|
68
|
-
});
|
|
69
|
-
case 2:
|
|
70
|
-
pageDirs = _ctx.sent;
|
|
71
|
-
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
72
|
-
_ctx.prev = 4;
|
|
73
|
-
_iterator = pageDirs[Symbol.iterator]();
|
|
74
|
-
case 6:
|
|
75
|
-
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
|
|
76
|
-
_ctx.next = 15;
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
dirName = _step.value;
|
|
80
|
-
_ctx.next = 10;
|
|
81
|
-
return mutableFilesystem.promises.glob(createFileGlob("*", pageExtensions), {
|
|
82
|
-
onlyFiles: true,
|
|
83
|
-
cwd: dirName,
|
|
84
|
-
ignore: ignorePages
|
|
85
|
-
});
|
|
86
|
-
case 10:
|
|
87
|
-
pages = _ctx.sent.sort(createSortFn(pageExtensions, {
|
|
88
|
-
indexFirst: indexFirst,
|
|
89
|
-
sortBy: sortBy
|
|
90
|
-
}));
|
|
91
|
-
for(i = 0; i < pages.length; i++){
|
|
92
|
-
if (i > 0) {
|
|
93
|
-
config.setRef(pages[i], [
|
|
94
|
-
"navigation",
|
|
95
|
-
"prev",
|
|
96
|
-
"title",
|
|
97
|
-
"$ref"
|
|
98
|
-
], "".concat(pages[i - 1], "#/title"));
|
|
99
|
-
config.setRef(pages[i], [
|
|
100
|
-
"navigation",
|
|
101
|
-
"prev",
|
|
102
|
-
"fullPath",
|
|
103
|
-
"$ref"
|
|
104
|
-
], "".concat(pages[i - 1], "#/route"));
|
|
105
|
-
}
|
|
106
|
-
if (i < pages.length - 1) {
|
|
107
|
-
config.setRef(pages[i], [
|
|
108
|
-
"navigation",
|
|
109
|
-
"next",
|
|
110
|
-
"title",
|
|
111
|
-
"$ref"
|
|
112
|
-
], "".concat(pages[i + 1], "#/title"));
|
|
113
|
-
config.setRef(pages[i], [
|
|
114
|
-
"navigation",
|
|
115
|
-
"next",
|
|
116
|
-
"fullPath",
|
|
117
|
-
"$ref"
|
|
118
|
-
], "".concat(pages[i + 1], "#/route"));
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
case 12:
|
|
122
|
-
_iteratorNormalCompletion = true;
|
|
123
|
-
_ctx.next = 6;
|
|
124
|
-
break;
|
|
125
|
-
case 15:
|
|
126
|
-
_ctx.next = 21;
|
|
127
|
-
break;
|
|
128
|
-
case 17:
|
|
129
|
-
_ctx.prev = 17;
|
|
130
|
-
_ctx.t0 = _ctx["catch"](4);
|
|
131
|
-
_didIteratorError = true;
|
|
132
|
-
_iteratorError = _ctx.t0;
|
|
133
|
-
case 21:
|
|
134
|
-
_ctx.prev = 21;
|
|
135
|
-
_ctx.prev = 22;
|
|
136
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
137
|
-
_iterator.return();
|
|
138
|
-
}
|
|
139
|
-
case 24:
|
|
140
|
-
_ctx.prev = 24;
|
|
141
|
-
if (!_didIteratorError) {
|
|
142
|
-
_ctx.next = 27;
|
|
143
|
-
break;
|
|
144
|
-
}
|
|
145
|
-
throw _iteratorError;
|
|
146
|
-
case 27:
|
|
147
|
-
return _ctx.finish(24);
|
|
148
|
-
case 28:
|
|
149
|
-
return _ctx.finish(21);
|
|
150
|
-
case 29:
|
|
151
|
-
case "end":
|
|
152
|
-
return _ctx.stop();
|
|
153
|
-
}
|
|
154
|
-
}, _callee, null, [
|
|
155
|
-
[
|
|
156
|
-
4,
|
|
157
|
-
17,
|
|
158
|
-
21,
|
|
159
|
-
29
|
|
160
|
-
],
|
|
161
|
-
[
|
|
162
|
-
22,
|
|
163
|
-
,
|
|
164
|
-
24,
|
|
165
|
-
28
|
|
166
|
-
]
|
|
167
|
-
]);
|
|
168
|
-
}))();
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
|
-
export default NextPrevPlugin;
|
|
172
|
-
|
|
173
|
-
//# sourceMappingURL=NextPrevPagePlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/NextPrevPagePlugin.ts"],"sourcesContent":["import type { Page, Plugin as PluginType } from '@jpmorganchase/mosaic-types';\nimport { escapeRegExp } from 'lodash';\n\nfunction createFileGlob(url, pageExtensions) {\n if (pageExtensions.length === 1) {\n return `${url}${pageExtensions[0]}`;\n }\n return `${url}{${pageExtensions.join(',')}}`;\n}\n\nfunction createSortFn(\n pageExtensions: string[],\n { sortBy: _sortBy, indexFirst }: NextPrevPluginOptions\n) {\n const indexRegExp =\n indexFirst && new RegExp(`index${pageExtensions.map(escapeRegExp).join('|')}$`);\n\n // TODO: Switch out the algorithm here, based on `sortBy`\n return function sortFn(fullPathA, fullPathB) {\n // Always pin /index to the front\n if (indexFirst && indexRegExp.test(fullPathA)) {\n return -1;\n }\n return fullPathA.localeCompare(fullPathB);\n };\n}\n\ninterface NextPrevPluginPage extends Page {\n nextPrev: { [key: string]: string[] };\n refs: { [key: string]: { $$path: (number | string)[]; $$value: string }[] };\n}\n\ninterface NextPrevPluginOptions {\n indexFirst?: boolean;\n sortBy?: string;\n}\n\n/**\n * Sorts the pages in a folder alphabetically and then embeds a `navigation` property to the metadata with ordered\n * next/prev pages\n */\nconst NextPrevPlugin: PluginType<NextPrevPluginPage, NextPrevPluginOptions> = {\n async $beforeSend(\n mutableFilesystem,\n { config, pageExtensions, ignorePages },\n { indexFirst, sortBy }\n ) {\n const pageDirs = (await mutableFilesystem.promises.glob('**', {\n onlyDirectories: true,\n ignore: ignorePages.map(ignore => `**/${ignore}`),\n cwd: '/'\n })) as string[];\n for (const dirName of pageDirs) {\n const pages = (\n await mutableFilesystem.promises.glob(createFileGlob('*', pageExtensions), {\n onlyFiles: true,\n cwd: dirName,\n ignore: ignorePages\n })\n ).sort(createSortFn(pageExtensions, { indexFirst, sortBy })) as string[];\n for (let i = 0; i < pages.length; i++) {\n if (i > 0) {\n config.setRef(\n pages[i],\n ['navigation', 'prev', 'title', '$ref'],\n `${pages[i - 1]}#/title`\n );\n config.setRef(\n pages[i],\n ['navigation', 'prev', 'fullPath', '$ref'],\n `${pages[i - 1]}#/route`\n );\n }\n if (i < pages.length - 1) {\n config.setRef(\n pages[i],\n ['navigation', 'next', 'title', '$ref'],\n `${pages[i + 1]}#/title`\n );\n config.setRef(\n pages[i],\n ['navigation', 'next', 'fullPath', '$ref'],\n `${pages[i + 1]}#/route`\n );\n }\n }\n }\n }\n};\n\nexport default NextPrevPlugin;\n"],"names":["escapeRegExp","createFileGlob","url","pageExtensions","length","join","createSortFn","sortBy","_sortBy","indexFirst","indexRegExp","RegExp","map","sortFn","fullPathA","fullPathB","test","localeCompare","NextPrevPlugin","$beforeSend","mutableFilesystem","config","ignorePages","pageDirs","dirName","pages","i","promises","glob","onlyDirectories","ignore","cwd","onlyFiles","sort","setRef"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAASA,YAAY,QAAQ,QAAQ,CAAC;AAEtC,SAASC,cAAc,CAACC,GAAG,EAAEC,cAAc,EAAE;IAC3C,IAAIA,cAAc,CAACC,MAAM,KAAK,CAAC,EAAE;QAC/B,OAAO,AAAC,EAAA,CAAQD,MAAiB,CAAvBD,GAAG,CAAqB,CAAA,MAAA,CAAlBC,cAAc,CAAC,CAAC,CAAC,CAAE,CAAC;KACrC;IACD,OAAO,AAAC,EAAA,CAASA,MAAwB,CAA/BD,GAAG,EAAC,GAAC,CAA2B,CAAA,MAAC,CAA1BC,cAAc,CAACE,IAAI,CAAC,GAAG,CAAC,EAAC,GAAC,CAAC,CAAC;CAC9C;AAED,SAASC,YAAY,CACnBH,cAAwB,EACxB,KAAsD,EACtD;QADEI,AAAQC,OAAO,GAAjB,KAAsD,CAApDD,MAAM,AAAS,EAAEE,UAAU,GAA7B,KAAsD,CAAnCA,UAAU;IAE7B,IAAMC,WAAW,GACfD,UAAU,IAAI,IAAIE,MAAM,CAAC,AAAC,OAAK,CAA6C,MAAC,CAA5CR,cAAc,CAACS,GAAG,CAACZ,YAAY,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC,EAAC,GAAC,CAAC,CAAC,AAAC;IAElF,yDAAyD;IACzD,OAAO,SAASQ,MAAM,CAACC,SAAS,EAAEC,SAAS,EAAE;QAC3C,iCAAiC;QACjC,IAAIN,UAAU,IAAIC,WAAW,CAACM,IAAI,CAACF,SAAS,CAAC,EAAE;YAC7C,OAAO,CAAC,CAAC,CAAC;SACX;QACD,OAAOA,SAAS,CAACG,aAAa,CAACF,SAAS,CAAC,CAAC;KAC3C,CAAC;CACH;AAYD;;;CAGC,GACD,IAAMG,cAAc,GAA0D;IACtEC,WAAW,EAAjB,SAAMA,WAAW,CACfC,iBAAiB,EACjB,KAAuC,EACvC,MAAsB;YADpBC,MAAM,GAAR,KAAuC,CAArCA,MAAM,EAAElB,cAAc,GAAxB,KAAuC,CAA7BA,cAAc,EAAEmB,WAAW,GAArC,KAAuC,CAAbA,WAAW,EACnCb,UAAU,GAAZ,MAAsB,CAApBA,UAAU,EAAEF,MAAM,GAApB,MAAsB,CAARA,MAAM;eACpB,wDAAA,mBAAA;gBACMgB,QAAQ,EAKT,yBAAa,EAAb,iBAAa,EAAb,cAAa,EAAb,SAAa,EAAb,KAAa,EAAPC,OAAO,EACVC,KAAK,EAOFC,CAAC;;;;;+BAbYN,iBAAiB,CAACO,QAAQ,CAACC,IAAI,CAAC,IAAI,EAAE;4BAC5DC,eAAe,EAAE,IAAI;4BACrBC,MAAM,EAAER,WAAW,CAACV,GAAG,CAACkB,SAAAA,MAAM;uCAAI,AAAC,KAAG,CAAS,MAAA,CAAPA,MAAM,CAAE;6BAAA,CAAC;4BACjDC,GAAG,EAAE,GAAG;yBACT,CAAC;;wBAJIR,QAAQ,YAIC,CAAA;wBACV,yBAAa,SAAb,iBAAa,UAAb,cAAa;;wBAAb,SAAa,GAAIA,QAAQ;;4BAAzB,yBAAa,GALD,CAKZ,KAAa,GAAb,SAAa,QADf;;;;wBACQC,OAAO,GAAb,KAAa,MAAA;;+BAERJ,iBAAiB,CAACO,QAAQ,CAACC,IAAI,CAAC3B,cAAc,CAAC,GAAG,EAAEE,cAAc,CAAC,EAAE;4BACzE6B,SAAS,EAAE,IAAI;4BACfD,GAAG,EAAEP,OAAO;4BACZM,MAAM,EAAER,WAAW;yBACpB,CAAC;;wBALEG,KAAK,GAAG,UAMZQ,IAAI,CAAC3B,YAAY,CAACH,cAAc,EAAE;4BAAEM,UAAU,EAAVA,UAAU;4BAAEF,MAAM,EAANA,MAAM;yBAAE,CAAC,CAAC,AAAY,CAAA;wBACxE,IAASmB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,KAAK,CAACrB,MAAM,EAAEsB,CAAC,EAAE,CAAE;4BACrC,IAAIA,CAAC,GAAG,CAAC,EAAE;gCACTL,MAAM,CAACa,MAAM,CACXT,KAAK,CAACC,CAAC,CAAC,EACR;oCAAC,YAAY;oCAAE,MAAM;oCAAE,OAAO;oCAAE,MAAM;iCAAC,EACvC,AAAC,EAAA,CAAe,MAAO,CAApBD,KAAK,CAACC,CAAC,GAAG,CAAC,CAAC,EAAC,SAAO,CAAC,CACzB,CAAC;gCACFL,MAAM,CAACa,MAAM,CACXT,KAAK,CAACC,CAAC,CAAC,EACR;oCAAC,YAAY;oCAAE,MAAM;oCAAE,UAAU;oCAAE,MAAM;iCAAC,EAC1C,AAAC,EAAA,CAAe,MAAO,CAApBD,KAAK,CAACC,CAAC,GAAG,CAAC,CAAC,EAAC,SAAO,CAAC,CACzB,CAAC;6BACH;4BACD,IAAIA,CAAC,GAAGD,KAAK,CAACrB,MAAM,GAAG,CAAC,EAAE;gCACxBiB,MAAM,CAACa,MAAM,CACXT,KAAK,CAACC,CAAC,CAAC,EACR;oCAAC,YAAY;oCAAE,MAAM;oCAAE,OAAO;oCAAE,MAAM;iCAAC,EACvC,AAAC,EAAA,CAAe,MAAO,CAApBD,KAAK,CAACC,CAAC,GAAG,CAAC,CAAC,EAAC,SAAO,CAAC,CACzB,CAAC;gCACFL,MAAM,CAACa,MAAM,CACXT,KAAK,CAACC,CAAC,CAAC,EACR;oCAAC,YAAY;oCAAE,MAAM;oCAAE,UAAU;oCAAE,MAAM;iCAAC,EAC1C,AAAC,EAAA,CAAe,MAAO,CAApBD,KAAK,CAACC,CAAC,GAAG,CAAC,CAAC,EAAC,SAAO,CAAC,CACzB,CAAC;6BACH;yBACF;;wBAjCE,yBAAa;;;;;;;;;wBAAb,iBAAa;wBAAb,cAAa;;;;6BAAb,yBAAa,IAAb,SAAa;4BAAb,SAAa;;;;4BAAb,CAAA,iBAAa;;;;8BAAb,cAAa;;;;;;;;;;;;;;;;;;;;;;;SAmCnB,EAAA;KAAA;CACF,AAAC;AAEF,eAAeR,cAAc,CAAC"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2
|
-
try {
|
|
3
|
-
var info = gen[key](arg);
|
|
4
|
-
var value = info.value;
|
|
5
|
-
} catch (error) {
|
|
6
|
-
reject(error);
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
if (info.done) {
|
|
10
|
-
resolve(value);
|
|
11
|
-
} else {
|
|
12
|
-
Promise.resolve(value).then(_next, _throw);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
function _asyncToGenerator(fn) {
|
|
16
|
-
return function() {
|
|
17
|
-
var self = this, args = arguments;
|
|
18
|
-
return new Promise(function(resolve, reject) {
|
|
19
|
-
var gen = fn.apply(self, args);
|
|
20
|
-
function _next(value) {
|
|
21
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
22
|
-
}
|
|
23
|
-
function _throw(err) {
|
|
24
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
25
|
-
}
|
|
26
|
-
_next(undefined);
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
import regeneratorRuntime from "regenerator-runtime";
|
|
31
|
-
import getReadingTime from "reading-time";
|
|
32
|
-
import markdown from "remark-parse";
|
|
33
|
-
import { unified } from "unified";
|
|
34
|
-
import { visit } from "unist-util-visit";
|
|
35
|
-
/**
|
|
36
|
-
* Calculates reading time for pages and adds to frontmatter
|
|
37
|
-
*/ var ReadingTimePlugin = {
|
|
38
|
-
$afterSource: function $afterSource(pages) {
|
|
39
|
-
return _asyncToGenerator(/*#__PURE__*/ regeneratorRuntime.mark(function _callee() {
|
|
40
|
-
var processor, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, page, tree, textContent;
|
|
41
|
-
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
|
42
|
-
while(1)switch(_ctx.prev = _ctx.next){
|
|
43
|
-
case 0:
|
|
44
|
-
processor = unified().use(markdown);
|
|
45
|
-
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
46
|
-
_ctx.prev = 2;
|
|
47
|
-
_iterator = pages[Symbol.iterator]();
|
|
48
|
-
case 4:
|
|
49
|
-
if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
|
|
50
|
-
_ctx.next = 15;
|
|
51
|
-
break;
|
|
52
|
-
}
|
|
53
|
-
page = _step.value;
|
|
54
|
-
_ctx.next = 8;
|
|
55
|
-
return processor.parse(page.content);
|
|
56
|
-
case 8:
|
|
57
|
-
tree = _ctx.sent;
|
|
58
|
-
textContent = "";
|
|
59
|
-
visit(tree, function(node) {
|
|
60
|
-
return node.type === "text" || node.type === "code";
|
|
61
|
-
}, function(node) {
|
|
62
|
-
textContent += node.value;
|
|
63
|
-
});
|
|
64
|
-
page.readingTime = getReadingTime(textContent);
|
|
65
|
-
case 12:
|
|
66
|
-
_iteratorNormalCompletion = true;
|
|
67
|
-
_ctx.next = 4;
|
|
68
|
-
break;
|
|
69
|
-
case 15:
|
|
70
|
-
_ctx.next = 21;
|
|
71
|
-
break;
|
|
72
|
-
case 17:
|
|
73
|
-
_ctx.prev = 17;
|
|
74
|
-
_ctx.t0 = _ctx["catch"](2);
|
|
75
|
-
_didIteratorError = true;
|
|
76
|
-
_iteratorError = _ctx.t0;
|
|
77
|
-
case 21:
|
|
78
|
-
_ctx.prev = 21;
|
|
79
|
-
_ctx.prev = 22;
|
|
80
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
81
|
-
_iterator.return();
|
|
82
|
-
}
|
|
83
|
-
case 24:
|
|
84
|
-
_ctx.prev = 24;
|
|
85
|
-
if (!_didIteratorError) {
|
|
86
|
-
_ctx.next = 27;
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
throw _iteratorError;
|
|
90
|
-
case 27:
|
|
91
|
-
return _ctx.finish(24);
|
|
92
|
-
case 28:
|
|
93
|
-
return _ctx.finish(21);
|
|
94
|
-
case 29:
|
|
95
|
-
return _ctx.abrupt("return", pages);
|
|
96
|
-
case 30:
|
|
97
|
-
case "end":
|
|
98
|
-
return _ctx.stop();
|
|
99
|
-
}
|
|
100
|
-
}, _callee, null, [
|
|
101
|
-
[
|
|
102
|
-
2,
|
|
103
|
-
17,
|
|
104
|
-
21,
|
|
105
|
-
29
|
|
106
|
-
],
|
|
107
|
-
[
|
|
108
|
-
22,
|
|
109
|
-
,
|
|
110
|
-
24,
|
|
111
|
-
28
|
|
112
|
-
]
|
|
113
|
-
]);
|
|
114
|
-
}))();
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
export default ReadingTimePlugin;
|
|
118
|
-
|
|
119
|
-
//# sourceMappingURL=ReadingTimePlugin.mjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|