@docusaurus/mdx-loader 3.0.0-alpha.0 → 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/format.d.ts +4 -2
- package/lib/format.d.ts.map +1 -1
- package/lib/format.js +14 -7
- package/lib/format.js.map +1 -1
- package/lib/frontMatter.d.ts +2 -1
- package/lib/frontMatter.d.ts.map +1 -1
- package/lib/frontMatter.js +2 -4
- package/lib/frontMatter.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/loader.d.ts.map +1 -1
- package/lib/loader.js +8 -1
- package/lib/loader.js.map +1 -1
- package/lib/processor.d.ts.map +1 -1
- package/lib/processor.js +4 -2
- package/lib/processor.js.map +1 -1
- package/lib/remark/utils/index.d.ts.map +1 -1
- package/lib/remark/utils/index.js +16 -2
- package/lib/remark/utils/index.js.map +1 -1
- package/package.json +16 -16
- package/src/format.ts +17 -7
- package/src/frontMatter.ts +5 -5
- package/src/index.ts +4 -0
- package/src/loader.ts +11 -1
- package/src/processor.ts +4 -2
- package/src/remark/utils/index.ts +36 -5
package/lib/format.d.ts
CHANGED
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import type { MDXFrontMatter } from './frontMatter';
|
|
8
|
-
|
|
8
|
+
import type { Format, FormatInput } from './index';
|
|
9
|
+
export declare function getFormat({ filePath, frontMatterFormat, markdownConfigFormat, }: {
|
|
9
10
|
filePath: string;
|
|
10
11
|
frontMatterFormat: MDXFrontMatter['format'];
|
|
11
|
-
|
|
12
|
+
markdownConfigFormat: FormatInput;
|
|
13
|
+
}): Format;
|
|
12
14
|
//# sourceMappingURL=format.d.ts.map
|
package/lib/format.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AAqBjD,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,iBAAiB,EACjB,oBAAoB,GACrB,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,oBAAoB,EAAE,WAAW,CAAC;CACnC,GAAG,MAAM,CAWT"}
|
package/lib/format.js
CHANGED
|
@@ -21,15 +21,22 @@ const mdFormatExtensions = [
|
|
|
21
21
|
'.mkdown',
|
|
22
22
|
'.ron',
|
|
23
23
|
];
|
|
24
|
-
function
|
|
25
|
-
|
|
24
|
+
function getExtensionFormat(filepath) {
|
|
25
|
+
const isMDFormat = mdFormatExtensions.includes(path_1.default.extname(filepath));
|
|
26
|
+
// Bias toward mdx if unknown extension
|
|
27
|
+
return isMDFormat ? 'md' : 'mdx';
|
|
26
28
|
}
|
|
27
|
-
function getFormat({ filePath, frontMatterFormat, }) {
|
|
28
|
-
if (frontMatterFormat
|
|
29
|
-
|
|
29
|
+
function getFormat({ filePath, frontMatterFormat, markdownConfigFormat, }) {
|
|
30
|
+
if (frontMatterFormat) {
|
|
31
|
+
if (frontMatterFormat !== 'detect') {
|
|
32
|
+
return frontMatterFormat;
|
|
33
|
+
}
|
|
34
|
+
return getExtensionFormat(filePath);
|
|
30
35
|
}
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
if (markdownConfigFormat !== 'detect') {
|
|
37
|
+
return markdownConfigFormat;
|
|
38
|
+
}
|
|
39
|
+
return getExtensionFormat(filePath);
|
|
33
40
|
}
|
|
34
41
|
exports.getFormat = getFormat;
|
|
35
42
|
//# sourceMappingURL=format.js.map
|
package/lib/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wDAAwB;
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wDAAwB;AAIxB,kEAAkE;AAClE,0DAA0D;AAC1D,MAAM,kBAAkB,GAAG;IACzB,KAAK;IACL,WAAW;IACX,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,MAAM;CACP,CAAC;AAEF,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvE,uCAAuC;IACvC,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACnC,CAAC;AAED,SAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,iBAAiB,EACjB,oBAAoB,GAKrB;IACC,IAAI,iBAAiB,EAAE;QACrB,IAAI,iBAAiB,KAAK,QAAQ,EAAE;YAClC,OAAO,iBAAiB,CAAC;SAC1B;QACD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;KACrC;IACD,IAAI,oBAAoB,KAAK,QAAQ,EAAE;QACrC,OAAO,oBAAoB,CAAC;KAC7B;IACD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAnBD,8BAmBC"}
|
package/lib/frontMatter.d.ts
CHANGED
|
@@ -4,8 +4,9 @@
|
|
|
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
|
+
import type { FormatInput } from './index';
|
|
7
8
|
export type MDXFrontMatter = {
|
|
8
|
-
format
|
|
9
|
+
format?: FormatInput;
|
|
9
10
|
};
|
|
10
11
|
export declare const DefaultMDXFrontMatter: MDXFrontMatter;
|
|
11
12
|
export declare function validateMDXFrontMatter(frontMatter: unknown): MDXFrontMatter;
|
package/lib/frontMatter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontMatter.d.ts","sourceRoot":"","sources":["../src/frontMatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"frontMatter.d.ts","sourceRoot":"","sources":["../src/frontMatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,cAEnC,CAAC;AAMF,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,OAAO,GAAG,cAAc,CAI3E"}
|
package/lib/frontMatter.js
CHANGED
|
@@ -9,12 +9,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.validateMDXFrontMatter = exports.DefaultMDXFrontMatter = void 0;
|
|
10
10
|
const utils_validation_1 = require("@docusaurus/utils-validation");
|
|
11
11
|
exports.DefaultMDXFrontMatter = {
|
|
12
|
-
format:
|
|
12
|
+
format: undefined,
|
|
13
13
|
};
|
|
14
14
|
const MDXFrontMatterSchema = utils_validation_1.JoiFrontMatter.object({
|
|
15
|
-
format: utils_validation_1.JoiFrontMatter.string()
|
|
16
|
-
.equal('md', 'mdx', 'detect')
|
|
17
|
-
.default(exports.DefaultMDXFrontMatter.format),
|
|
15
|
+
format: utils_validation_1.JoiFrontMatter.string().equal('md', 'mdx', 'detect').optional(),
|
|
18
16
|
}).default(exports.DefaultMDXFrontMatter);
|
|
19
17
|
function validateMDXFrontMatter(frontMatter) {
|
|
20
18
|
return (0, utils_validation_1.validateFrontMatter)(frontMatter, MDXFrontMatterSchema, {
|
package/lib/frontMatter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontMatter.js","sourceRoot":"","sources":["../src/frontMatter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,mEAGsC;
|
|
1
|
+
{"version":3,"file":"frontMatter.js","sourceRoot":"","sources":["../src/frontMatter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,mEAGsC;AAQzB,QAAA,qBAAqB,GAAmB;IACnD,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,oBAAoB,GAAG,iCAAG,CAAC,MAAM,CAAiB;IACtD,MAAM,EAAE,iCAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,CAAC;AAElC,SAAgB,sBAAsB,CAAC,WAAoB;IACzD,OAAO,IAAA,sCAAmB,EAAC,WAAW,EAAE,oBAAoB,EAAE;QAC5D,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACL,CAAC;AAJD,wDAIC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ import { mdxLoader } from './loader';
|
|
|
8
8
|
import type { TOCItem as TOCItemImported } from './remark/toc';
|
|
9
9
|
export default mdxLoader;
|
|
10
10
|
export type TOCItem = TOCItemImported;
|
|
11
|
+
export type Format = 'md' | 'mdx';
|
|
12
|
+
export type FormatInput = Format | 'detect';
|
|
11
13
|
export type LoadedMDXContent<FrontMatter, Metadata, Assets = undefined> = {
|
|
12
14
|
/** As verbatim declared in the MDX document. */
|
|
13
15
|
readonly frontMatter: FrontMatter;
|
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,EAAC,SAAS,EAAC,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,cAAc,CAAC;AAE7D,eAAe,SAAS,CAAC;AAEzB,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC;AAEtC,MAAM,MAAM,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,IAAI;IACxE,gDAAgD;IAChD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,CAAC,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;IACjC,yCAAyC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,IAAI,GAAG,CAAC,OAAO,CAAC;CACjB,CAAC;AAEF,YAAY,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,UAAU,CAAC;AACjD,YAAY,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,cAAc,CAAC;AAE7D,eAAe,SAAS,CAAC;AAEzB,MAAM,MAAM,OAAO,GAAG,eAAe,CAAC;AAEtC,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5C,MAAM,MAAM,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,IAAI;IACxE,gDAAgD;IAChD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,CAAC,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;IACjC,yCAAyC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,IAAI,GAAG,CAAC,OAAO,CAAC;CACjB,CAAC;AAEF,YAAY,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,UAAU,CAAC;AACjD,YAAY,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC"}
|
package/lib/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAK3C,KAAK,SAAS,GAAG,GAAG,CAAC;AAMrB,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAC1C,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;QACxB,WAAW,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;QACtC,QAAQ,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;KACpC,KAAK;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CAChC,CAAC;AA4EF,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAK3C,KAAK,SAAS,GAAG,GAAG,CAAC;AAMrB,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAC1C,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACvD,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;QACxB,WAAW,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;QACtC,QAAQ,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;KACpC,KAAK;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CAChC,CAAC;AA4EF,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA2Hf"}
|
package/lib/loader.js
CHANGED
|
@@ -108,7 +108,14 @@ async function mdxLoader(fileString) {
|
|
|
108
108
|
}
|
|
109
109
|
catch (errorUnknown) {
|
|
110
110
|
const error = errorUnknown;
|
|
111
|
-
|
|
111
|
+
// MDX can emit errors that have useful extra attributes
|
|
112
|
+
const errorJSON = JSON.stringify(error, null, 2);
|
|
113
|
+
const errorDetails = errorJSON === '{}'
|
|
114
|
+
? // regular JS error case: print stacktrace
|
|
115
|
+
error.stack ?? 'N/A'
|
|
116
|
+
: // MDX error: print extra attributes + stacktrace
|
|
117
|
+
`${errorJSON}\n${error.stack}`;
|
|
118
|
+
return callback(new Error(`MDX compilation failed for file ${logger_1.default.path(filePath)}\nCause: ${error.message}\nDetails:\n${errorDetails}`,
|
|
112
119
|
// TODO error cause doesn't seem to be used by Webpack stats.errors :s
|
|
113
120
|
{ cause: error }));
|
|
114
121
|
}
|
package/lib/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|
package/lib/processor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAQ5D,KAAK,SAAS,GAAG,GAAG,CAAC;AAGrB,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,CAAC,EACR,OAAO,EACP,QAAQ,GACT,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACvB,CAAC;AAUF,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClD,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,0BAA0B,EAAE,SAAS,EAAE,CAAC;IACxC,0BAA0B,EAAE,SAAS,EAAE,CAAC;CACzC,CAAC;
|
|
1
|
+
{"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAQ5D,KAAK,SAAS,GAAG,GAAG,CAAC;AAGrB,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,CAAC,EACR,OAAO,EACP,QAAQ,GACT,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACvB,CAAC;AAUF,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClD,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,0BAA0B,EAAE,SAAS,EAAE,CAAC;IACxC,0BAA0B,EAAE,SAAS,EAAE,CAAC;CACzC,CAAC;AAqHF,wBAAsB,uBAAuB,CAAC,UAAU,EAAE;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,IAAI,GAAG,KAAK,CAAC;CACtB,GAAG,OAAO,CAAC,eAAe,CAAC,CAG3B;AA0CD,wBAAsB,qBAAqB,CAAC,EAC1C,QAAQ,EACR,cAAc,EACd,KAAK,EACL,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,eAAe,CAAC,CAU3B"}
|
package/lib/processor.js
CHANGED
|
@@ -22,7 +22,7 @@ const format_1 = require("./format");
|
|
|
22
22
|
const DEFAULT_OPTIONS = {
|
|
23
23
|
admonitions: true,
|
|
24
24
|
rehypePlugins: [],
|
|
25
|
-
remarkPlugins: [
|
|
25
|
+
remarkPlugins: [headings_1.default, remark_emoji_1.default, toc_1.default],
|
|
26
26
|
beforeDefaultRemarkPlugins: [],
|
|
27
27
|
beforeDefaultRehypePlugins: [],
|
|
28
28
|
};
|
|
@@ -40,7 +40,8 @@ async function createProcessorFactory() {
|
|
|
40
40
|
const { createProcessor: createMdxProcessor } = await import('@mdx-js/mdx');
|
|
41
41
|
const { default: rehypeRaw } = await import('rehype-raw');
|
|
42
42
|
const { default: gfm } = await import('remark-gfm');
|
|
43
|
-
|
|
43
|
+
// TODO using fork until PR merged: https://github.com/leebyron/remark-comment/pull/3
|
|
44
|
+
const { default: comment } = await import('@slorber/remark-comment');
|
|
44
45
|
const { default: directive } = await import('remark-directive');
|
|
45
46
|
// /!\ this method is synchronous on purpose
|
|
46
47
|
// Using async code here can create cache entry race conditions!
|
|
@@ -151,6 +152,7 @@ async function createProcessorCached({ filePath, mdxFrontMatter, query, reqOptio
|
|
|
151
152
|
const format = (0, format_1.getFormat)({
|
|
152
153
|
filePath,
|
|
153
154
|
frontMatterFormat: mdxFrontMatter.format,
|
|
155
|
+
markdownConfigFormat: reqOptions.markdownConfig.format,
|
|
154
156
|
});
|
|
155
157
|
return format === 'md' ? compilers.mdProcessor : compilers.mdxProcessor;
|
|
156
158
|
}
|
package/lib/processor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wEAAiC;AACjC,yEAAyC;AACzC,+DAA+B;AAC/B,qFAAqD;AACrD,qFAAqD;AACrD,uEAAuC;AACvC,iEAAiC;AACjC,uEAAuC;AACvC,+EAAwD;AACxD,oGAAoE;AACpE,qCAAmC;AAwBnC,MAAM,eAAe,GAAe;IAClC,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wEAAiC;AACjC,yEAAyC;AACzC,+DAA+B;AAC/B,qFAAqD;AACrD,qFAAqD;AACrD,uEAAuC;AACvC,iEAAiC;AACjC,uEAAuC;AACvC,+EAAwD;AACxD,oGAAoE;AACpE,qCAAmC;AAwBnC,MAAM,eAAe,GAAe;IAClC,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,CAAC,kBAAQ,EAAE,sBAAK,EAAE,aAAG,CAAC;IACrC,0BAA0B,EAAE,EAAE;IAC9B,0BAA0B,EAAE,EAAE;CAC/B,CAAC;AAYF,SAAS,qBAAqB,CAC5B,iBAA4C;IAE5C,IAAI,iBAAiB,EAAE;QACrB,MAAM,MAAM,GACV,iBAAiB,KAAK,IAAI;YACxB,CAAC,CAAC,qBAAoB;YACtB,CAAC,CAAC,CAAC,qBAAoB,EAAE,iBAAiB,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,CAAC;KACjB;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,iDAAiD;AACjD,KAAK,UAAU,sBAAsB;IACnC,MAAM,EAAC,eAAe,EAAE,kBAAkB,EAAC,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC1E,MAAM,EAAC,OAAO,EAAE,SAAS,EAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,EAAC,OAAO,EAAE,GAAG,EAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAClD,qFAAqF;IACrF,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACnE,MAAM,EAAC,OAAO,EAAE,SAAS,EAAC,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE9D,4CAA4C;IAC5C,gEAAgE;IAChE,SAAS,mBAAmB,CAAC,EAC3B,OAAO,EACP,MAAM,GAIP;QACC,MAAM,aAAa,GAAgB;YACjC,GAAG,CAAC,OAAO,CAAC,0BAA0B,IAAI,EAAE,CAAC;YAC7C,SAAS;YACT,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;YACtD,GAAG,eAAe,CAAC,aAAa;YAChC,iBAAO;YACP,cAAI;YACJ,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD;gBACE,wBAAc;gBACd;oBACE,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF;YACD;gBACE,wBAAc;gBACd;oBACE,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB;aACF;YACD,GAAG;YACH,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YAC3D,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;SACjC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAuB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3D,wEAAwE;QACxE,+BAA+B;QAC/B,aAAa,CAAC,IAAI,CAAC,0BAAgB,CAAC,CAAC;QAErC,MAAM,aAAa,GAAgB;YACjC,GAAG,CAAC,OAAO,CAAC,0BAA0B,IAAI,EAAE,CAAC;YAC7C,GAAG,eAAe,CAAC,aAAa;YAChC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;SACjC,CAAC;QAEF,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,+DAA+D;YAC/D,uDAAuD;YACvD,sEAAsE;YACtE,MAAM,eAAe,GAAc;gBACjC,SAAS;gBACT;oBACE,WAAW,EAAE;wBACX,mBAAmB;wBACnB,mBAAmB;wBACnB,mBAAmB;wBACnB,mBAAmB;wBACnB,UAAU;qBACX;iBACF;aACF,CAAC;YACF,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SACxC;QAED,MAAM,gBAAgB,GAA+B;YACnD,GAAG,OAAO;YACV,aAAa;YACb,aAAa;YACb,oBAAoB,EAAE,eAAe;SACtC,CAAC;QAEF,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACtC,GAAG,gBAAgB;YACnB,MAAM;SACP,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,KAAK,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,EAAE,EAAE,CACrC,YAAY;iBACT,OAAO,CAAC;gBACP,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,QAAQ;aACf,CAAC;iBACD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;SACnC,CAAC;IACJ,CAAC;IAED,OAAO,EAAC,mBAAmB,EAAC,CAAC;AAC/B,CAAC;AAED,2BAA2B;AACpB,KAAK,UAAU,uBAAuB,CAAC,UAG7C;IACC,MAAM,EAAC,mBAAmB,EAAC,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAC7D,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAND,0DAMC;AAQD,6DAA6D;AAC7D,uCAAuC;AACvC,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0C,CAAC;AAE1E,KAAK,UAAU,0BAA0B,CAAC,EACxC,KAAK,EACL,UAAU,GAIX;IACC,MAAM,EAAC,mBAAmB,EAAC,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAE7D,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,kBAAkB,GAAyB;QAC/C,WAAW,EAAE,mBAAmB,CAAC;YAC/B,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,IAAI;SACb,CAAC;QACF,YAAY,EAAE,mBAAmB,CAAC;YAChC,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,KAAK;SACd,CAAC;KACH,CAAC;IAEF,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAE/C,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,EAC1C,QAAQ,EACR,cAAc,EACd,KAAK,EACL,UAAU,GAMX;IACC,MAAM,SAAS,GAAG,MAAM,0BAA0B,CAAC,EAAC,KAAK,EAAE,UAAU,EAAC,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,IAAA,kBAAS,EAAC;QACvB,QAAQ;QACR,iBAAiB,EAAE,cAAc,CAAC,MAAM;QACxC,oBAAoB,EAAE,UAAU,CAAC,cAAc,CAAC,MAAM;KACvD,CAAC,CAAC;IAEH,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC;AAC1E,CAAC;AApBD,sDAoBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,EAAC,eAAe,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,EAAC,eAAe,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAEV,8BAA8B,EAG/B,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GACnC,MAAM,CAIR;AA8BD,wBAAgB,OAAO,CACrB,IAAI,EAAE,eAAe,GAAG,OAAO,EAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GACnC,MAAM,CAsBR;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GACX,8BAA8B,CAkDhC"}
|
|
@@ -15,11 +15,25 @@ function stringifyContent(node, toString) {
|
|
|
15
15
|
.join('');
|
|
16
16
|
}
|
|
17
17
|
exports.stringifyContent = stringifyContent;
|
|
18
|
+
// TODO This is really a workaround, and not super reliable
|
|
19
|
+
// For now we only support serializing tagName, className and content
|
|
20
|
+
// Can we implement the TOC with real JSX nodes instead of html strings later?
|
|
21
|
+
function mdxJsxTextElementToHtml(element, toString) {
|
|
22
|
+
const tag = element.name;
|
|
23
|
+
const attributes = element.attributes.filter((child) => child.type === 'mdxJsxAttribute');
|
|
24
|
+
const classAttribute = attributes.find((attr) => attr.name === 'className') ??
|
|
25
|
+
attributes.find((attr) => attr.name === 'class');
|
|
26
|
+
const classAttributeString = classAttribute
|
|
27
|
+
? `class="${(0, escape_html_1.default)(String(classAttribute.value))}"`
|
|
28
|
+
: ``;
|
|
29
|
+
const allAttributes = classAttributeString ? ` ${classAttributeString}` : '';
|
|
30
|
+
const content = stringifyContent(element, toString);
|
|
31
|
+
return `<${tag}${allAttributes}>${content}</${tag}>`;
|
|
32
|
+
}
|
|
18
33
|
function toValue(node, toString) {
|
|
19
34
|
switch (node.type) {
|
|
20
35
|
case 'mdxJsxTextElement': {
|
|
21
|
-
|
|
22
|
-
return `<${tag}>${stringifyContent(node, toString)}</${tag}>`;
|
|
36
|
+
return mdxJsxTextElementToHtml(node, toString);
|
|
23
37
|
}
|
|
24
38
|
case 'text':
|
|
25
39
|
return (0, escape_html_1.default)(node.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,sEAAqC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/utils/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/mdx-loader",
|
|
3
|
-
"version": "3.0.0-
|
|
3
|
+
"version": "3.0.0-beta.0",
|
|
4
4
|
"description": "Docusaurus Loader for MDX",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -18,40 +18,40 @@
|
|
|
18
18
|
},
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@babel/parser": "^7.
|
|
22
|
-
"@babel/traverse": "^7.
|
|
23
|
-
"@docusaurus/logger": "3.0.0-
|
|
24
|
-
"@docusaurus/utils": "3.0.0-
|
|
25
|
-
"@docusaurus/utils-validation": "3.0.0-
|
|
21
|
+
"@babel/parser": "^7.22.7",
|
|
22
|
+
"@babel/traverse": "^7.22.8",
|
|
23
|
+
"@docusaurus/logger": "3.0.0-beta.0",
|
|
24
|
+
"@docusaurus/utils": "3.0.0-beta.0",
|
|
25
|
+
"@docusaurus/utils-validation": "3.0.0-beta.0",
|
|
26
26
|
"@mdx-js/mdx": "^2.1.5",
|
|
27
|
+
"@slorber/remark-comment": "^1.0.0",
|
|
27
28
|
"escape-html": "^1.0.3",
|
|
28
29
|
"estree-util-value-to-estree": "^2.1.0",
|
|
29
30
|
"file-loader": "^6.2.0",
|
|
30
|
-
"fs-extra": "^11.1.
|
|
31
|
+
"fs-extra": "^11.1.1",
|
|
31
32
|
"hastscript": "^7.1.0",
|
|
32
33
|
"image-size": "^1.0.2",
|
|
33
34
|
"mdast-util-mdx": "^2.0.0",
|
|
34
|
-
"mdast-util-to-string": "^3.
|
|
35
|
+
"mdast-util-to-string": "^3.2.0",
|
|
35
36
|
"rehype-raw": "^6.1.1",
|
|
36
|
-
"remark-comment": "^1.0.0",
|
|
37
37
|
"remark-directive": "^2.0.1",
|
|
38
38
|
"remark-emoji": "^2.2.0",
|
|
39
39
|
"remark-gfm": "^3.0.1",
|
|
40
40
|
"stringify-object": "^3.3.0",
|
|
41
|
-
"tslib": "^2.
|
|
41
|
+
"tslib": "^2.6.0",
|
|
42
42
|
"unified": "^10.1.2",
|
|
43
43
|
"unist-util-visit": "^2.0.3",
|
|
44
44
|
"url-loader": "^4.1.1",
|
|
45
|
-
"webpack": "^5.
|
|
45
|
+
"webpack": "^5.88.1"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@docusaurus/types": "3.0.0-
|
|
48
|
+
"@docusaurus/types": "3.0.0-beta.0",
|
|
49
49
|
"@types/escape-html": "^1.0.2",
|
|
50
|
-
"@types/mdast": "^3.0.
|
|
50
|
+
"@types/mdast": "^3.0.12",
|
|
51
51
|
"@types/stringify-object": "^3.3.1",
|
|
52
|
-
"@types/unist": "^2.0.
|
|
52
|
+
"@types/unist": "^2.0.7",
|
|
53
53
|
"rehype-stringify": "^8.0.0",
|
|
54
|
-
"remark": "^14.0.
|
|
54
|
+
"remark": "^14.0.3",
|
|
55
55
|
"remark-mdx": "^2.1.5",
|
|
56
56
|
"remark-rehype": "^8.1.0",
|
|
57
57
|
"to-vfile": "^6.1.0",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"engines": {
|
|
66
66
|
"node": ">=16.14"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "27a1e90d9fff88af90ecad35bea16d4d7230482a"
|
|
69
69
|
}
|
package/src/format.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import path from 'path';
|
|
9
9
|
import type {MDXFrontMatter} from './frontMatter';
|
|
10
|
+
import type {Format, FormatInput} from './index';
|
|
10
11
|
|
|
11
12
|
// Copied from https://mdxjs.com/packages/mdx/#optionsmdextensions
|
|
12
13
|
// Although we are likely to only use .md / .mdx anyway...
|
|
@@ -21,20 +22,29 @@ const mdFormatExtensions = [
|
|
|
21
22
|
'.ron',
|
|
22
23
|
];
|
|
23
24
|
|
|
24
|
-
function
|
|
25
|
-
|
|
25
|
+
function getExtensionFormat(filepath: string): Format {
|
|
26
|
+
const isMDFormat = mdFormatExtensions.includes(path.extname(filepath));
|
|
27
|
+
// Bias toward mdx if unknown extension
|
|
28
|
+
return isMDFormat ? 'md' : 'mdx';
|
|
26
29
|
}
|
|
27
30
|
|
|
28
31
|
export function getFormat({
|
|
29
32
|
filePath,
|
|
30
33
|
frontMatterFormat,
|
|
34
|
+
markdownConfigFormat,
|
|
31
35
|
}: {
|
|
32
36
|
filePath: string;
|
|
33
37
|
frontMatterFormat: MDXFrontMatter['format'];
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
markdownConfigFormat: FormatInput;
|
|
39
|
+
}): Format {
|
|
40
|
+
if (frontMatterFormat) {
|
|
41
|
+
if (frontMatterFormat !== 'detect') {
|
|
42
|
+
return frontMatterFormat;
|
|
43
|
+
}
|
|
44
|
+
return getExtensionFormat(filePath);
|
|
37
45
|
}
|
|
38
|
-
|
|
39
|
-
|
|
46
|
+
if (markdownConfigFormat !== 'detect') {
|
|
47
|
+
return markdownConfigFormat;
|
|
48
|
+
}
|
|
49
|
+
return getExtensionFormat(filePath);
|
|
40
50
|
}
|
package/src/frontMatter.ts
CHANGED
|
@@ -10,18 +10,18 @@ import {
|
|
|
10
10
|
validateFrontMatter,
|
|
11
11
|
} from '@docusaurus/utils-validation';
|
|
12
12
|
|
|
13
|
+
import type {FormatInput} from './index';
|
|
14
|
+
|
|
13
15
|
export type MDXFrontMatter = {
|
|
14
|
-
format
|
|
16
|
+
format?: FormatInput;
|
|
15
17
|
};
|
|
16
18
|
|
|
17
19
|
export const DefaultMDXFrontMatter: MDXFrontMatter = {
|
|
18
|
-
format:
|
|
20
|
+
format: undefined,
|
|
19
21
|
};
|
|
20
22
|
|
|
21
23
|
const MDXFrontMatterSchema = Joi.object<MDXFrontMatter>({
|
|
22
|
-
format: Joi.string()
|
|
23
|
-
.equal('md', 'mdx', 'detect')
|
|
24
|
-
.default(DefaultMDXFrontMatter.format),
|
|
24
|
+
format: Joi.string().equal('md', 'mdx', 'detect').optional(),
|
|
25
25
|
}).default(DefaultMDXFrontMatter);
|
|
26
26
|
|
|
27
27
|
export function validateMDXFrontMatter(frontMatter: unknown): MDXFrontMatter {
|
package/src/index.ts
CHANGED
|
@@ -13,6 +13,10 @@ export default mdxLoader;
|
|
|
13
13
|
|
|
14
14
|
export type TOCItem = TOCItemImported;
|
|
15
15
|
|
|
16
|
+
export type Format = 'md' | 'mdx';
|
|
17
|
+
|
|
18
|
+
export type FormatInput = Format | 'detect';
|
|
19
|
+
|
|
16
20
|
export type LoadedMDXContent<FrontMatter, Metadata, Assets = undefined> = {
|
|
17
21
|
/** As verbatim declared in the MDX document. */
|
|
18
22
|
readonly frontMatter: FrontMatter;
|
package/src/loader.ts
CHANGED
|
@@ -162,11 +162,21 @@ export async function mdxLoader(
|
|
|
162
162
|
result = await processor.process({content, filePath});
|
|
163
163
|
} catch (errorUnknown) {
|
|
164
164
|
const error = errorUnknown as Error;
|
|
165
|
+
|
|
166
|
+
// MDX can emit errors that have useful extra attributes
|
|
167
|
+
const errorJSON = JSON.stringify(error, null, 2);
|
|
168
|
+
const errorDetails =
|
|
169
|
+
errorJSON === '{}'
|
|
170
|
+
? // regular JS error case: print stacktrace
|
|
171
|
+
error.stack ?? 'N/A'
|
|
172
|
+
: // MDX error: print extra attributes + stacktrace
|
|
173
|
+
`${errorJSON}\n${error.stack}`;
|
|
174
|
+
|
|
165
175
|
return callback(
|
|
166
176
|
new Error(
|
|
167
177
|
`MDX compilation failed for file ${logger.path(filePath)}\nCause: ${
|
|
168
178
|
error.message
|
|
169
|
-
}\nDetails:\n${
|
|
179
|
+
}\nDetails:\n${errorDetails}`,
|
|
170
180
|
// TODO error cause doesn't seem to be used by Webpack stats.errors :s
|
|
171
181
|
{cause: error},
|
|
172
182
|
),
|
package/src/processor.ts
CHANGED
|
@@ -42,7 +42,7 @@ type SimpleProcessor = {
|
|
|
42
42
|
const DEFAULT_OPTIONS: MDXOptions = {
|
|
43
43
|
admonitions: true,
|
|
44
44
|
rehypePlugins: [],
|
|
45
|
-
remarkPlugins: [
|
|
45
|
+
remarkPlugins: [headings, emoji, toc],
|
|
46
46
|
beforeDefaultRemarkPlugins: [],
|
|
47
47
|
beforeDefaultRehypePlugins: [],
|
|
48
48
|
};
|
|
@@ -76,7 +76,8 @@ async function createProcessorFactory() {
|
|
|
76
76
|
const {createProcessor: createMdxProcessor} = await import('@mdx-js/mdx');
|
|
77
77
|
const {default: rehypeRaw} = await import('rehype-raw');
|
|
78
78
|
const {default: gfm} = await import('remark-gfm');
|
|
79
|
-
|
|
79
|
+
// TODO using fork until PR merged: https://github.com/leebyron/remark-comment/pull/3
|
|
80
|
+
const {default: comment} = await import('@slorber/remark-comment');
|
|
80
81
|
const {default: directive} = await import('remark-directive');
|
|
81
82
|
|
|
82
83
|
// /!\ this method is synchronous on purpose
|
|
@@ -235,6 +236,7 @@ export async function createProcessorCached({
|
|
|
235
236
|
const format = getFormat({
|
|
236
237
|
filePath,
|
|
237
238
|
frontMatterFormat: mdxFrontMatter.format,
|
|
239
|
+
markdownConfigFormat: reqOptions.markdownConfig.format,
|
|
238
240
|
});
|
|
239
241
|
|
|
240
242
|
return format === 'md' ? compilers.mdProcessor : compilers.mdxProcessor;
|
|
@@ -8,26 +8,57 @@
|
|
|
8
8
|
import escapeHtml from 'escape-html';
|
|
9
9
|
import type {Parent} from 'unist';
|
|
10
10
|
import type {PhrasingContent, Heading} from 'mdast';
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
import type {
|
|
12
|
+
MdxJsxAttribute,
|
|
13
|
+
MdxJsxAttributeValueExpression,
|
|
14
|
+
MdxJsxTextElement,
|
|
15
|
+
// @ts-expect-error: TODO see https://github.com/microsoft/TypeScript/issues/49721
|
|
16
|
+
} from 'mdast-util-mdx';
|
|
13
17
|
|
|
14
18
|
export function stringifyContent(
|
|
15
19
|
node: Parent,
|
|
16
|
-
toString: (param: unknown) => string, // TODO weird but works
|
|
20
|
+
toString: (param: unknown) => string, // TODO weird but works
|
|
17
21
|
): string {
|
|
18
22
|
return (node.children as PhrasingContent[])
|
|
19
23
|
.map((item) => toValue(item, toString))
|
|
20
24
|
.join('');
|
|
21
25
|
}
|
|
22
26
|
|
|
27
|
+
// TODO This is really a workaround, and not super reliable
|
|
28
|
+
// For now we only support serializing tagName, className and content
|
|
29
|
+
// Can we implement the TOC with real JSX nodes instead of html strings later?
|
|
30
|
+
function mdxJsxTextElementToHtml(
|
|
31
|
+
element: MdxJsxTextElement,
|
|
32
|
+
toString: (param: unknown) => string, // TODO weird but works
|
|
33
|
+
): string {
|
|
34
|
+
const tag = element.name;
|
|
35
|
+
|
|
36
|
+
const attributes = element.attributes.filter(
|
|
37
|
+
(child): child is MdxJsxAttribute => child.type === 'mdxJsxAttribute',
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
const classAttribute =
|
|
41
|
+
attributes.find((attr) => attr.name === 'className') ??
|
|
42
|
+
attributes.find((attr) => attr.name === 'class');
|
|
43
|
+
|
|
44
|
+
const classAttributeString = classAttribute
|
|
45
|
+
? `class="${escapeHtml(String(classAttribute.value))}"`
|
|
46
|
+
: ``;
|
|
47
|
+
|
|
48
|
+
const allAttributes = classAttributeString ? ` ${classAttributeString}` : '';
|
|
49
|
+
|
|
50
|
+
const content = stringifyContent(element, toString);
|
|
51
|
+
|
|
52
|
+
return `<${tag}${allAttributes}>${content}</${tag}>`;
|
|
53
|
+
}
|
|
54
|
+
|
|
23
55
|
export function toValue(
|
|
24
56
|
node: PhrasingContent | Heading,
|
|
25
57
|
toString: (param: unknown) => string, // TODO weird but works
|
|
26
58
|
): string {
|
|
27
59
|
switch (node.type) {
|
|
28
60
|
case 'mdxJsxTextElement': {
|
|
29
|
-
|
|
30
|
-
return `<${tag}>${stringifyContent(node, toString)}</${tag}>`;
|
|
61
|
+
return mdxJsxTextElementToHtml(node as MdxJsxTextElement, toString);
|
|
31
62
|
}
|
|
32
63
|
case 'text':
|
|
33
64
|
return escapeHtml(node.value);
|