@docusaurus/utils 2.4.1 → 3.0.0-beta.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/constants.d.ts +1 -1
- package/lib/constants.d.ts.map +1 -1
- package/lib/contentVisibilityUtils.d.ts +29 -0
- package/lib/contentVisibilityUtils.d.ts.map +1 -0
- package/lib/contentVisibilityUtils.js +39 -0
- package/lib/contentVisibilityUtils.js.map +1 -0
- package/lib/dataFileUtils.d.ts +1 -1
- package/lib/dataFileUtils.d.ts.map +1 -1
- package/lib/globUtils.d.ts +1 -1
- package/lib/globUtils.d.ts.map +1 -1
- package/lib/globUtils.js +2 -1
- package/lib/globUtils.js.map +1 -1
- package/lib/index.d.ts +3 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +9 -2
- package/lib/index.js.map +1 -1
- package/lib/jsUtils.d.ts +4 -0
- package/lib/jsUtils.d.ts.map +1 -1
- package/lib/jsUtils.js +11 -1
- package/lib/jsUtils.js.map +1 -1
- package/lib/markdownLinks.d.ts +2 -2
- package/lib/markdownLinks.d.ts.map +1 -1
- package/lib/markdownLinks.js +38 -18
- package/lib/markdownLinks.js.map +1 -1
- package/lib/markdownUtils.d.ts +27 -2
- package/lib/markdownUtils.d.ts.map +1 -1
- package/lib/markdownUtils.js +57 -2
- package/lib/markdownUtils.js.map +1 -1
- package/lib/pathUtils.d.ts +6 -2
- package/lib/pathUtils.d.ts.map +1 -1
- package/lib/pathUtils.js +7 -3
- package/lib/pathUtils.js.map +1 -1
- package/lib/slugger.d.ts +2 -2
- package/lib/slugger.d.ts.map +1 -1
- package/lib/tags.d.ts +19 -5
- package/lib/tags.d.ts.map +1 -1
- package/lib/tags.js +21 -1
- package/lib/tags.js.map +1 -1
- package/lib/urlUtils.js +2 -2
- package/lib/urlUtils.js.map +1 -1
- package/lib/webpackUtils.d.ts +2 -2
- package/lib/webpackUtils.d.ts.map +1 -1
- package/package.json +10 -10
- package/src/contentVisibilityUtils.ts +54 -0
- package/src/globUtils.ts +4 -1
- package/src/index.ts +5 -0
- package/src/jsUtils.ts +10 -0
- package/src/markdownLinks.ts +56 -22
- package/src/markdownUtils.ts +70 -1
- package/src/pathUtils.ts +7 -3
- package/src/tags.ts +31 -0
- package/src/urlUtils.ts +3 -3
package/lib/constants.d.ts
CHANGED
|
@@ -49,7 +49,7 @@ export declare const OUTPUT_STATIC_ASSETS_DIR_NAME = "assets";
|
|
|
49
49
|
* Components in this directory will receive the `@theme` alias and be able to
|
|
50
50
|
* shadow default theme components.
|
|
51
51
|
*/
|
|
52
|
-
export declare const THEME_PATH
|
|
52
|
+
export declare const THEME_PATH = "src/theme";
|
|
53
53
|
/**
|
|
54
54
|
* All translation-related data live here, relative to site directory. Content
|
|
55
55
|
* will be namespaced by locale.
|
package/lib/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,QAG9B,CAAC;AACF,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,QAG9B,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,kBAAkB,QAE4B,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAE5D,qDAAqD;AACrD,eAAO,MAAM,sBAAsB,QACiC,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAC6B,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,6BAA6B,WAAW,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,QAG9B,CAAC;AACF,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,QAG9B,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,kBAAkB,QAE4B,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAE5D,qDAAqD;AACrD,eAAO,MAAM,sBAAsB,QACiC,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAC6B,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAQ,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,6BAA6B,WAAW,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,UAAU,cAA0B,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,2BAA2B,cAAc,CAAC;AAEvD,gDAAgD;AAChD,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,yBAAyB;AACzB,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,iBACU,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
type Env = 'production' | 'development';
|
|
8
|
+
/**
|
|
9
|
+
* A draft content will not be included in the production build
|
|
10
|
+
*/
|
|
11
|
+
export declare function isDraft({ frontMatter, env, }: {
|
|
12
|
+
frontMatter: {
|
|
13
|
+
draft?: boolean;
|
|
14
|
+
};
|
|
15
|
+
env?: Env;
|
|
16
|
+
}): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* An unlisted content will be included in the production build, but hidden.
|
|
19
|
+
* It is excluded from sitemap, has noIndex, does not appear in lists etc...
|
|
20
|
+
* Only users having the link can find it.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isUnlisted({ frontMatter, env, }: {
|
|
23
|
+
frontMatter: {
|
|
24
|
+
unlisted?: boolean;
|
|
25
|
+
};
|
|
26
|
+
env?: Env;
|
|
27
|
+
}): boolean;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=contentVisibilityUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contentVisibilityUtils.d.ts","sourceRoot":"","sources":["../src/contentVisibilityUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,KAAK,GAAG,GAAG,YAAY,GAAG,aAAa,CAAC;AAoBxC;;GAEG;AACH,wBAAgB,OAAO,CAAC,EACtB,WAAW,EACX,GAAG,GACJ,EAAE;IACD,WAAW,EAAE;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC;IAC/B,GAAG,CAAC,EAAE,GAAG,CAAC;CACX,GAAG,OAAO,CAEV;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,GAAG,GACJ,EAAE;IACD,WAAW,EAAE;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC;IAClC,GAAG,CAAC,EAAE,GAAG,CAAC;CACX,GAAG,OAAO,CAEV"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.isUnlisted = exports.isDraft = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* To easily work on draft/unlisted in dev mode, use this env variable!
|
|
12
|
+
* SIMULATE_PRODUCTION_VISIBILITY=true yarn start:website
|
|
13
|
+
*/
|
|
14
|
+
const simulateProductionVisibility = process.env.SIMULATE_PRODUCTION_VISIBILITY === 'true';
|
|
15
|
+
/**
|
|
16
|
+
* draft/unlisted is a production-only concept
|
|
17
|
+
* In dev it is ignored and all content files are included
|
|
18
|
+
*/
|
|
19
|
+
function isProduction(env) {
|
|
20
|
+
return (simulateProductionVisibility ||
|
|
21
|
+
(env ?? process.env.NODE_ENV) === 'production');
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A draft content will not be included in the production build
|
|
25
|
+
*/
|
|
26
|
+
function isDraft({ frontMatter, env, }) {
|
|
27
|
+
return (isProduction(env) && frontMatter.draft) ?? false;
|
|
28
|
+
}
|
|
29
|
+
exports.isDraft = isDraft;
|
|
30
|
+
/**
|
|
31
|
+
* An unlisted content will be included in the production build, but hidden.
|
|
32
|
+
* It is excluded from sitemap, has noIndex, does not appear in lists etc...
|
|
33
|
+
* Only users having the link can find it.
|
|
34
|
+
*/
|
|
35
|
+
function isUnlisted({ frontMatter, env, }) {
|
|
36
|
+
return (isProduction(env) && frontMatter.unlisted) ?? false;
|
|
37
|
+
}
|
|
38
|
+
exports.isUnlisted = isUnlisted;
|
|
39
|
+
//# sourceMappingURL=contentVisibilityUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contentVisibilityUtils.js","sourceRoot":"","sources":["../src/contentVisibilityUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIH;;;GAGG;AACH,MAAM,4BAA4B,GAChC,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,MAAM,CAAC;AAExD;;;GAGG;AACH,SAAS,YAAY,CAAC,GAAoB;IACxC,OAAO,CACL,4BAA4B;QAC5B,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,YAAY,CAC/C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,EACtB,WAAW,EACX,GAAG,GAIJ;IACC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AAC3D,CAAC;AARD,0BAQC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,EACzB,WAAW,EACX,GAAG,GAIJ;IACC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;AAC9D,CAAC;AARD,gCAQC"}
|
package/lib/dataFileUtils.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import type { ContentPaths } from './markdownLinks';
|
|
8
|
-
|
|
8
|
+
type DataFileParams = {
|
|
9
9
|
/** Path to the potential data file, relative to `contentPaths` */
|
|
10
10
|
filePath: string;
|
|
11
11
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataFileUtils.d.ts","sourceRoot":"","sources":["../src/dataFileUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAElD,
|
|
1
|
+
{"version":3,"file":"dataFileUtils.d.ts","sourceRoot":"","sources":["../src/dataFileUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAElD,KAAK,cAAc,GAAG;IACpB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,EACpC,QAAQ,EACR,YAAY,GACb,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAS9C;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,MAAM,EAAE,cAAc,GAAG;IACvB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB,EACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC,GAChC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAaxB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,EAAE,CAEvE;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,EAAE,EACrB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAI7B;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EAAE,EACrB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAYjB"}
|
package/lib/globUtils.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { default as Globby } from 'globby';
|
|
|
12
12
|
* - Ignore tests
|
|
13
13
|
*/
|
|
14
14
|
export declare const GlobExcludeDefault: string[];
|
|
15
|
-
|
|
15
|
+
type Matcher = (str: string) => boolean;
|
|
16
16
|
/**
|
|
17
17
|
* A very thin wrapper around `Micromatch.makeRe`.
|
|
18
18
|
*
|
package/lib/globUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globUtils.d.ts","sourceRoot":"","sources":["../src/globUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"globUtils.d.ts","sourceRoot":"","sources":["../src/globUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,0CAA0C;AAC1C,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,UAK9B,CAAC;AAEF,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;AAExC;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CASzD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAqBT"}
|
package/lib/globUtils.js
CHANGED
|
@@ -11,6 +11,7 @@ const tslib_1 = require("tslib");
|
|
|
11
11
|
// Globby/Micromatch are the 2 libs we use in Docusaurus consistently
|
|
12
12
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
13
13
|
const micromatch_1 = tslib_1.__importDefault(require("micromatch")); // Note: Micromatch is used by Globby
|
|
14
|
+
const jsUtils_1 = require("./jsUtils");
|
|
14
15
|
/** A re-export of the globby instance. */
|
|
15
16
|
var globby_1 = require("globby");
|
|
16
17
|
Object.defineProperty(exports, "Globby", { enumerable: true, get: function () { return tslib_1.__importDefault(globby_1).default; } });
|
|
@@ -59,7 +60,7 @@ exports.createMatcher = createMatcher;
|
|
|
59
60
|
function createAbsoluteFilePathMatcher(patterns, rootFolders) {
|
|
60
61
|
const matcher = createMatcher(patterns);
|
|
61
62
|
function getRelativeFilePath(absoluteFilePath) {
|
|
62
|
-
const rootFolder = rootFolders.find((folderPath) => absoluteFilePath.startsWith(
|
|
63
|
+
const rootFolder = rootFolders.find((folderPath) => [(0, jsUtils_1.addSuffix)(folderPath, '/'), (0, jsUtils_1.addSuffix)(folderPath, '\\')].some((p) => absoluteFilePath.startsWith(p)));
|
|
63
64
|
if (!rootFolder) {
|
|
64
65
|
throw new Error(`createAbsoluteFilePathMatcher unexpected error, absoluteFilePath=${absoluteFilePath} was not contained in any of the root folders: ${rootFolders.join(', ')}`);
|
|
65
66
|
}
|
package/lib/globUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globUtils.js","sourceRoot":"","sources":["../src/globUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,qEAAqE;AAErE,wDAAwB;AACxB,oEAAoC,CAAC,qCAAqC;
|
|
1
|
+
{"version":3,"file":"globUtils.js","sourceRoot":"","sources":["../src/globUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,qEAAqE;AAErE,wDAAwB;AACxB,oEAAoC,CAAC,qCAAqC;AAC1E,uCAAoC;AAEpC,0CAA0C;AAC1C,iCAAyC;AAAjC,yHAAA,OAAO,OAAU;AAEzB;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,8BAA8B;IAC9B,UAAU;IACV,2BAA2B;IAC3B,iBAAiB;CAClB,CAAC;AAIF;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAAC,QAAkB;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,iCAAiC;QACjC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;KACpB;IACD,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvE,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AATD,sCASC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,6BAA6B,CAC3C,QAAkB,EAClB,WAAqB;IAErB,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAExC,SAAS,mBAAmB,CAAC,gBAAwB;QACnD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CACjD,CAAC,IAAA,mBAAS,EAAC,UAAU,EAAE,GAAG,CAAC,EAAE,IAAA,mBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACnE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAC/B,CACF,CAAC;QACF,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CACb,oEAAoE,gBAAgB,kDAAkD,WAAW,CAAC,IAAI,CACpJ,IAAI,CACL,EAAE,CACJ,CAAC;SACH;QACD,OAAO,cAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,gBAAwB,EAAE,EAAE,CAClC,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACnD,CAAC;AAxBD,sEAwBC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ export { getFileCommitDate, FileNotTrackedError, GitNotFoundError, } from './git
|
|
|
10
10
|
export { mergeTranslations, updateTranslationFileMessages, getPluginI18nPath, localizePath, } from './i18nUtils';
|
|
11
11
|
export { removeSuffix, removePrefix, mapAsyncSequential, findAsyncSequential, } from './jsUtils';
|
|
12
12
|
export { normalizeUrl, getEditUrl, fileToPath, encodePath, isValidPathname, resolvePathname, addLeadingSlash, addTrailingSlash, removeTrailingSlash, hasSSHProtocol, buildHttpsUrl, buildSshUrl, } from './urlUtils';
|
|
13
|
-
export { type Tag, type TagsListItem, type TagModule, type FrontMatterTag, normalizeFrontMatterTags, groupTaggedItems, } from './tags';
|
|
14
|
-
export { parseMarkdownHeadingId, createExcerpt, parseFrontMatter, parseMarkdownContentTitle, parseMarkdownString, writeMarkdownHeadingId, type WriteHeadingIDOptions, } from './markdownUtils';
|
|
13
|
+
export { type Tag, type TagsListItem, type TagModule, type FrontMatterTag, normalizeFrontMatterTags, groupTaggedItems, getTagVisibility, } from './tags';
|
|
14
|
+
export { parseMarkdownHeadingId, escapeMarkdownHeadingIds, unwrapMdxCodeBlocks, admonitionTitleToDirectiveLabel, createExcerpt, parseFrontMatter, parseMarkdownContentTitle, parseMarkdownString, writeMarkdownHeadingId, type WriteHeadingIDOptions, } from './markdownUtils';
|
|
15
15
|
export { type ContentPaths, type BrokenMarkdownLink, replaceMarkdownLinks, } from './markdownLinks';
|
|
16
16
|
export { type SluggerOptions, type Slugger, createSlugger } from './slugger';
|
|
17
17
|
export { isNameTooLong, shortName, posixPath, toMessageRelativeFilePath, aliasedSitePath, escapePath, addTrailingPathSeparator, } from './pathUtils';
|
|
@@ -20,5 +20,6 @@ export { Globby, GlobExcludeDefault, createMatcher, createAbsoluteFilePathMatche
|
|
|
20
20
|
export { getFileLoaderUtils } from './webpackUtils';
|
|
21
21
|
export { escapeShellArg } from './shellUtils';
|
|
22
22
|
export { getDataFilePath, getDataFileData, getContentPathList, findFolderContainingFile, getFolderContainingFile, } from './dataFileUtils';
|
|
23
|
+
export { isDraft, isUnlisted } from './contentVisibilityUtils';
|
|
23
24
|
export { escapeRegexp } from './regExpUtils';
|
|
24
25
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,EACZ,uBAAuB,EACvB,6BAA6B,EAC7B,UAAU,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,QAAQ,EAAE,kBAAkB,EAAC,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,iBAAiB,EACjB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,aAAa,EAAC,MAAM,WAAW,CAAC;AAC3E,OAAO,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACT,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,aAAa,EACb,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,EACZ,uBAAuB,EACvB,6BAA6B,EAC7B,UAAU,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,QAAQ,EAAE,kBAAkB,EAAC,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,iBAAiB,EACjB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,+BAA+B,EAC/B,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,aAAa,EAAC,MAAM,WAAW,CAAC;AAC3E,OAAO,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACT,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,aAAa,EACb,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,OAAO,EAAE,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
10
|
-
exports.escapeRegexp = exports.getFolderContainingFile = exports.findFolderContainingFile = exports.getContentPathList = exports.getDataFileData = exports.getDataFilePath = exports.escapeShellArg = exports.getFileLoaderUtils = exports.createAbsoluteFilePathMatcher = exports.createMatcher = exports.GlobExcludeDefault = exports.Globby = exports.docuHash = exports.simpleHash = exports.md5Hash = exports.addTrailingPathSeparator = exports.escapePath = exports.aliasedSitePath = exports.toMessageRelativeFilePath = exports.posixPath = exports.shortName = exports.isNameTooLong = exports.createSlugger = void 0;
|
|
9
|
+
exports.parseFrontMatter = exports.createExcerpt = exports.admonitionTitleToDirectiveLabel = exports.unwrapMdxCodeBlocks = exports.escapeMarkdownHeadingIds = exports.parseMarkdownHeadingId = exports.getTagVisibility = exports.groupTaggedItems = exports.normalizeFrontMatterTags = exports.buildSshUrl = exports.buildHttpsUrl = exports.hasSSHProtocol = exports.removeTrailingSlash = exports.addTrailingSlash = exports.addLeadingSlash = exports.resolvePathname = exports.isValidPathname = exports.encodePath = exports.fileToPath = exports.getEditUrl = exports.normalizeUrl = exports.findAsyncSequential = exports.mapAsyncSequential = exports.removePrefix = exports.removeSuffix = exports.localizePath = exports.getPluginI18nPath = exports.updateTranslationFileMessages = exports.mergeTranslations = exports.GitNotFoundError = exports.FileNotTrackedError = exports.getFileCommitDate = exports.readOutputHTMLFile = exports.generate = exports.WEBPACK_URL_LOADER_LIMIT = exports.DEFAULT_PLUGIN_ID = exports.DEFAULT_PORT = exports.CODE_TRANSLATIONS_FILE_NAME = exports.DEFAULT_I18N_DIR_NAME = exports.THEME_PATH = exports.OUTPUT_STATIC_ASSETS_DIR_NAME = exports.DEFAULT_STATIC_DIR_NAME = exports.SRC_DIR_NAME = exports.GENERATED_FILES_DIR_NAME = exports.BABEL_CONFIG_FILE_NAME = exports.DEFAULT_CONFIG_FILE_NAME = exports.DEFAULT_BUILD_DIR_NAME = exports.DOCUSAURUS_VERSION = exports.NODE_MINOR_VERSION = exports.NODE_MAJOR_VERSION = void 0;
|
|
10
|
+
exports.escapeRegexp = exports.isUnlisted = exports.isDraft = exports.getFolderContainingFile = exports.findFolderContainingFile = exports.getContentPathList = exports.getDataFileData = exports.getDataFilePath = exports.escapeShellArg = exports.getFileLoaderUtils = exports.createAbsoluteFilePathMatcher = exports.createMatcher = exports.GlobExcludeDefault = exports.Globby = exports.docuHash = exports.simpleHash = exports.md5Hash = exports.addTrailingPathSeparator = exports.escapePath = exports.aliasedSitePath = exports.toMessageRelativeFilePath = exports.posixPath = exports.shortName = exports.isNameTooLong = exports.createSlugger = exports.replaceMarkdownLinks = exports.writeMarkdownHeadingId = exports.parseMarkdownString = exports.parseMarkdownContentTitle = void 0;
|
|
11
11
|
var constants_1 = require("./constants");
|
|
12
12
|
Object.defineProperty(exports, "NODE_MAJOR_VERSION", { enumerable: true, get: function () { return constants_1.NODE_MAJOR_VERSION; } });
|
|
13
13
|
Object.defineProperty(exports, "NODE_MINOR_VERSION", { enumerable: true, get: function () { return constants_1.NODE_MINOR_VERSION; } });
|
|
@@ -58,8 +58,12 @@ Object.defineProperty(exports, "buildSshUrl", { enumerable: true, get: function
|
|
|
58
58
|
var tags_1 = require("./tags");
|
|
59
59
|
Object.defineProperty(exports, "normalizeFrontMatterTags", { enumerable: true, get: function () { return tags_1.normalizeFrontMatterTags; } });
|
|
60
60
|
Object.defineProperty(exports, "groupTaggedItems", { enumerable: true, get: function () { return tags_1.groupTaggedItems; } });
|
|
61
|
+
Object.defineProperty(exports, "getTagVisibility", { enumerable: true, get: function () { return tags_1.getTagVisibility; } });
|
|
61
62
|
var markdownUtils_1 = require("./markdownUtils");
|
|
62
63
|
Object.defineProperty(exports, "parseMarkdownHeadingId", { enumerable: true, get: function () { return markdownUtils_1.parseMarkdownHeadingId; } });
|
|
64
|
+
Object.defineProperty(exports, "escapeMarkdownHeadingIds", { enumerable: true, get: function () { return markdownUtils_1.escapeMarkdownHeadingIds; } });
|
|
65
|
+
Object.defineProperty(exports, "unwrapMdxCodeBlocks", { enumerable: true, get: function () { return markdownUtils_1.unwrapMdxCodeBlocks; } });
|
|
66
|
+
Object.defineProperty(exports, "admonitionTitleToDirectiveLabel", { enumerable: true, get: function () { return markdownUtils_1.admonitionTitleToDirectiveLabel; } });
|
|
63
67
|
Object.defineProperty(exports, "createExcerpt", { enumerable: true, get: function () { return markdownUtils_1.createExcerpt; } });
|
|
64
68
|
Object.defineProperty(exports, "parseFrontMatter", { enumerable: true, get: function () { return markdownUtils_1.parseFrontMatter; } });
|
|
65
69
|
Object.defineProperty(exports, "parseMarkdownContentTitle", { enumerable: true, get: function () { return markdownUtils_1.parseMarkdownContentTitle; } });
|
|
@@ -96,6 +100,9 @@ Object.defineProperty(exports, "getDataFileData", { enumerable: true, get: funct
|
|
|
96
100
|
Object.defineProperty(exports, "getContentPathList", { enumerable: true, get: function () { return dataFileUtils_1.getContentPathList; } });
|
|
97
101
|
Object.defineProperty(exports, "findFolderContainingFile", { enumerable: true, get: function () { return dataFileUtils_1.findFolderContainingFile; } });
|
|
98
102
|
Object.defineProperty(exports, "getFolderContainingFile", { enumerable: true, get: function () { return dataFileUtils_1.getFolderContainingFile; } });
|
|
103
|
+
var contentVisibilityUtils_1 = require("./contentVisibilityUtils");
|
|
104
|
+
Object.defineProperty(exports, "isDraft", { enumerable: true, get: function () { return contentVisibilityUtils_1.isDraft; } });
|
|
105
|
+
Object.defineProperty(exports, "isUnlisted", { enumerable: true, get: function () { return contentVisibilityUtils_1.isUnlisted; } });
|
|
99
106
|
var regExpUtils_1 = require("./regExpUtils");
|
|
100
107
|
Object.defineProperty(exports, "escapeRegexp", { enumerable: true, get: function () { return regExpUtils_1.escapeRegexp; } });
|
|
101
108
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,yCAiBqB;AAhBnB,+GAAA,kBAAkB,OAAA;AAClB,+GAAA,kBAAkB,OAAA;AAClB,+GAAA,kBAAkB,OAAA;AAClB,mHAAA,sBAAsB,OAAA;AACtB,qHAAA,wBAAwB,OAAA;AACxB,mHAAA,sBAAsB,OAAA;AACtB,qHAAA,wBAAwB,OAAA;AACxB,yGAAA,YAAY,OAAA;AACZ,oHAAA,uBAAuB,OAAA;AACvB,0HAAA,6BAA6B,OAAA;AAC7B,uGAAA,UAAU,OAAA;AACV,kHAAA,qBAAqB,OAAA;AACrB,wHAAA,2BAA2B,OAAA;AAC3B,yGAAA,YAAY,OAAA;AACZ,8GAAA,iBAAiB,OAAA;AACjB,qHAAA,wBAAwB,OAAA;AAE1B,yCAAyD;AAAjD,qGAAA,QAAQ,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AACpC,uCAIoB;AAHlB,6GAAA,iBAAiB,OAAA;AACjB,+GAAA,mBAAmB,OAAA;AACnB,4GAAA,gBAAgB,OAAA;AAElB,yCAKqB;AAJnB,8GAAA,iBAAiB,OAAA;AACjB,0HAAA,6BAA6B,OAAA;AAC7B,8GAAA,iBAAiB,OAAA;AACjB,yGAAA,YAAY,OAAA;AAEd,qCAKmB;AAJjB,uGAAA,YAAY,OAAA;AACZ,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAClB,8GAAA,mBAAmB,OAAA;AAErB,uCAaoB;AAZlB,wGAAA,YAAY,OAAA;AACZ,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AACd,yGAAA,aAAa,OAAA;AACb,uGAAA,WAAW,OAAA;AAEb,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/jsUtils.d.ts
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
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
|
+
/** Adds a given string prefix to `str`. */
|
|
8
|
+
export declare function addPrefix(str: string, prefix: string): string;
|
|
9
|
+
/** Adds a given string suffix to `str`. */
|
|
10
|
+
export declare function addSuffix(str: string, suffix: string): string;
|
|
7
11
|
/** Removes a given string suffix from `str`. */
|
|
8
12
|
export declare function removeSuffix(str: string, suffix: string): string;
|
|
9
13
|
/** Removes a given string prefix from `str`. */
|
package/lib/jsUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsUtils.d.ts","sourceRoot":"","sources":["../src/jsUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAC3C,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,CAAC,EAAE,CAAC,CAOd;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GACpC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAOxB"}
|
|
1
|
+
{"version":3,"file":"jsUtils.d.ts","sourceRoot":"","sources":["../src/jsUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,2CAA2C;AAC3C,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,2CAA2C;AAC3C,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAC3C,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,CAAC,EAAE,CAAC,CAOd;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GACpC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAOxB"}
|
package/lib/jsUtils.js
CHANGED
|
@@ -6,7 +6,17 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.findAsyncSequential = exports.mapAsyncSequential = exports.removePrefix = exports.removeSuffix = void 0;
|
|
9
|
+
exports.findAsyncSequential = exports.mapAsyncSequential = exports.removePrefix = exports.removeSuffix = exports.addSuffix = exports.addPrefix = void 0;
|
|
10
|
+
/** Adds a given string prefix to `str`. */
|
|
11
|
+
function addPrefix(str, prefix) {
|
|
12
|
+
return str.startsWith(prefix) ? str : `${prefix}${str}`;
|
|
13
|
+
}
|
|
14
|
+
exports.addPrefix = addPrefix;
|
|
15
|
+
/** Adds a given string suffix to `str`. */
|
|
16
|
+
function addSuffix(str, suffix) {
|
|
17
|
+
return str.endsWith(suffix) ? str : `${str}${suffix}`;
|
|
18
|
+
}
|
|
19
|
+
exports.addSuffix = addSuffix;
|
|
10
20
|
/** Removes a given string suffix from `str`. */
|
|
11
21
|
function removeSuffix(str, suffix) {
|
|
12
22
|
if (suffix === '') {
|
package/lib/jsUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsUtils.js","sourceRoot":"","sources":["../src/jsUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gDAAgD;AAChD,SAAgB,YAAY,CAAC,GAAW,EAAE,MAAc;IACtD,IAAI,MAAM,KAAK,EAAE,EAAE;QACjB,wBAAwB;QACxB,OAAO,GAAG,CAAC;KACZ;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACnE,CAAC;AAND,oCAMC;AAED,gDAAgD;AAChD,SAAgB,YAAY,CAAC,GAAW,EAAE,MAAc;IACtD,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACjE,CAAC;AAFD,oCAEC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CACtC,KAAU,EACV,MAA4B;IAE5B,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACtB;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAVD,gDAUC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,mBAAmB,CACvC,KAAU,EACV,SAAqC;IAErC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;QACrB,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE;YACtB,OAAO,CAAC,CAAC;SACV;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAVD,kDAUC"}
|
|
1
|
+
{"version":3,"file":"jsUtils.js","sourceRoot":"","sources":["../src/jsUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAA2C;AAC3C,SAAgB,SAAS,CAAC,GAAW,EAAE,MAAc;IACnD,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC;AAC1D,CAAC;AAFD,8BAEC;AAED,2CAA2C;AAC3C,SAAgB,SAAS,CAAC,GAAW,EAAE,MAAc;IACnD,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC;AACxD,CAAC;AAFD,8BAEC;AAED,gDAAgD;AAChD,SAAgB,YAAY,CAAC,GAAW,EAAE,MAAc;IACtD,IAAI,MAAM,KAAK,EAAE,EAAE;QACjB,wBAAwB;QACxB,OAAO,GAAG,CAAC;KACZ;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACnE,CAAC;AAND,oCAMC;AAED,gDAAgD;AAChD,SAAgB,YAAY,CAAC,GAAW,EAAE,MAAc;IACtD,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACjE,CAAC;AAFD,oCAEC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CACtC,KAAU,EACV,MAA4B;IAE5B,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACtB;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAVD,gDAUC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,mBAAmB,CACvC,KAAU,EACV,SAAqC;IAErC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;QACrB,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE;YACtB,OAAO,CAAC,CAAC;SACV;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAVD,kDAUC"}
|
package/lib/markdownLinks.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* Content plugins have a base path and a localized path to source content from.
|
|
9
9
|
* We will look into the localized path in priority.
|
|
10
10
|
*/
|
|
11
|
-
export
|
|
11
|
+
export type ContentPaths = {
|
|
12
12
|
/**
|
|
13
13
|
* The absolute path to the base content directory, like `"<siteDir>/docs"`.
|
|
14
14
|
*/
|
|
@@ -20,7 +20,7 @@ export declare type ContentPaths = {
|
|
|
20
20
|
contentPathLocalized: string;
|
|
21
21
|
};
|
|
22
22
|
/** Data structure representing each broken Markdown link to be reported. */
|
|
23
|
-
export
|
|
23
|
+
export type BrokenMarkdownLink<T extends ContentPaths> = {
|
|
24
24
|
/** Absolute path to the file containing this link. */
|
|
25
25
|
filePath: string;
|
|
26
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownLinks.d.ts","sourceRoot":"","sources":["../src/markdownLinks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,
|
|
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;AAoBF;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,YAAY,EAAE,EAC3D,OAAO,EACP,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,iBAAiB,GAClB,EAAE;IACD,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,YAAY,EAAE,CAAC,CAAC;IAChB;;OAEG;IACH,iBAAiB,EAAE;QAAC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;CACpD,GAAG;IACF;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;CAC9C,CAmGA"}
|
package/lib/markdownLinks.js
CHANGED
|
@@ -11,6 +11,17 @@ 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
|
+
function parseCodeFence(line) {
|
|
15
|
+
const match = line.trim().match(/^(?<fence>`{3,}|~{3,})(?<rest>.*)/);
|
|
16
|
+
if (!match) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
type: match.groups.fence[0],
|
|
21
|
+
definitelyOpen: !!match.groups.rest,
|
|
22
|
+
count: match.groups.fence.length,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
14
25
|
/**
|
|
15
26
|
* Takes a Markdown file and replaces relative file references with their URL
|
|
16
27
|
* counterparts, e.g. `[link](./intro.md)` => `[link](/docs/intro)`, preserving
|
|
@@ -25,33 +36,42 @@ const pathUtils_1 = require("./pathUtils");
|
|
|
25
36
|
function replaceMarkdownLinks({ siteDir, fileString, filePath, contentPaths, sourceToPermalink, }) {
|
|
26
37
|
const brokenMarkdownLinks = [];
|
|
27
38
|
// Replace internal markdown linking (except in fenced blocks).
|
|
28
|
-
let
|
|
29
|
-
let lastCodeFence = '';
|
|
39
|
+
let lastOpenCodeFence = null;
|
|
30
40
|
const lines = fileString.split('\n').map((line) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if (!
|
|
34
|
-
|
|
35
|
-
lastCodeFence = codeFence;
|
|
36
|
-
// If we are in a ````-fenced block, all ``` would be plain text instead
|
|
37
|
-
// of fences
|
|
41
|
+
const codeFence = parseCodeFence(line);
|
|
42
|
+
if (codeFence) {
|
|
43
|
+
if (!lastOpenCodeFence) {
|
|
44
|
+
lastOpenCodeFence = codeFence;
|
|
38
45
|
}
|
|
39
|
-
else if (codeFence.
|
|
40
|
-
|
|
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;
|
|
41
52
|
}
|
|
42
53
|
}
|
|
43
|
-
if (
|
|
54
|
+
if (lastOpenCodeFence) {
|
|
44
55
|
return line;
|
|
45
56
|
}
|
|
46
57
|
let modifiedLine = line;
|
|
47
58
|
// Replace inline-style links or reference-style links e.g:
|
|
48
59
|
// This is [Document 1](doc1.md)
|
|
49
60
|
// [doc1]: doc1.md
|
|
50
|
-
const
|
|
51
|
-
|
|
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);
|
|
52
67
|
while (mdMatch !== null) {
|
|
53
68
|
// Replace it to correct html link.
|
|
54
|
-
const mdLink = mdMatch.
|
|
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
|
+
}
|
|
55
75
|
const sourcesToTry = [];
|
|
56
76
|
// ./file.md and ../file.md are always relative to the current file
|
|
57
77
|
if (!mdLink.startsWith('./') && !mdLink.startsWith('../')) {
|
|
@@ -75,10 +95,10 @@ function replaceMarkdownLinks({ siteDir, fileString, filePath, contentPaths, sou
|
|
|
75
95
|
.split('/')
|
|
76
96
|
.map((part) => part.replace(/\s/g, '%20'))
|
|
77
97
|
.join('/');
|
|
78
|
-
modifiedLine = modifiedLine.
|
|
98
|
+
modifiedLine = `${modifiedLine.slice(0, mdLinkRange[0])}${encodedPermalink}${modifiedLine.slice(mdLinkRange[1])}`;
|
|
79
99
|
// Adjust the lastIndex to avoid passing over the next link if the
|
|
80
100
|
// newly replaced URL is shorter.
|
|
81
|
-
|
|
101
|
+
linkPattern.lastIndex += encodedPermalink.length - mdLink.length;
|
|
82
102
|
}
|
|
83
103
|
else {
|
|
84
104
|
const brokenMarkdownLink = {
|
|
@@ -88,7 +108,7 @@ function replaceMarkdownLinks({ siteDir, fileString, filePath, contentPaths, sou
|
|
|
88
108
|
};
|
|
89
109
|
brokenMarkdownLinks.push(brokenMarkdownLink);
|
|
90
110
|
}
|
|
91
|
-
mdMatch =
|
|
111
|
+
mdMatch = linkPattern.exec(modifiedLine);
|
|
92
112
|
}
|
|
93
113
|
return modifiedLine;
|
|
94
114
|
});
|
package/lib/markdownLinks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownLinks.js","sourceRoot":"","sources":["../src/markdownLinks.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wDAAwB;AACxB,mDAAmD;AACnD,2CAA4C;
|
|
1
|
+
{"version":3,"file":"markdownLinks.js","sourceRoot":"","sources":["../src/markdownLinks.ts"],"names":[],"mappings":"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"}
|
package/lib/markdownUtils.d.ts
CHANGED
|
@@ -20,6 +20,31 @@ export declare function parseMarkdownHeadingId(heading: string): {
|
|
|
20
20
|
/** The heading ID. e.g. `some-heading` */
|
|
21
21
|
id: string | undefined;
|
|
22
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* MDX 2 requires escaping { with a \ so our anchor syntax need that now.
|
|
25
|
+
* See https://mdxjs.com/docs/troubleshooting-mdx/#could-not-parse-expression-with-acorn-error
|
|
26
|
+
*/
|
|
27
|
+
export declare function escapeMarkdownHeadingIds(content: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Hacky temporary escape hatch for Crowdin bad MDX support
|
|
30
|
+
* See https://docusaurus.io/docs/i18n/crowdin#mdx
|
|
31
|
+
*
|
|
32
|
+
* TODO Titus suggested a clean solution based on ```mdx eval and Remark
|
|
33
|
+
* See https://github.com/mdx-js/mdx/issues/701#issuecomment-947030041
|
|
34
|
+
*
|
|
35
|
+
* @param content
|
|
36
|
+
*/
|
|
37
|
+
export declare function unwrapMdxCodeBlocks(content: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Add support for our legacy ":::note Title" admonition syntax
|
|
40
|
+
* Not supported by https://github.com/remarkjs/remark-directive
|
|
41
|
+
* Syntax is transformed to ":::note[Title]" (container directive label)
|
|
42
|
+
* See https://talk.commonmark.org/t/generic-directives-plugins-syntax/444
|
|
43
|
+
*
|
|
44
|
+
* @param content
|
|
45
|
+
* @param admonitionContainerDirectives
|
|
46
|
+
*/
|
|
47
|
+
export declare function admonitionTitleToDirectiveLabel(content: string, admonitionContainerDirectives: string[]): string;
|
|
23
48
|
/**
|
|
24
49
|
* Creates an excerpt of a Markdown file. This function will:
|
|
25
50
|
*
|
|
@@ -51,7 +76,7 @@ export declare function parseFrontMatter(markdownFileContent: string): {
|
|
|
51
76
|
/** The remaining content, trimmed. */
|
|
52
77
|
content: string;
|
|
53
78
|
};
|
|
54
|
-
|
|
79
|
+
type ParseMarkdownContentTitleOptions = {
|
|
55
80
|
/**
|
|
56
81
|
* If `true`, the matching title will be removed from the returned content.
|
|
57
82
|
* We can promise that at least one empty line will be left between the
|
|
@@ -98,7 +123,7 @@ export declare function parseMarkdownString(markdownFileContent: string, options
|
|
|
98
123
|
*/
|
|
99
124
|
content: string;
|
|
100
125
|
};
|
|
101
|
-
export
|
|
126
|
+
export type WriteHeadingIDOptions = SluggerOptions & {
|
|
102
127
|
/** Overwrite existing heading IDs. */
|
|
103
128
|
overwrite?: boolean;
|
|
104
129
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownUtils.d.ts","sourceRoot":"","sources":["../src/markdownUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAA8B,KAAK,cAAc,EAAC,MAAM,WAAW,CAAC;AAM3E;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG;IACvD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;CACxB,CAUA;AAID;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA8EpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,mBAAmB,EAAE,MAAM,GAAG;IAC7D,6CAA6C;IAC7C,WAAW,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IACtC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB,CAMA;AAMD,
|
|
1
|
+
{"version":3,"file":"markdownUtils.d.ts","sourceRoot":"","sources":["../src/markdownUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAA8B,KAAK,cAAc,EAAC,MAAM,WAAW,CAAC;AAM3E;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG;IACvD;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;CACxB,CAUA;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAShE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAc3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,EACf,6BAA6B,EAAE,MAAM,EAAE,GACtC,MAAM,CAeR;AAID;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA8EpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,mBAAmB,EAAE,MAAM,GAAG;IAC7D,6CAA6C;IAC7C,WAAW,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IACtC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB,CAMA;AAMD,KAAK,gCAAgC,GAAG;IACtC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,gCAAgC,GACzC;IACD,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAyCA;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,mBAAmB,EAAE,MAAM,EAC3B,OAAO,CAAC,EAAE,gCAAgC,GACzC;IACD,oCAAoC;IACpC,WAAW,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IACtC,6CAA6C;IAC7C,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,iCAAiC;IACjC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAuBA;AA4BD,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG;IACnD,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,qBAA+D,GACvE,MAAM,CAoCR"}
|
package/lib/markdownUtils.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.writeMarkdownHeadingId = exports.parseMarkdownString = exports.parseMarkdownContentTitle = exports.parseFrontMatter = exports.createExcerpt = exports.parseMarkdownHeadingId = void 0;
|
|
9
|
+
exports.writeMarkdownHeadingId = exports.parseMarkdownString = exports.parseMarkdownContentTitle = exports.parseFrontMatter = exports.createExcerpt = exports.admonitionTitleToDirectiveLabel = exports.unwrapMdxCodeBlocks = exports.escapeMarkdownHeadingIds = exports.parseMarkdownHeadingId = void 0;
|
|
10
10
|
const tslib_1 = require("tslib");
|
|
11
11
|
const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
12
12
|
const gray_matter_1 = tslib_1.__importDefault(require("gray-matter"));
|
|
@@ -33,6 +33,61 @@ function parseMarkdownHeadingId(heading) {
|
|
|
33
33
|
return { text: heading, id: undefined };
|
|
34
34
|
}
|
|
35
35
|
exports.parseMarkdownHeadingId = parseMarkdownHeadingId;
|
|
36
|
+
/**
|
|
37
|
+
* MDX 2 requires escaping { with a \ so our anchor syntax need that now.
|
|
38
|
+
* See https://mdxjs.com/docs/troubleshooting-mdx/#could-not-parse-expression-with-acorn-error
|
|
39
|
+
*/
|
|
40
|
+
function escapeMarkdownHeadingIds(content) {
|
|
41
|
+
const markdownHeadingRegexp = /(?:^|\n)#{1,6}(?!#).*/g;
|
|
42
|
+
return content.replaceAll(markdownHeadingRegexp, (substring) =>
|
|
43
|
+
// TODO probably not the most efficient impl...
|
|
44
|
+
substring
|
|
45
|
+
.replace('{#', '\\{#')
|
|
46
|
+
// prevent duplicate escaping
|
|
47
|
+
.replace('\\\\{#', '\\{#'));
|
|
48
|
+
}
|
|
49
|
+
exports.escapeMarkdownHeadingIds = escapeMarkdownHeadingIds;
|
|
50
|
+
/**
|
|
51
|
+
* Hacky temporary escape hatch for Crowdin bad MDX support
|
|
52
|
+
* See https://docusaurus.io/docs/i18n/crowdin#mdx
|
|
53
|
+
*
|
|
54
|
+
* TODO Titus suggested a clean solution based on ```mdx eval and Remark
|
|
55
|
+
* See https://github.com/mdx-js/mdx/issues/701#issuecomment-947030041
|
|
56
|
+
*
|
|
57
|
+
* @param content
|
|
58
|
+
*/
|
|
59
|
+
function unwrapMdxCodeBlocks(content) {
|
|
60
|
+
// We only support 3/4 backticks on purpose, should be good enough
|
|
61
|
+
const regexp3 = /(?<begin>^|\n)```mdx-code-block\n(?<children>.*?)\n```(?<end>\n|$)/gs;
|
|
62
|
+
const regexp4 = /(?<begin>^|\n)````mdx-code-block\n(?<children>.*?)\n````(?<end>\n|$)/gs;
|
|
63
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
64
|
+
const replacer = (substring, ...args) => {
|
|
65
|
+
const groups = args.at(-1);
|
|
66
|
+
return `${groups.begin}${groups.children}${groups.end}`;
|
|
67
|
+
};
|
|
68
|
+
return content.replaceAll(regexp3, replacer).replaceAll(regexp4, replacer);
|
|
69
|
+
}
|
|
70
|
+
exports.unwrapMdxCodeBlocks = unwrapMdxCodeBlocks;
|
|
71
|
+
/**
|
|
72
|
+
* Add support for our legacy ":::note Title" admonition syntax
|
|
73
|
+
* Not supported by https://github.com/remarkjs/remark-directive
|
|
74
|
+
* Syntax is transformed to ":::note[Title]" (container directive label)
|
|
75
|
+
* See https://talk.commonmark.org/t/generic-directives-plugins-syntax/444
|
|
76
|
+
*
|
|
77
|
+
* @param content
|
|
78
|
+
* @param admonitionContainerDirectives
|
|
79
|
+
*/
|
|
80
|
+
function admonitionTitleToDirectiveLabel(content, admonitionContainerDirectives) {
|
|
81
|
+
// this will also process ":::note Title" inside docs code blocks
|
|
82
|
+
// good enough: we fixed older versions docs to not be affected
|
|
83
|
+
const directiveNameGroup = `(${admonitionContainerDirectives.join('|')})`;
|
|
84
|
+
const regexp = new RegExp(`^(?<directive>:{3,}${directiveNameGroup}) +(?<title>.*)$`, 'gm');
|
|
85
|
+
return content.replaceAll(regexp, (substring, ...args) => {
|
|
86
|
+
const groups = args.at(-1);
|
|
87
|
+
return `${groups.directive}[${groups.title}]`;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
exports.admonitionTitleToDirectiveLabel = admonitionTitleToDirectiveLabel;
|
|
36
91
|
// TODO: Find a better way to do so, possibly by compiling the Markdown content,
|
|
37
92
|
// stripping out HTML tags and obtaining the first line.
|
|
38
93
|
/**
|
|
@@ -91,7 +146,7 @@ function createExcerpt(fileString) {
|
|
|
91
146
|
// Remove Title headers
|
|
92
147
|
.replace(/^#[^#]+#?/gm, '')
|
|
93
148
|
// Remove Markdown + ATX-style headers
|
|
94
|
-
.replace(/^#{1,6}\s*(?<text>[^#]
|
|
149
|
+
.replace(/^#{1,6}\s*(?<text>[^#]*?)\s*#{0,6}/gm, '$1')
|
|
95
150
|
// Remove emphasis.
|
|
96
151
|
.replace(/(?<opening>[*_]{1,3})(?<text>.*?)\1/g, '$2')
|
|
97
152
|
// Remove strikethroughs.
|
package/lib/markdownUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownUtils.js","sourceRoot":"","sources":["../src/markdownUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wEAAwC;AACxC,sEAAiC;AACjC,uCAA2E;AAE3E,6EAA6E;AAC7E,6EAA6E;AAC7E,qEAAqE;AAErE;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,OAAe;IAQpD,MAAM,oBAAoB,GAAG,mCAAmC,CAAC;IACjE,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,OAAO,EAAE;QACX,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC;YACtC,EAAE,EAAE,OAAO,CAAC,MAAO,CAAC,EAAG;SACxB,CAAC;KACH;IACD,OAAO,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAC,CAAC;AACxC,CAAC;AAjBD,wDAiBC;AAED,gFAAgF;AAChF,wDAAwD;AACxD;;;;;;;;;GASG;AACH,SAAgB,aAAa,CAAC,UAAkB;IAC9C,MAAM,SAAS,GAAG,UAAU;SACzB,SAAS,EAAE;QACZ,kCAAkC;SACjC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;SAClC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,aAAa,GAAG,EAAE,CAAC;IAEvB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,yCAAyC;QACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE;YAChC,QAAQ,GAAG,KAAK,CAAC;SAClB;QAED,mBAAmB;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;YACpB,SAAS;SACV;QAED,kCAAkC;QAClC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;YACpE,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;SACV;QAED,wBAAwB;QACxB,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,CAAC,CAAE,CAAC;YACpD,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,GAAG,IAAI,CAAC;gBACd,aAAa,GAAG,SAAS,CAAC;gBAC1B,wEAAwE;gBACxE,YAAY;aACb;iBAAM,IAAI,SAAS,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE;gBACnD,MAAM,GAAG,KAAK,CAAC;aAChB;YACD,SAAS;SACV;aAAM,IAAI,MAAM,EAAE;YACjB,SAAS;SACV;QAED,MAAM,WAAW,GAAG,QAAQ;YAC1B,oBAAoB;aACnB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YACxB,uBAAuB;aACtB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YAC3B,sCAAsC;aACrC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"markdownUtils.js","sourceRoot":"","sources":["../src/markdownUtils.ts"],"names":[],"mappings":"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"}
|