@docusaurus/utils 3.3.2 → 3.5.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/cliUtils.js +1 -2
- package/lib/cliUtils.js.map +1 -1
- package/lib/contentVisibilityUtils.js +2 -3
- package/lib/contentVisibilityUtils.js.map +1 -1
- package/lib/dataFileUtils.d.ts +6 -7
- package/lib/dataFileUtils.d.ts.map +1 -1
- package/lib/dataFileUtils.js +14 -14
- package/lib/dataFileUtils.js.map +1 -1
- package/lib/emitUtils.d.ts +0 -1
- package/lib/emitUtils.d.ts.map +1 -1
- package/lib/emitUtils.js +2 -3
- package/lib/emitUtils.js.map +1 -1
- package/lib/gitUtils.js +2 -2
- package/lib/gitUtils.js.map +1 -1
- package/lib/globUtils.js +3 -3
- package/lib/globUtils.js.map +1 -1
- package/lib/hashUtils.d.ts +4 -1
- package/lib/hashUtils.d.ts.map +1 -1
- package/lib/hashUtils.js +12 -7
- package/lib/hashUtils.js.map +1 -1
- package/lib/i18nUtils.js +4 -5
- package/lib/i18nUtils.js.map +1 -1
- package/lib/index.d.ts +5 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +10 -5
- package/lib/index.js.map +1 -1
- package/lib/jsUtils.js +2 -3
- package/lib/jsUtils.js.map +1 -1
- package/lib/lastUpdateUtils.js +4 -4
- package/lib/lastUpdateUtils.js.map +1 -1
- package/lib/markdownLinks.d.ts +7 -34
- package/lib/markdownLinks.d.ts.map +1 -1
- package/lib/markdownLinks.js +21 -104
- package/lib/markdownLinks.js.map +1 -1
- package/lib/markdownUtils.js +12 -12
- package/lib/markdownUtils.js.map +1 -1
- package/lib/moduleUtils.js +1 -2
- package/lib/moduleUtils.js.map +1 -1
- package/lib/pathUtils.js +8 -8
- package/lib/pathUtils.js.map +1 -1
- package/lib/regExpUtils.js +1 -2
- package/lib/regExpUtils.js.map +1 -1
- package/lib/routeUtils.js +1 -2
- package/lib/routeUtils.js.map +1 -1
- package/lib/shellUtils.js +1 -2
- package/lib/shellUtils.js.map +1 -1
- package/lib/slugger.js +1 -2
- package/lib/slugger.js.map +1 -1
- package/lib/tags.d.ts +35 -18
- package/lib/tags.d.ts.map +1 -1
- package/lib/tags.js +58 -30
- package/lib/tags.js.map +1 -1
- package/lib/urlUtils.d.ts +14 -0
- package/lib/urlUtils.d.ts.map +1 -1
- package/lib/urlUtils.js +76 -30
- package/lib/urlUtils.js.map +1 -1
- package/lib/webpackUtils.js +2 -3
- package/lib/webpackUtils.js.map +1 -1
- package/package.json +6 -5
- package/src/dataFileUtils.ts +12 -14
- package/src/hashUtils.ts +20 -3
- package/src/index.ts +12 -4
- package/src/markdownLinks.ts +32 -151
- package/src/markdownUtils.ts +2 -2
- package/src/tags.ts +122 -36
- package/src/urlUtils.ts +76 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lastUpdateUtils.js","sourceRoot":"","sources":["../src/lastUpdateUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"lastUpdateUtils.js","sourceRoot":"","sources":["../src/lastUpdateUtils.ts"],"names":[],"mappings":"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"}
|
package/lib/markdownLinks.d.ts
CHANGED
|
@@ -33,39 +33,12 @@ export type BrokenMarkdownLink<T extends ContentPaths> = {
|
|
|
33
33
|
*/
|
|
34
34
|
link: string;
|
|
35
35
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
* be relative to the directory of the current file (most likely) or any of the
|
|
43
|
-
* content paths (so `/tutorials/intro.md` can be resolved as
|
|
44
|
-
* `<siteDir>/docs/tutorials/intro.md`). Links that contain the `http(s):` or
|
|
45
|
-
* `@site/` prefix will always be ignored.
|
|
46
|
-
*/
|
|
47
|
-
export declare function replaceMarkdownLinks<T extends ContentPaths>({ siteDir, fileString, filePath, contentPaths, sourceToPermalink, }: {
|
|
48
|
-
/** Absolute path to the site directory, used to resolve aliased paths. */
|
|
36
|
+
export type SourceToPermalink = Map<string, // Aliased source path: "@site/docs/content.mdx"
|
|
37
|
+
string>;
|
|
38
|
+
export declare function resolveMarkdownLinkPathname(linkPathname: string, context: {
|
|
39
|
+
sourceFilePath: string;
|
|
40
|
+
sourceToPermalink: SourceToPermalink;
|
|
41
|
+
contentPaths: ContentPaths;
|
|
49
42
|
siteDir: string;
|
|
50
|
-
|
|
51
|
-
fileString: string;
|
|
52
|
-
/** Absolute path to the current file containing `fileString`. */
|
|
53
|
-
filePath: string;
|
|
54
|
-
/** The content paths which the file reference may live in. */
|
|
55
|
-
contentPaths: T;
|
|
56
|
-
/**
|
|
57
|
-
* A map from source paths to their URLs. Source paths are `@site` aliased.
|
|
58
|
-
*/
|
|
59
|
-
sourceToPermalink: {
|
|
60
|
-
[aliasedPath: string]: string;
|
|
61
|
-
};
|
|
62
|
-
}): {
|
|
63
|
-
/**
|
|
64
|
-
* The content with all Markdown file references replaced with their URLs.
|
|
65
|
-
* Unresolved links are left as-is.
|
|
66
|
-
*/
|
|
67
|
-
newContent: string;
|
|
68
|
-
/** The list of broken links, */
|
|
69
|
-
brokenMarkdownLinks: BrokenMarkdownLink<T>[];
|
|
70
|
-
};
|
|
43
|
+
}): string | null;
|
|
71
44
|
//# sourceMappingURL=markdownLinks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownLinks.d.ts","sourceRoot":"","sources":["../src/markdownLinks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,YAAY,IAAI;IACvD,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC;IAChB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;
|
|
1
|
+
{"version":3,"file":"markdownLinks.d.ts","sourceRoot":"","sources":["../src/markdownLinks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,YAAY,IAAI;IACvD,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC;IAChB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,GAAG,CACjC,MAAM,EAAE,gDAAgD;AACxD,MAAM,CACP,CAAC;AAKF,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;IACP,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,MAAM,GAAG,IAAI,CAoBf"}
|
package/lib/markdownLinks.js
CHANGED
|
@@ -6,114 +6,31 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
9
|
+
exports.resolveMarkdownLinkPathname = resolveMarkdownLinkPathname;
|
|
10
10
|
const tslib_1 = require("tslib");
|
|
11
11
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
12
12
|
const dataFileUtils_1 = require("./dataFileUtils");
|
|
13
13
|
const pathUtils_1 = require("./pathUtils");
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
// Note this is historical logic extracted during a 2024 refactor
|
|
15
|
+
// The algo has been kept exactly as before for retro compatibility
|
|
16
|
+
// See also https://github.com/facebook/docusaurus/pull/10168
|
|
17
|
+
function resolveMarkdownLinkPathname(linkPathname, context) {
|
|
18
|
+
const { sourceFilePath, sourceToPermalink, contentPaths, siteDir } = context;
|
|
19
|
+
const sourceDirsToTry = [];
|
|
20
|
+
// ./file.md and ../file.md are always relative to the current file
|
|
21
|
+
if (!linkPathname.startsWith('./') && !linkPathname.startsWith('../')) {
|
|
22
|
+
sourceDirsToTry.push(...(0, dataFileUtils_1.getContentPathList)(contentPaths), siteDir);
|
|
18
23
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
* This method uses best effort to find a matching file. The file reference can
|
|
31
|
-
* be relative to the directory of the current file (most likely) or any of the
|
|
32
|
-
* content paths (so `/tutorials/intro.md` can be resolved as
|
|
33
|
-
* `<siteDir>/docs/tutorials/intro.md`). Links that contain the `http(s):` or
|
|
34
|
-
* `@site/` prefix will always be ignored.
|
|
35
|
-
*/
|
|
36
|
-
function replaceMarkdownLinks({ siteDir, fileString, filePath, contentPaths, sourceToPermalink, }) {
|
|
37
|
-
const brokenMarkdownLinks = [];
|
|
38
|
-
// Replace internal markdown linking (except in fenced blocks).
|
|
39
|
-
let lastOpenCodeFence = null;
|
|
40
|
-
const lines = fileString.split('\n').map((line) => {
|
|
41
|
-
const codeFence = parseCodeFence(line);
|
|
42
|
-
if (codeFence) {
|
|
43
|
-
if (!lastOpenCodeFence) {
|
|
44
|
-
lastOpenCodeFence = codeFence;
|
|
45
|
-
}
|
|
46
|
-
else if (!codeFence.definitelyOpen &&
|
|
47
|
-
lastOpenCodeFence.type === codeFence.type &&
|
|
48
|
-
lastOpenCodeFence.count <= codeFence.count) {
|
|
49
|
-
// All three conditions must be met in order for this to be considered
|
|
50
|
-
// a closing fence.
|
|
51
|
-
lastOpenCodeFence = null;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
if (lastOpenCodeFence) {
|
|
55
|
-
return line;
|
|
56
|
-
}
|
|
57
|
-
let modifiedLine = line;
|
|
58
|
-
// Replace inline-style links or reference-style links e.g:
|
|
59
|
-
// This is [Document 1](doc1.md)
|
|
60
|
-
// [doc1]: doc1.md
|
|
61
|
-
const linkTitlePattern = '(?:\\s+(?:\'.*?\'|".*?"|\\(.*?\\)))?';
|
|
62
|
-
const linkSuffixPattern = '(?:\\?[^#>\\s]+)?(?:#[^>\\s]+)?';
|
|
63
|
-
const linkCapture = (forbidden) => `((?!https?://|@site/)[^${forbidden}#?]+)`;
|
|
64
|
-
const linkURLPattern = `(?:(?!<)${linkCapture('()\\s')}${linkSuffixPattern}|<${linkCapture('>')}${linkSuffixPattern}>)`;
|
|
65
|
-
const linkPattern = new RegExp(`\\[(?:(?!\\]\\().)*\\]\\(\\s*${linkURLPattern}${linkTitlePattern}\\s*\\)|^\\s*\\[[^[\\]]*[^[\\]\\s][^[\\]]*\\]:\\s*${linkURLPattern}${linkTitlePattern}$`, 'dgm');
|
|
66
|
-
let mdMatch = linkPattern.exec(modifiedLine);
|
|
67
|
-
while (mdMatch !== null) {
|
|
68
|
-
// Replace it to correct html link.
|
|
69
|
-
const mdLink = mdMatch.slice(1, 5).find(Boolean);
|
|
70
|
-
const mdLinkRange = mdMatch.indices.slice(1, 5).find(Boolean);
|
|
71
|
-
if (!/\.mdx?$/.test(mdLink)) {
|
|
72
|
-
mdMatch = linkPattern.exec(modifiedLine);
|
|
73
|
-
continue;
|
|
74
|
-
}
|
|
75
|
-
const sourcesToTry = [];
|
|
76
|
-
// ./file.md and ../file.md are always relative to the current file
|
|
77
|
-
if (!mdLink.startsWith('./') && !mdLink.startsWith('../')) {
|
|
78
|
-
sourcesToTry.push(...(0, dataFileUtils_1.getContentPathList)(contentPaths), siteDir);
|
|
79
|
-
}
|
|
80
|
-
// /file.md is always relative to the content path
|
|
81
|
-
if (!mdLink.startsWith('/')) {
|
|
82
|
-
sourcesToTry.push(path_1.default.dirname(filePath));
|
|
83
|
-
}
|
|
84
|
-
const aliasedSourceMatch = sourcesToTry
|
|
85
|
-
.map((p) => path_1.default.join(p, decodeURIComponent(mdLink)))
|
|
86
|
-
.map((source) => (0, pathUtils_1.aliasedSitePath)(source, siteDir))
|
|
87
|
-
.find((source) => sourceToPermalink[source]);
|
|
88
|
-
const permalink = aliasedSourceMatch
|
|
89
|
-
? sourceToPermalink[aliasedSourceMatch]
|
|
90
|
-
: undefined;
|
|
91
|
-
if (permalink) {
|
|
92
|
-
// MDX won't be happy if the permalink contains a space, we need to
|
|
93
|
-
// convert it to %20
|
|
94
|
-
const encodedPermalink = permalink
|
|
95
|
-
.split('/')
|
|
96
|
-
.map((part) => part.replace(/\s/g, '%20'))
|
|
97
|
-
.join('/');
|
|
98
|
-
modifiedLine = `${modifiedLine.slice(0, mdLinkRange[0])}${encodedPermalink}${modifiedLine.slice(mdLinkRange[1])}`;
|
|
99
|
-
// Adjust the lastIndex to avoid passing over the next link if the
|
|
100
|
-
// newly replaced URL is shorter.
|
|
101
|
-
linkPattern.lastIndex += encodedPermalink.length - mdLink.length;
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
const brokenMarkdownLink = {
|
|
105
|
-
contentPaths,
|
|
106
|
-
filePath,
|
|
107
|
-
link: mdLink,
|
|
108
|
-
};
|
|
109
|
-
brokenMarkdownLinks.push(brokenMarkdownLink);
|
|
110
|
-
}
|
|
111
|
-
mdMatch = linkPattern.exec(modifiedLine);
|
|
112
|
-
}
|
|
113
|
-
return modifiedLine;
|
|
114
|
-
});
|
|
115
|
-
const newContent = lines.join('\n');
|
|
116
|
-
return { newContent, brokenMarkdownLinks };
|
|
24
|
+
// /file.md is never relative to the source file path
|
|
25
|
+
if (!linkPathname.startsWith('/')) {
|
|
26
|
+
sourceDirsToTry.push(path_1.default.dirname(sourceFilePath));
|
|
27
|
+
}
|
|
28
|
+
const aliasedSourceMatch = sourceDirsToTry
|
|
29
|
+
.map((sourceDir) => path_1.default.join(sourceDir, decodeURIComponent(linkPathname)))
|
|
30
|
+
.map((source) => (0, pathUtils_1.aliasedSitePath)(source, siteDir))
|
|
31
|
+
.find((source) => sourceToPermalink.has(source));
|
|
32
|
+
return aliasedSourceMatch
|
|
33
|
+
? sourceToPermalink.get(aliasedSourceMatch) ?? null
|
|
34
|
+
: null;
|
|
117
35
|
}
|
|
118
|
-
exports.replaceMarkdownLinks = replaceMarkdownLinks;
|
|
119
36
|
//# sourceMappingURL=markdownLinks.js.map
|
package/lib/markdownLinks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownLinks.js","sourceRoot":"","sources":["../src/markdownLinks.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"markdownLinks.js","sourceRoot":"","sources":["../src/markdownLinks.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA6CH,kEA4BC;;AAvED,wDAAwB;AACxB,mDAAmD;AACnD,2CAA4C;AAsC5C,iEAAiE;AACjE,mEAAmE;AACnE,6DAA6D;AAC7D,SAAgB,2BAA2B,CACzC,YAAoB,EACpB,OAKC;IAED,MAAM,EAAC,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,EAAC,GAAG,OAAO,CAAC;IAC3E,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,mEAAmE;IACnE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,eAAe,CAAC,IAAI,CAAC,GAAG,IAAA,kCAAkB,EAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,qDAAqD;IACrD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,eAAe,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,kBAAkB,GAAG,eAAe;SACvC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;SAC1E,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,2BAAe,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACjD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnD,OAAO,kBAAkB;QACvB,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,IAAI;QACnD,CAAC,CAAC,IAAI,CAAC;AACX,CAAC"}
|
package/lib/markdownUtils.js
CHANGED
|
@@ -6,7 +6,16 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
9
|
+
exports.DEFAULT_PARSE_FRONT_MATTER = void 0;
|
|
10
|
+
exports.parseMarkdownHeadingId = parseMarkdownHeadingId;
|
|
11
|
+
exports.escapeMarkdownHeadingIds = escapeMarkdownHeadingIds;
|
|
12
|
+
exports.unwrapMdxCodeBlocks = unwrapMdxCodeBlocks;
|
|
13
|
+
exports.admonitionTitleToDirectiveLabel = admonitionTitleToDirectiveLabel;
|
|
14
|
+
exports.createExcerpt = createExcerpt;
|
|
15
|
+
exports.parseFileContentFrontMatter = parseFileContentFrontMatter;
|
|
16
|
+
exports.parseMarkdownContentTitle = parseMarkdownContentTitle;
|
|
17
|
+
exports.parseMarkdownFile = parseMarkdownFile;
|
|
18
|
+
exports.writeMarkdownHeadingId = writeMarkdownHeadingId;
|
|
10
19
|
const tslib_1 = require("tslib");
|
|
11
20
|
const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
12
21
|
const gray_matter_1 = tslib_1.__importDefault(require("gray-matter"));
|
|
@@ -32,7 +41,6 @@ function parseMarkdownHeadingId(heading) {
|
|
|
32
41
|
}
|
|
33
42
|
return { text: heading, id: undefined };
|
|
34
43
|
}
|
|
35
|
-
exports.parseMarkdownHeadingId = parseMarkdownHeadingId;
|
|
36
44
|
/**
|
|
37
45
|
* MDX 2 requires escaping { with a \ so our anchor syntax need that now.
|
|
38
46
|
* See https://mdxjs.com/docs/troubleshooting-mdx/#could-not-parse-expression-with-acorn-error
|
|
@@ -46,7 +54,6 @@ function escapeMarkdownHeadingIds(content) {
|
|
|
46
54
|
// prevent duplicate escaping
|
|
47
55
|
.replace('\\\\{#', '\\{#'));
|
|
48
56
|
}
|
|
49
|
-
exports.escapeMarkdownHeadingIds = escapeMarkdownHeadingIds;
|
|
50
57
|
/**
|
|
51
58
|
* Hacky temporary escape hatch for Crowdin bad MDX support
|
|
52
59
|
* See https://docusaurus.io/docs/i18n/crowdin#mdx
|
|
@@ -58,8 +65,8 @@ exports.escapeMarkdownHeadingIds = escapeMarkdownHeadingIds;
|
|
|
58
65
|
*/
|
|
59
66
|
function unwrapMdxCodeBlocks(content) {
|
|
60
67
|
// We only support 3/4 backticks on purpose, should be good enough
|
|
61
|
-
const regexp3 = /(?<begin>^|\r?\n)```(?<spaces>\x20*)mdx-code-block\r?\n(?<children>.*?)\r?\n```(?<end>\r?\n|$)/gs;
|
|
62
|
-
const regexp4 = /(?<begin>^|\r?\n)````(?<spaces>\x20*)mdx-code-block\r?\n(?<children>.*?)\r?\n````(?<end>\r?\n|$)/gs;
|
|
68
|
+
const regexp3 = /(?<begin>^|\r?\n)(?<indentStart>\x20*)```(?<spaces>\x20*)mdx-code-block\r?\n(?<children>.*?)\r?\n(?<indentEnd>\x20*)```(?<end>\r?\n|$)/gs;
|
|
69
|
+
const regexp4 = /(?<begin>^|\r?\n)(?<indentStart>\x20*)````(?<spaces>\x20*)mdx-code-block\r?\n(?<children>.*?)\r?\n(?<indentEnd>\x20*)````(?<end>\r?\n|$)/gs;
|
|
63
70
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
64
71
|
const replacer = (substring, ...args) => {
|
|
65
72
|
const groups = args.at(-1);
|
|
@@ -67,7 +74,6 @@ function unwrapMdxCodeBlocks(content) {
|
|
|
67
74
|
};
|
|
68
75
|
return content.replaceAll(regexp3, replacer).replaceAll(regexp4, replacer);
|
|
69
76
|
}
|
|
70
|
-
exports.unwrapMdxCodeBlocks = unwrapMdxCodeBlocks;
|
|
71
77
|
/**
|
|
72
78
|
* Add support for our legacy ":::note Title" admonition syntax
|
|
73
79
|
* Not supported by https://github.com/remarkjs/remark-directive
|
|
@@ -87,7 +93,6 @@ function admonitionTitleToDirectiveLabel(content, admonitionContainerDirectives)
|
|
|
87
93
|
return `${groups.quote ?? ''}${groups.indentation ?? ''}${groups.directive}[${groups.title}]`;
|
|
88
94
|
});
|
|
89
95
|
}
|
|
90
|
-
exports.admonitionTitleToDirectiveLabel = admonitionTitleToDirectiveLabel;
|
|
91
96
|
// TODO: Find a better way to do so, possibly by compiling the Markdown content,
|
|
92
97
|
// stripping out HTML tags and obtaining the first line.
|
|
93
98
|
/**
|
|
@@ -174,7 +179,6 @@ function createExcerpt(fileString) {
|
|
|
174
179
|
}
|
|
175
180
|
return undefined;
|
|
176
181
|
}
|
|
177
|
-
exports.createExcerpt = createExcerpt;
|
|
178
182
|
/**
|
|
179
183
|
* Takes a raw Markdown file content, and parses the front matter using
|
|
180
184
|
* gray-matter. Worth noting that gray-matter accepts TOML and other markup
|
|
@@ -209,7 +213,6 @@ function parseFileContentFrontMatter(fileContent) {
|
|
|
209
213
|
content: content.trim(),
|
|
210
214
|
};
|
|
211
215
|
}
|
|
212
|
-
exports.parseFileContentFrontMatter = parseFileContentFrontMatter;
|
|
213
216
|
const DEFAULT_PARSE_FRONT_MATTER = async (params) => parseFileContentFrontMatter(params.fileContent);
|
|
214
217
|
exports.DEFAULT_PARSE_FRONT_MATTER = DEFAULT_PARSE_FRONT_MATTER;
|
|
215
218
|
function toTextContentTitle(contentTitle) {
|
|
@@ -257,7 +260,6 @@ function parseMarkdownContentTitle(contentUntrimmed, options) {
|
|
|
257
260
|
contentTitle: toTextContentTitle(alternateTitleMatch.groups.title.trim().replace(/\s*=+$/, '')).trim(),
|
|
258
261
|
};
|
|
259
262
|
}
|
|
260
|
-
exports.parseMarkdownContentTitle = parseMarkdownContentTitle;
|
|
261
263
|
/**
|
|
262
264
|
* Makes a full-round parse.
|
|
263
265
|
*
|
|
@@ -286,7 +288,6 @@ This can happen if you use special characters in front matter values (try using
|
|
|
286
288
|
throw err;
|
|
287
289
|
}
|
|
288
290
|
}
|
|
289
|
-
exports.parseMarkdownFile = parseMarkdownFile;
|
|
290
291
|
function unwrapMarkdownLinks(line) {
|
|
291
292
|
return line.replace(/\[(?<alt>[^\]]+)\]\([^)]+\)/g, (match, p1) => p1);
|
|
292
293
|
}
|
|
@@ -341,5 +342,4 @@ function writeMarkdownHeadingId(content, options = { maintainCase: false, overwr
|
|
|
341
342
|
})
|
|
342
343
|
.join('\n');
|
|
343
344
|
}
|
|
344
|
-
exports.writeMarkdownHeadingId = writeMarkdownHeadingId;
|
|
345
345
|
//# sourceMappingURL=markdownUtils.js.map
|
package/lib/markdownUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownUtils.js","sourceRoot":"","sources":["../src/markdownUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"markdownUtils.js","sourceRoot":"","sources":["../src/markdownUtils.ts"],"names":[],"mappings":"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"}
|
package/lib/moduleUtils.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.loadFreshModule =
|
|
9
|
+
exports.loadFreshModule = loadFreshModule;
|
|
10
10
|
const tslib_1 = require("tslib");
|
|
11
11
|
const jiti_1 = tslib_1.__importDefault(require("jiti"));
|
|
12
12
|
const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
@@ -36,5 +36,4 @@ async function loadFreshModule(modulePath) {
|
|
|
36
36
|
throw new Error(logger_1.default.interpolate `Docusaurus could not load module at path path=${modulePath}\nCause: ${error.message}`, { cause: error });
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
exports.loadFreshModule = loadFreshModule;
|
|
40
39
|
//# sourceMappingURL=moduleUtils.js.map
|
package/lib/moduleUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moduleUtils.js","sourceRoot":"","sources":["../src/moduleUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"moduleUtils.js","sourceRoot":"","sources":["../src/moduleUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAQH,0CA6BC;;AAnCD,wDAAwB;AACxB,wEAAwC;AAExC;;GAEG;AACI,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,IAAI,CAAC;QACH,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,gBAAM,CAAC,WAAW,CAAA,oCAAoC,UAAU,EAAE,CACnE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,cAAI,EAAC,UAAU,EAAE;YAC5B,6CAA6C;YAC7C,KAAK,EAAE,IAAI;YACX,uCAAuC;YACvC,oDAAoD;YACpD,YAAY,EAAE,KAAK;YACnB,kDAAkD;YAClD,sCAAsC;YACtC,qEAAqE;YACrE,cAAc,EAAE,IAAI;YACpB,eAAe;SAChB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,gBAAM,CAAC,WAAW,CAAA,iDAAiD,UAAU,YAC1E,KAAe,CAAC,OACnB,EAAE,EACF,EAAC,KAAK,EAAE,KAAK,EAAC,CACf,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/lib/pathUtils.js
CHANGED
|
@@ -6,7 +6,14 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
9
|
+
exports.isNameTooLong = void 0;
|
|
10
|
+
exports.shortName = shortName;
|
|
11
|
+
exports.posixPath = posixPath;
|
|
12
|
+
exports.toMessageRelativeFilePath = toMessageRelativeFilePath;
|
|
13
|
+
exports.aliasedSitePath = aliasedSitePath;
|
|
14
|
+
exports.aliasedSitePathToRelativePath = aliasedSitePathToRelativePath;
|
|
15
|
+
exports.escapePath = escapePath;
|
|
16
|
+
exports.addTrailingPathSeparator = addTrailingPathSeparator;
|
|
10
17
|
const tslib_1 = require("tslib");
|
|
11
18
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
12
19
|
// Based on https://github.com/gatsbyjs/gatsby/pull/21518/files
|
|
@@ -37,7 +44,6 @@ function shortName(str) {
|
|
|
37
44
|
.slice(0, Buffer.byteLength(strBuffer) - overflowingBytes - SPACE_FOR_APPENDING - 1)
|
|
38
45
|
.toString();
|
|
39
46
|
}
|
|
40
|
-
exports.shortName = shortName;
|
|
41
47
|
/**
|
|
42
48
|
* Convert Windows backslash paths to posix style paths.
|
|
43
49
|
* E.g: endi\lie -> endi/lie
|
|
@@ -55,7 +61,6 @@ function posixPath(str) {
|
|
|
55
61
|
}
|
|
56
62
|
return str.replace(/\\/g, '/');
|
|
57
63
|
}
|
|
58
|
-
exports.posixPath = posixPath;
|
|
59
64
|
/**
|
|
60
65
|
* When you want to display a path in a message/warning/error, it's more
|
|
61
66
|
* convenient to:
|
|
@@ -71,7 +76,6 @@ exports.posixPath = posixPath;
|
|
|
71
76
|
function toMessageRelativeFilePath(filePath) {
|
|
72
77
|
return posixPath(path_1.default.relative(process.cwd(), filePath));
|
|
73
78
|
}
|
|
74
|
-
exports.toMessageRelativeFilePath = toMessageRelativeFilePath;
|
|
75
79
|
/**
|
|
76
80
|
* Alias filepath relative to site directory, very useful so that we
|
|
77
81
|
* don't expose user's site structure.
|
|
@@ -83,7 +87,6 @@ function aliasedSitePath(filePath, siteDir) {
|
|
|
83
87
|
// the '@site'. Let webpack loader resolve it.
|
|
84
88
|
return `@site/${relativePath}`;
|
|
85
89
|
}
|
|
86
|
-
exports.aliasedSitePath = aliasedSitePath;
|
|
87
90
|
/**
|
|
88
91
|
* Converts back the aliased site path (starting with "@site/...") to a relative path
|
|
89
92
|
*
|
|
@@ -97,7 +100,6 @@ function aliasedSitePathToRelativePath(filePath) {
|
|
|
97
100
|
}
|
|
98
101
|
throw new Error(`Unexpected, filePath is not site-aliased: ${filePath}`);
|
|
99
102
|
}
|
|
100
|
-
exports.aliasedSitePathToRelativePath = aliasedSitePathToRelativePath;
|
|
101
103
|
/**
|
|
102
104
|
* When you have a path like C:\X\Y
|
|
103
105
|
* It is not safe to use directly when generating code
|
|
@@ -118,12 +120,10 @@ function escapePath(str) {
|
|
|
118
120
|
// Remove the " around the json string;
|
|
119
121
|
return escaped.substring(1, escaped.length - 1);
|
|
120
122
|
}
|
|
121
|
-
exports.escapePath = escapePath;
|
|
122
123
|
function addTrailingPathSeparator(str) {
|
|
123
124
|
return str.endsWith(path_1.default.sep)
|
|
124
125
|
? str
|
|
125
126
|
: // If this is Windows, we need to change the forward slash to backward
|
|
126
127
|
`${str.replace(/[\\/]$/, '')}${path_1.default.sep}`;
|
|
127
128
|
}
|
|
128
|
-
exports.addTrailingPathSeparator = addTrailingPathSeparator;
|
|
129
129
|
//# sourceMappingURL=pathUtils.js.map
|
package/lib/pathUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathUtils.js","sourceRoot":"","sources":["../src/pathUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"pathUtils.js","sourceRoot":"","sources":["../src/pathUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAuBH,8BAiBC;AAYD,8BAOC;AAcD,8DAEC;AAOD,0CAKC;AASD,sEAKC;AAiBD,gCAKC;AAED,4DAKC;;AAhID,wDAAwB;AAExB,+DAA+D;AAC/D,qEAAqE;AACrE,qBAAqB;AACrB,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,0EAA0E;AAC1E,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACpD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAE9C,MAAM,aAAa,GAAG,CAAC,GAAW,EAAW,EAAE;AACpD,qEAAqE;AACrE,OAAO,EAAE,IAAI,SAAS,EAAE;IACtB,CAAC,CAAC,oEAAoE;QACpE,GAAG,CAAC,MAAM,GAAG,mBAAmB,GAAG,sBAAsB;IAC3D,CAAC,CAAC,oBAAoB;QACpB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AANhE,QAAA,aAAa,iBAMmD;AAE7E,SAAgB,SAAS,CAAC,GAAW;IACnC,IAAI,OAAO,EAAE,IAAI,SAAS,EAAE,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,GAAG,sBAAsB,CAAC;QAC7D,OAAO,GAAG,CAAC,KAAK,CACd,CAAC,EACD,GAAG,CAAC,MAAM,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,CAAC,CACxD,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,gBAAgB,GACpB,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,sBAAsB,CAAC;IACxD,OAAO,SAAS;SACb,KAAK,CACJ,CAAC,EACD,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,CAAC,CAC1E;SACA,QAAQ,EAAE,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,MAAM,oBAAoB,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAEvD,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,yBAAyB,CAAC,QAAgB;IACxD,OAAO,SAAS,CAAC,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,QAAgB,EAAE,OAAe;IAC/D,MAAM,YAAY,GAAG,SAAS,CAAC,cAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,0DAA0D;IAC1D,8CAA8C;IAC9C,OAAO,SAAS,YAAY,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,6BAA6B,CAAC,QAAgB;IAC5D,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,QAAQ,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,UAAU,CAAC,GAAW;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEpC,uCAAuC;IACvC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,wBAAwB,CAAC,GAAW;IAClD,OAAO,GAAG,CAAC,QAAQ,CAAC,cAAI,CAAC,GAAG,CAAC;QAC3B,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,sEAAsE;YACtE,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,cAAI,CAAC,GAAG,EAAE,CAAC;AAChD,CAAC"}
|
package/lib/regExpUtils.js
CHANGED
|
@@ -6,11 +6,10 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.escapeRegexp =
|
|
9
|
+
exports.escapeRegexp = escapeRegexp;
|
|
10
10
|
const tslib_1 = require("tslib");
|
|
11
11
|
const escape_string_regexp_1 = tslib_1.__importDefault(require("escape-string-regexp"));
|
|
12
12
|
function escapeRegexp(string) {
|
|
13
13
|
return (0, escape_string_regexp_1.default)(string);
|
|
14
14
|
}
|
|
15
|
-
exports.escapeRegexp = escapeRegexp;
|
|
16
15
|
//# sourceMappingURL=regExpUtils.js.map
|
package/lib/regExpUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regExpUtils.js","sourceRoot":"","sources":["../src/regExpUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"regExpUtils.js","sourceRoot":"","sources":["../src/regExpUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAIH,oCAEC;;AAJD,wFAAsD;AAEtD,SAAgB,YAAY,CAAC,MAAc;IACzC,OAAO,IAAA,8BAAkB,EAAC,MAAM,CAAC,CAAC;AACpC,CAAC"}
|
package/lib/routeUtils.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.flattenRoutes =
|
|
9
|
+
exports.flattenRoutes = flattenRoutes;
|
|
10
10
|
/**
|
|
11
11
|
* Recursively flatten routes and only return the "leaf routes"
|
|
12
12
|
* Parent routes are filtered out
|
|
@@ -17,5 +17,4 @@ function flattenRoutes(routeConfig) {
|
|
|
17
17
|
}
|
|
18
18
|
return routeConfig.flatMap(flatten);
|
|
19
19
|
}
|
|
20
|
-
exports.flattenRoutes = flattenRoutes;
|
|
21
20
|
//# sourceMappingURL=routeUtils.js.map
|
package/lib/routeUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeUtils.js","sourceRoot":"","sources":["../src/routeUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"routeUtils.js","sourceRoot":"","sources":["../src/routeUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAQH,sCAKC;AATD;;;GAGG;AACH,SAAgB,aAAa,CAAC,WAA0B;IACtD,SAAS,OAAO,CAAC,KAAkB;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
|
package/lib/shellUtils.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.escapeShellArg =
|
|
9
|
+
exports.escapeShellArg = escapeShellArg;
|
|
10
10
|
// TODO move from shelljs to execa later?
|
|
11
11
|
// Execa is well maintained and widely used
|
|
12
12
|
// Even shelljs recommends execa for security / escaping:
|
|
@@ -17,5 +17,4 @@ function escapeShellArg(s) {
|
|
|
17
17
|
res = res.replace(/^(?:'')+/g, '').replace(/\\'''/g, "\\'");
|
|
18
18
|
return res;
|
|
19
19
|
}
|
|
20
|
-
exports.escapeShellArg = escapeShellArg;
|
|
21
20
|
//# sourceMappingURL=shellUtils.js.map
|
package/lib/shellUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shellUtils.js","sourceRoot":"","sources":["../src/shellUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"shellUtils.js","sourceRoot":"","sources":["../src/shellUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAQH,wCAIC;AAVD,yCAAyC;AACzC,2CAA2C;AAC3C,yDAAyD;AACzD,8DAA8D;AAE9D,sFAAsF;AACtF,SAAgB,cAAc,CAAC,CAAS;IACtC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;IAC1C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5D,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/lib/slugger.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.createSlugger =
|
|
9
|
+
exports.createSlugger = createSlugger;
|
|
10
10
|
const tslib_1 = require("tslib");
|
|
11
11
|
const github_slugger_1 = tslib_1.__importDefault(require("github-slugger"));
|
|
12
12
|
/**
|
|
@@ -19,5 +19,4 @@ function createSlugger() {
|
|
|
19
19
|
slug: (value, options) => githubSlugger.slug(value, options?.maintainCase),
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
exports.createSlugger = createSlugger;
|
|
23
22
|
//# sourceMappingURL=slugger.js.map
|
package/lib/slugger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slugger.js","sourceRoot":"","sources":["../src/slugger.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"slugger.js","sourceRoot":"","sources":["../src/slugger.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAyBH,sCAKC;;AA5BD,4EAA2C;AAmB3C;;;GAGG;AACH,SAAgB,aAAa;IAC3B,MAAM,aAAa,GAAG,IAAI,wBAAa,EAAE,CAAC;IAC1C,OAAO;QACL,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC;KAC3E,CAAC;AACJ,CAAC"}
|
package/lib/tags.d.ts
CHANGED
|
@@ -4,11 +4,25 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
import type { Optional } from 'utility-types';
|
|
8
8
|
export type Tag = {
|
|
9
|
+
/** The display label of a tag */
|
|
9
10
|
label: string;
|
|
10
11
|
/** Permalink to this tag's page, without the `/tags/` base path. */
|
|
11
12
|
permalink: string;
|
|
13
|
+
/** An optional description of the tag */
|
|
14
|
+
description: string | undefined;
|
|
15
|
+
};
|
|
16
|
+
export type TagsFileInput = Record<string, Partial<Tag> | null>;
|
|
17
|
+
export type TagsFile = Record<string, Tag>;
|
|
18
|
+
export type TagsPluginOptions = {
|
|
19
|
+
/** Path to the tags file. */
|
|
20
|
+
tags: string | false | null | undefined;
|
|
21
|
+
/** The behavior of Docusaurus when it finds inline tags. */
|
|
22
|
+
onInlineTags: 'ignore' | 'log' | 'warn' | 'throw';
|
|
23
|
+
};
|
|
24
|
+
export type TagMetadata = Tag & {
|
|
25
|
+
inline: boolean;
|
|
12
26
|
};
|
|
13
27
|
/** What the tags list page should know about each tag. */
|
|
14
28
|
export type TagsListItem = Tag & {
|
|
@@ -22,23 +36,26 @@ export type TagModule = TagsListItem & {
|
|
|
22
36
|
/** Is this tag unlisted? (when it only contains unlisted items) */
|
|
23
37
|
unlisted: boolean;
|
|
24
38
|
};
|
|
25
|
-
export type FrontMatterTag = string | Tag
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
export type FrontMatterTag = string | Optional<Tag, 'description'>;
|
|
40
|
+
export declare function normalizeTag({ tag, tagsFile, tagsBaseRoutePath, }: {
|
|
41
|
+
tag: FrontMatterTag;
|
|
42
|
+
tagsBaseRoutePath: string;
|
|
43
|
+
tagsFile: TagsFile | null;
|
|
44
|
+
}): TagMetadata;
|
|
45
|
+
export declare function normalizeTags({ options, source, frontMatterTags, tagsBaseRoutePath, tagsFile, }: {
|
|
46
|
+
options: TagsPluginOptions;
|
|
47
|
+
source: string;
|
|
48
|
+
frontMatterTags: FrontMatterTag[] | undefined;
|
|
49
|
+
tagsBaseRoutePath: string;
|
|
50
|
+
tagsFile: TagsFile | null;
|
|
51
|
+
}): TagMetadata[];
|
|
52
|
+
export declare function reportInlineTags({ tags, source, options, }: {
|
|
53
|
+
tags: TagMetadata[];
|
|
54
|
+
source: string;
|
|
55
|
+
options: TagsPluginOptions;
|
|
56
|
+
}): void;
|
|
40
57
|
type TaggedItemGroup<Item> = {
|
|
41
|
-
tag:
|
|
58
|
+
tag: TagMetadata;
|
|
42
59
|
items: Item[];
|
|
43
60
|
};
|
|
44
61
|
/**
|
|
@@ -54,7 +71,7 @@ export declare function groupTaggedItems<Item>(items: readonly Item[],
|
|
|
54
71
|
* A callback telling me how to get the tags list of the current item. Usually
|
|
55
72
|
* simply getting it from some metadata of the current item.
|
|
56
73
|
*/
|
|
57
|
-
getItemTags: (item: Item) => readonly
|
|
74
|
+
getItemTags: (item: Item) => readonly TagMetadata[]): {
|
|
58
75
|
[permalink: string]: TaggedItemGroup<Item>;
|
|
59
76
|
};
|
|
60
77
|
/**
|