@docusaurus/mdx-loader 4.0.0-canary-6980 → 4.0.0-canary-6985
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/createMDXLoader.d.ts.map +1 -1
- package/lib/createMDXLoader.js +2 -1
- package/lib/createMDXLoader.js.map +1 -1
- package/lib/loader.js +2 -2
- package/lib/loader.js.map +1 -1
- package/lib/options.d.ts +2 -1
- package/lib/options.d.ts.map +1 -1
- package/lib/processor.d.ts.map +1 -1
- package/lib/processor.js +3 -0
- package/lib/processor.js.map +1 -1
- package/lib/rehype/admonitionTitle/index.d.ts +11 -0
- package/lib/rehype/admonitionTitle/index.d.ts.map +1 -0
- package/lib/rehype/admonitionTitle/index.js +45 -0
- package/lib/rehype/admonitionTitle/index.js.map +1 -0
- package/lib/remark/admonitions/index.d.ts.map +1 -1
- package/lib/remark/admonitions/index.js +31 -26
- package/lib/remark/admonitions/index.js.map +1 -1
- package/package.json +9 -6
- package/src/createMDXLoader.ts +3 -2
- package/src/loader.ts +2 -2
- package/src/options.ts +8 -1
- package/src/processor.ts +3 -0
- package/src/rehype/admonitionTitle/index.ts +52 -0
- package/src/remark/admonitions/index.ts +37 -30
- package/src/types.d.mts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMDXLoader.d.ts","sourceRoot":"","sources":["../src/createMDXLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"createMDXLoader.d.ts","sourceRoot":"","sources":["../src/createMDXLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAqB,OAAO,EAAC,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC;AAoCzD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,CAKpE;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,WAAW,CAOd"}
|
package/lib/createMDXLoader.js
CHANGED
|
@@ -28,9 +28,10 @@ function normalizeOptions(optionsInput) {
|
|
|
28
28
|
// We only have multiple compilers in production mode (docusaurus build)
|
|
29
29
|
// TODO wrong but good enough for now (example: "docusaurus build --dev")
|
|
30
30
|
if (!DisableCrossCompilerCache && process.env.NODE_ENV === 'production') {
|
|
31
|
+
const crossCompilerCache = new Map();
|
|
31
32
|
options = {
|
|
32
33
|
...options,
|
|
33
|
-
|
|
34
|
+
getCrossCompilerCache: () => crossCompilerCache,
|
|
34
35
|
};
|
|
35
36
|
}
|
|
36
37
|
return options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMDXLoader.js","sourceRoot":"","sources":["../src/createMDXLoader.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,2CAA6C;AAI7C,qEAAqE;AACrE,4DAA4D;AAC5D,MAAM,yBAAyB,GAC7B,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,MAAM,CAAC;AAEhE,SAAS,gBAAgB,CAAC,YAAqB;IAC7C,yCAAyC;IACzC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC1D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,GAAG,YAAY,CAAC;IAE3B,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,UAAU,EAAE,IAAA,4BAAgB,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC;IAClE,CAAC;IAED,sEAAsE;IACtE,wDAAwD;IACxD,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACxE,OAAO,GAAG;YACR,GAAG,OAAO;YACV,
|
|
1
|
+
{"version":3,"file":"createMDXLoader.js","sourceRoot":"","sources":["../src/createMDXLoader.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,2CAA6C;AAI7C,qEAAqE;AACrE,4DAA4D;AAC5D,MAAM,yBAAyB,GAC7B,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,MAAM,CAAC;AAEhE,SAAS,gBAAgB,CAAC,YAAqB;IAC7C,yCAAyC;IACzC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC1D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,OAAO,GAAG,YAAY,CAAC;IAE3B,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,UAAU,EAAE,IAAA,4BAAgB,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC;IAClE,CAAC;IAED,sEAAsE;IACtE,wDAAwD;IACxD,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACxE,MAAM,kBAAkB,GAAuB,IAAI,GAAG,EAAE,CAAC;QACzD,OAAO,GAAG;YACR,GAAG,OAAO;YACV,qBAAqB,EAAE,GAAG,EAAE,CAAC,kBAAkB;SAChD,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6BAAoC,OAAgB;IAClD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QAClC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,6BAAoC,EAClC,OAAO,EACP,OAAO,GAIR;IACC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,IAAI,EAAE,EAAC,IAAI,EAAE,EAAC,GAAG,EAAE,MAAM,EAAC,EAAC;QAC3B,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;KACpC,CAAC;AACJ,CAAC"}
|
package/lib/loader.js
CHANGED
|
@@ -72,7 +72,7 @@ ${result.content}
|
|
|
72
72
|
// This is because client/server compilations might be triggered in parallel
|
|
73
73
|
// When this happens for the same file, we don't want to compile it twice
|
|
74
74
|
async function loadMDXWithCaching({ resource, fileContent, filePath, options, compilerName, }) {
|
|
75
|
-
const
|
|
75
|
+
const crossCompilerCache = options.getCrossCompilerCache?.();
|
|
76
76
|
if (!crossCompilerCache) {
|
|
77
77
|
return loadMDX({
|
|
78
78
|
fileContent,
|
|
@@ -92,7 +92,7 @@ async function loadMDXWithCaching({ resource, fileContent, filePath, options, co
|
|
|
92
92
|
// Note: we can't use string keys in WeakMap
|
|
93
93
|
// But we could eventually use WeakRef for the values
|
|
94
94
|
const deleteCacheEntry = () => crossCompilerCache.delete(cacheKey);
|
|
95
|
-
const cacheEntry = crossCompilerCache
|
|
95
|
+
const cacheEntry = crossCompilerCache.get(cacheKey);
|
|
96
96
|
// When deduplicating client/server compilations, we always use the client
|
|
97
97
|
// compilation and not the server compilation
|
|
98
98
|
// This is important because the server compilation usually skips some steps
|
package/lib/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,wEAAwC;AACxC,6CAI2B;AAC3B,mCAIiB;AACjB,+CAA0C;AAM1C,KAAK,UAAU,OAAO,CAAC,EACrB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,YAAY,GAMb;IACC,MAAM,EAAC,WAAW,EAAC,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC;QAClE,QAAQ;QACR,WAAW;QACX,uBAAuB,EAAE,kCAA0B;KACpD,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAY,EAAC;QAChC,WAAW;QACX,QAAQ;QACR,WAAW;QACX,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAA,+BAAuB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1D,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,YAAY,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG;;UAEf,QAAQ;EAChB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAErC,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC;YACpD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACtE,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YACD,gBAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,SAAS,eAAe;QAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,MAAM,GACV,OAAO,CAAC,YAAY,IAAI,CAAC,YAAY;QACnC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAC,QAAQ,EAAE,WAAW,EAAC,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAC;IAEhB,4EAA4E;IAC5E,6BAA6B;IAC7B,MAAM,WAAW,GAAG;6BACO,IAAA,yBAAW,EAAC,WAAW,CAAC;8BACvB,IAAA,yBAAW,EAAC,YAAY,CAAC;EAErD,YAAY;QACV,CAAC,CAAC,sCAAsC,IAAA,uBAAe,EACnD,YAAY,EACZ,OAAO,CAAC,OAAO,CAChB,GAAG;QACN,CAAC,CAAC,EACN;EACE,MAAM,CAAC,CAAC,CAAC,yBAAyB,IAAA,8BAAsB,EAAC,EAAC,MAAM,EAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;CAC3E,CAAC;IAEA,MAAM,IAAI,GAAG;EACb,WAAW;EACX,MAAM,CAAC,OAAO;CACf,CAAC;IAEA,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6CAA6C;AAC7C,4EAA4E;AAC5E,yEAAyE;AACzE,KAAK,UAAU,kBAAkB,CAAC,EAChC,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,OAAO,EACP,YAAY,GAOb;IACC,MAAM,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|
package/lib/options.d.ts
CHANGED
|
@@ -28,8 +28,9 @@ export type Options = Partial<MDXOptions> & {
|
|
|
28
28
|
resolveMarkdownLink?: ResolveMarkdownLink;
|
|
29
29
|
remarkMdxOptions?: RemarkMdxOptions;
|
|
30
30
|
processors?: SimpleProcessors;
|
|
31
|
-
|
|
31
|
+
getCrossCompilerCache?: () => CrossCompilerCache;
|
|
32
32
|
};
|
|
33
|
+
export type CrossCompilerCache = Map<string, CrossCompilerCacheEntry>;
|
|
33
34
|
type CrossCompilerCacheEntry = PromiseWithResolvers<string>;
|
|
34
35
|
export {};
|
|
35
36
|
//# sourceMappingURL=options.d.ts.map
|
package/lib/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,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,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;KACvC,KAAK;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAC/B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAG1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAGpC,UAAU,CAAC,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,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,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;KACvC,KAAK;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAC/B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAG1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAGpC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAK9B,qBAAqB,CAAC,EAAE,MAAM,kBAAkB,CAAC;CAClD,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEtE,KAAK,uBAAuB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC"}
|
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;
|
|
1
|
+
{"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA0BH,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAO5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,CAAC,EACR,OAAO,EACP,QAAQ,EACR,WAAW,EACX,YAAY,GACb,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE;YAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAC,CAAC;QACtC,YAAY,EAAE,mBAAmB,CAAC;KACnC,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAOlC,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,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,0BAA0B,EAAE,SAAS,EAAE,CAAC;IACxC,0BAA0B,EAAE,SAAS,EAAE,CAAC;CACzC,CAAC;AA6KF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,eAAe,CAAC;IAC7B,YAAY,EAAE,eAAe,CAAC;CAC/B,CAAC;AAMF,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,GACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,gBAAgB,CAWnB;AAgBD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,cAAc,EACd,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,eAAe,CAWlB"}
|
package/lib/processor.js
CHANGED
|
@@ -29,6 +29,7 @@ const details_1 = tslib_1.__importDefault(require("./remark/details"));
|
|
|
29
29
|
const head_1 = tslib_1.__importDefault(require("./remark/head"));
|
|
30
30
|
const mermaid_1 = tslib_1.__importDefault(require("./remark/mermaid"));
|
|
31
31
|
const admonitions_1 = tslib_1.__importDefault(require("./remark/admonitions"));
|
|
32
|
+
const admonitionTitle_1 = tslib_1.__importDefault(require("./rehype/admonitionTitle"));
|
|
32
33
|
const unusedDirectives_1 = tslib_1.__importDefault(require("./remark/unusedDirectives"));
|
|
33
34
|
const codeCompatPlugin_1 = tslib_1.__importDefault(require("./remark/mdx1Compat/codeCompatPlugin"));
|
|
34
35
|
const format_1 = require("./format");
|
|
@@ -122,6 +123,8 @@ function createProcessorUncached({ options, format, }) {
|
|
|
122
123
|
const rehypePlugins = [
|
|
123
124
|
...(options.beforeDefaultRehypePlugins ?? []),
|
|
124
125
|
...(options.rehypePlugins ?? []),
|
|
126
|
+
// Runs after user plugins, so that they can process admonition titles
|
|
127
|
+
...(options.admonitions ? [admonitionTitle_1.default] : []),
|
|
125
128
|
];
|
|
126
129
|
// Maybe we'll want to introduce default recma plugins later?
|
|
127
130
|
// For example https://github.com/domdomegg/recma-mdx-displayname ?
|
package/lib/processor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
import type { Root } from 'hast';
|
|
8
|
+
import type { Plugin } from 'unified';
|
|
9
|
+
declare const plugin: Plugin<[], Root>;
|
|
10
|
+
export default plugin;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rehype/admonitionTitle/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAiB,IAAI,EAAC,MAAM,MAAM,CAAC;AAE/C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAKpC,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAc5B,CAAC;eAEa,MAAM"}
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
const unist_util_visit_1 = require("unist-util-visit");
|
|
10
|
+
const hast_util_to_estree_1 = require("hast-util-to-estree");
|
|
11
|
+
// Moves the rich title fragment created by the admonitions Remark plugin to
|
|
12
|
+
// the title prop: <admonition title={<>rich title</>}>
|
|
13
|
+
// It must run after the user Rehype plugins, so that they can process titles
|
|
14
|
+
const plugin = function plugin() {
|
|
15
|
+
return (root) => {
|
|
16
|
+
(0, unist_util_visit_1.visit)(root, 'mdxJsxFlowElement', (node) => {
|
|
17
|
+
if (node.name !== 'admonition') {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const titleIndex = node.children.findIndex(isRichTitle);
|
|
21
|
+
if (titleIndex === -1) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const [title] = node.children.splice(titleIndex, 1);
|
|
25
|
+
node.attributes.push(createTitleAttribute(title));
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
exports.default = plugin;
|
|
30
|
+
function isRichTitle(node) {
|
|
31
|
+
return (node.type === 'mdxJsxTextElement' && node.data?.admonitionTitle === true);
|
|
32
|
+
}
|
|
33
|
+
function createTitleAttribute(title) {
|
|
34
|
+
return {
|
|
35
|
+
type: 'mdxJsxAttribute',
|
|
36
|
+
name: 'title',
|
|
37
|
+
value: {
|
|
38
|
+
type: 'mdxJsxAttributeValueExpression',
|
|
39
|
+
// MDX only compiles the estree, the source code is not needed
|
|
40
|
+
value: '',
|
|
41
|
+
data: { estree: (0, hast_util_to_estree_1.toEstree)(title) },
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rehype/admonitionTitle/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,uDAAuC;AACvC,6DAA6C;AAK7C,4EAA4E;AAC5E,uDAAuD;AACvD,6EAA6E;AAC7E,MAAM,MAAM,GAAqB,SAAS,MAAM;IAC9C,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAA,wBAAK,EAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC/B,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAM,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;kBAEa,MAAM;AAErB,SAAS,WAAW,CAAC,IAAoB;IACvC,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CACzE,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAqB;IACjD,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACL,IAAI,EAAE,gCAAgC;YACtC,8DAA8D;YAC9D,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,EAAC,MAAM,EAAE,IAAA,8BAAQ,EAAC,KAAK,CAAC,EAAC;SAChC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/admonitions/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remark/admonitions/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAc,MAAM,EAAC,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,EAAY,IAAI,EAAC,MAAM,OAAO,CAAC;AAG3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,iBAGtC,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,GACjD,iBAAiB,CAiBnB;AA6BD,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,CA6DtD,CAAC;eAEa,MAAM"}
|
|
@@ -9,6 +9,7 @@ exports.normalizeAdmonitionOptions = normalizeAdmonitionOptions;
|
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
10
10
|
*/
|
|
11
11
|
const unist_util_visit_1 = require("unist-util-visit");
|
|
12
|
+
const utils_1 = require("../utils");
|
|
12
13
|
exports.DefaultAdmonitionOptions = {
|
|
13
14
|
keywords: ['note', 'tip', 'info', 'warning', 'danger'],
|
|
14
15
|
extendDefaults: true,
|
|
@@ -58,37 +59,41 @@ const plugin = function plugin(optionsInput = {}) {
|
|
|
58
59
|
const { directiveLabel, contentNodes } = parseDirective(node);
|
|
59
60
|
const textOnlyTitle = node.attributes?.title ??
|
|
60
61
|
(directiveLabel ? getTextOnlyTitle(directiveLabel) : undefined);
|
|
61
|
-
// Transform the mdast directive node to
|
|
62
|
-
//
|
|
63
|
-
//
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
...(node.attributes?.class && {
|
|
70
|
-
className: node.attributes.class.split(' '),
|
|
71
|
-
}),
|
|
72
|
-
...(node.attributes?.id && { id: node.attributes.id }),
|
|
73
|
-
type: node.name,
|
|
74
|
-
},
|
|
62
|
+
// Transform the mdast directive node to an <admonition> JSX element
|
|
63
|
+
// Lowercase on purpose: like Markdown elements, it is provided by
|
|
64
|
+
// MDXComponents, and can't be shadowed by an MDX file import
|
|
65
|
+
const properties = {
|
|
66
|
+
...(textOnlyTitle && { title: textOnlyTitle }),
|
|
67
|
+
...(node.attributes?.class && { className: node.attributes.class }),
|
|
68
|
+
...(node.attributes?.id && { id: node.attributes.id }),
|
|
69
|
+
type: node.name,
|
|
75
70
|
};
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
71
|
+
const admonition = {
|
|
72
|
+
type: 'mdxJsxFlowElement',
|
|
73
|
+
name: 'admonition',
|
|
74
|
+
attributes: Object.entries(properties).map(([name, value]) => ({
|
|
75
|
+
type: 'mdxJsxAttribute',
|
|
76
|
+
name,
|
|
77
|
+
value,
|
|
78
|
+
})),
|
|
79
|
+
children: contentNodes,
|
|
80
|
+
position: node.position,
|
|
81
|
+
};
|
|
82
|
+
// Rich titles stay in the tree as a JSX fragment, so that other
|
|
83
|
+
// Remark/Rehype plugins can process them (links, images, emojis...)
|
|
84
|
+
// The admonitionTitle Rehype plugin moves them to the title prop
|
|
85
|
+
if (directiveLabel?.children.length && !textOnlyTitle) {
|
|
81
86
|
const complexTitleNode = {
|
|
82
|
-
type: '
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
},
|
|
87
|
+
type: 'mdxJsxTextElement',
|
|
88
|
+
name: null,
|
|
89
|
+
attributes: [],
|
|
90
|
+
data: { admonitionTitle: true },
|
|
87
91
|
children: directiveLabel.children,
|
|
88
92
|
};
|
|
89
|
-
// @ts-expect-error:
|
|
90
|
-
|
|
93
|
+
// @ts-expect-error: MDX accepts inline JSX here, mdast types don't
|
|
94
|
+
admonition.children.unshift(complexTitleNode);
|
|
91
95
|
}
|
|
96
|
+
(0, utils_1.transformNode)(node, admonition);
|
|
92
97
|
}
|
|
93
98
|
});
|
|
94
99
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/admonitions/index.ts"],"names":[],"mappings":";;;;AAAA;;;;;GAKG;AACH,uDAAuC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remark/admonitions/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": "4.0.0-canary-
|
|
3
|
+
"version": "4.0.0-canary-6985",
|
|
4
4
|
"description": "Docusaurus Loader for MDX",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -14,15 +14,16 @@
|
|
|
14
14
|
},
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@docusaurus/fs": "4.0.0-canary-
|
|
18
|
-
"@docusaurus/logger": "4.0.0-canary-
|
|
19
|
-
"@docusaurus/utils": "4.0.0-canary-
|
|
20
|
-
"@docusaurus/utils-validation": "4.0.0-canary-
|
|
17
|
+
"@docusaurus/fs": "4.0.0-canary-6985",
|
|
18
|
+
"@docusaurus/logger": "4.0.0-canary-6985",
|
|
19
|
+
"@docusaurus/utils": "4.0.0-canary-6985",
|
|
20
|
+
"@docusaurus/utils-validation": "4.0.0-canary-6985",
|
|
21
21
|
"@mdx-js/mdx": "^3.1.1",
|
|
22
22
|
"@slorber/remark-comment": "^1.0.0",
|
|
23
23
|
"astring": "^1.9.0",
|
|
24
24
|
"escape-html": "^1.0.3",
|
|
25
25
|
"estree-util-value-to-estree": "^3.5.0",
|
|
26
|
+
"hast-util-to-estree": "^3.1.3",
|
|
26
27
|
"image-size": "^2.0.4",
|
|
27
28
|
"mdast-util-mdx": "^3.0.0",
|
|
28
29
|
"mdast-util-to-string": "^4.0.0",
|
|
@@ -39,10 +40,12 @@
|
|
|
39
40
|
"webpack": "^5.111.0"
|
|
40
41
|
},
|
|
41
42
|
"devDependencies": {
|
|
42
|
-
"@docusaurus/types": "4.0.0-canary-
|
|
43
|
+
"@docusaurus/types": "4.0.0-canary-6985",
|
|
43
44
|
"@types/escape-html": "^1.0.4",
|
|
44
45
|
"@types/estree": "^1.0.9",
|
|
46
|
+
"@types/hast": "^3.0.5",
|
|
45
47
|
"@types/mdast": "^4.0.4",
|
|
48
|
+
"@types/react-dom": "^19.3.0",
|
|
46
49
|
"@types/unist": "^3.0.3",
|
|
47
50
|
"lodash": "^4.18.1",
|
|
48
51
|
"mdast-util-directive": "3.1.0",
|
package/src/createMDXLoader.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import {createProcessors} from './processor';
|
|
9
|
-
import type {Options} from './options';
|
|
9
|
+
import type {CrossCompilerCache, Options} from './options';
|
|
10
10
|
import type {RuleSetRule, RuleSetUseItem} from 'webpack';
|
|
11
11
|
|
|
12
12
|
// Escape hatch to disable the MDX cross-compiler cache, just in case
|
|
@@ -33,9 +33,10 @@ function normalizeOptions(optionsInput: Options): Options {
|
|
|
33
33
|
// We only have multiple compilers in production mode (docusaurus build)
|
|
34
34
|
// TODO wrong but good enough for now (example: "docusaurus build --dev")
|
|
35
35
|
if (!DisableCrossCompilerCache && process.env.NODE_ENV === 'production') {
|
|
36
|
+
const crossCompilerCache: CrossCompilerCache = new Map();
|
|
36
37
|
options = {
|
|
37
38
|
...options,
|
|
38
|
-
|
|
39
|
+
getCrossCompilerCache: () => crossCompilerCache,
|
|
39
40
|
};
|
|
40
41
|
}
|
|
41
42
|
|
package/src/loader.ts
CHANGED
|
@@ -121,7 +121,7 @@ async function loadMDXWithCaching({
|
|
|
121
121
|
options: Options;
|
|
122
122
|
compilerName: WebpackCompilerName;
|
|
123
123
|
}): Promise<string> {
|
|
124
|
-
const
|
|
124
|
+
const crossCompilerCache = options.getCrossCompilerCache?.();
|
|
125
125
|
if (!crossCompilerCache) {
|
|
126
126
|
return loadMDX({
|
|
127
127
|
fileContent,
|
|
@@ -144,7 +144,7 @@ async function loadMDXWithCaching({
|
|
|
144
144
|
// But we could eventually use WeakRef for the values
|
|
145
145
|
const deleteCacheEntry = () => crossCompilerCache.delete(cacheKey);
|
|
146
146
|
|
|
147
|
-
const cacheEntry = crossCompilerCache
|
|
147
|
+
const cacheEntry = crossCompilerCache.get(cacheKey);
|
|
148
148
|
|
|
149
149
|
// When deduplicating client/server compilations, we always use the client
|
|
150
150
|
// compilation and not the server compilation
|
package/src/options.ts
CHANGED
|
@@ -31,7 +31,14 @@ export type Options = Partial<MDXOptions> & {
|
|
|
31
31
|
|
|
32
32
|
// Will usually be created by "createMDXLoaderItem"
|
|
33
33
|
processors?: SimpleProcessors;
|
|
34
|
-
|
|
34
|
+
// We pass a getter function instead of the cache Map itself because some
|
|
35
|
+
// tools deep-clone the loader options (Rsdoctor v1 for example)
|
|
36
|
+
// Cloning a Map would break the cache shared by client/server compilers
|
|
37
|
+
// Functions are not cloned, so the getter keeps returning the shared Map
|
|
38
|
+
getCrossCompilerCache?: () => CrossCompilerCache;
|
|
35
39
|
};
|
|
36
40
|
|
|
41
|
+
// MDX => Promise<JSX> cache
|
|
42
|
+
export type CrossCompilerCache = Map<string, CrossCompilerCacheEntry>;
|
|
43
|
+
|
|
37
44
|
type CrossCompilerCacheEntry = PromiseWithResolvers<string>;
|
package/src/processor.ts
CHANGED
|
@@ -25,6 +25,7 @@ import details from './remark/details';
|
|
|
25
25
|
import head from './remark/head';
|
|
26
26
|
import mermaid from './remark/mermaid';
|
|
27
27
|
import transformAdmonitions from './remark/admonitions';
|
|
28
|
+
import admonitionTitle from './rehype/admonitionTitle';
|
|
28
29
|
import unusedDirectives from './remark/unusedDirectives';
|
|
29
30
|
import codeCompatPlugin from './remark/mdx1Compat/codeCompatPlugin';
|
|
30
31
|
import {getFormat} from './format';
|
|
@@ -186,6 +187,8 @@ function createProcessorUncached({
|
|
|
186
187
|
const rehypePlugins: MDXPlugin[] = [
|
|
187
188
|
...(options.beforeDefaultRehypePlugins ?? []),
|
|
188
189
|
...(options.rehypePlugins ?? []),
|
|
190
|
+
// Runs after user plugins, so that they can process admonition titles
|
|
191
|
+
...(options.admonitions ? [admonitionTitle] : []),
|
|
189
192
|
];
|
|
190
193
|
|
|
191
194
|
// Maybe we'll want to introduce default recma plugins later?
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
|
|
8
|
+
import {visit} from 'unist-util-visit';
|
|
9
|
+
import {toEstree} from 'hast-util-to-estree';
|
|
10
|
+
import type {ElementContent, Root} from 'hast';
|
|
11
|
+
import type {MdxJsxAttribute} from 'mdast-util-mdx';
|
|
12
|
+
import type {Plugin} from 'unified';
|
|
13
|
+
|
|
14
|
+
// Moves the rich title fragment created by the admonitions Remark plugin to
|
|
15
|
+
// the title prop: <admonition title={<>rich title</>}>
|
|
16
|
+
// It must run after the user Rehype plugins, so that they can process titles
|
|
17
|
+
const plugin: Plugin<[], Root> = function plugin() {
|
|
18
|
+
return (root) => {
|
|
19
|
+
visit(root, 'mdxJsxFlowElement', (node) => {
|
|
20
|
+
if (node.name !== 'admonition') {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const titleIndex = node.children.findIndex(isRichTitle);
|
|
24
|
+
if (titleIndex === -1) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const [title] = node.children.splice(titleIndex, 1);
|
|
28
|
+
node.attributes.push(createTitleAttribute(title!));
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export default plugin;
|
|
34
|
+
|
|
35
|
+
function isRichTitle(node: ElementContent): boolean {
|
|
36
|
+
return (
|
|
37
|
+
node.type === 'mdxJsxTextElement' && node.data?.admonitionTitle === true
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function createTitleAttribute(title: ElementContent): MdxJsxAttribute {
|
|
42
|
+
return {
|
|
43
|
+
type: 'mdxJsxAttribute',
|
|
44
|
+
name: 'title',
|
|
45
|
+
value: {
|
|
46
|
+
type: 'mdxJsxAttributeValueExpression',
|
|
47
|
+
// MDX only compiles the estree, the source code is not needed
|
|
48
|
+
value: '',
|
|
49
|
+
data: {estree: toEstree(title)},
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
@@ -5,9 +5,11 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import {visit} from 'unist-util-visit';
|
|
8
|
+
import {transformNode} from '../utils';
|
|
8
9
|
import type {Transformer, Plugin} from 'unified';
|
|
9
10
|
import type {ContainerDirective} from 'mdast-util-directive';
|
|
10
|
-
import type {
|
|
11
|
+
import type {Paragraph, Root} from 'mdast';
|
|
12
|
+
import type {MdxJsxFlowElement, MdxJsxTextElement} from 'mdast-util-mdx';
|
|
11
13
|
|
|
12
14
|
export type AdmonitionOptions = {
|
|
13
15
|
keywords: string[];
|
|
@@ -40,7 +42,7 @@ export function normalizeAdmonitionOptions(
|
|
|
40
42
|
return options;
|
|
41
43
|
}
|
|
42
44
|
|
|
43
|
-
type DirectiveLabel =
|
|
45
|
+
type DirectiveLabel = Paragraph;
|
|
44
46
|
type DirectiveContent = ContainerDirective['children'];
|
|
45
47
|
|
|
46
48
|
function parseDirective(directive: ContainerDirective): {
|
|
@@ -88,38 +90,43 @@ const plugin: Plugin<Partial<AdmonitionOptions>[], Root> = function plugin(
|
|
|
88
90
|
node.attributes?.title ??
|
|
89
91
|
(directiveLabel ? getTextOnlyTitle(directiveLabel) : undefined);
|
|
90
92
|
|
|
91
|
-
// Transform the mdast directive node to
|
|
92
|
-
//
|
|
93
|
-
//
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
...(node.attributes?.class && {
|
|
100
|
-
className: node.attributes.class.split(' '),
|
|
101
|
-
}),
|
|
102
|
-
...(node.attributes?.id && {id: node.attributes.id}),
|
|
103
|
-
type: node.name,
|
|
104
|
-
},
|
|
93
|
+
// Transform the mdast directive node to an <admonition> JSX element
|
|
94
|
+
// Lowercase on purpose: like Markdown elements, it is provided by
|
|
95
|
+
// MDXComponents, and can't be shadowed by an MDX file import
|
|
96
|
+
const properties = {
|
|
97
|
+
...(textOnlyTitle && {title: textOnlyTitle}),
|
|
98
|
+
...(node.attributes?.class && {className: node.attributes.class}),
|
|
99
|
+
...(node.attributes?.id && {id: node.attributes.id}),
|
|
100
|
+
type: node.name,
|
|
105
101
|
};
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
102
|
+
const admonition: MdxJsxFlowElement = {
|
|
103
|
+
type: 'mdxJsxFlowElement',
|
|
104
|
+
name: 'admonition',
|
|
105
|
+
attributes: Object.entries(properties).map(([name, value]) => ({
|
|
106
|
+
type: 'mdxJsxAttribute',
|
|
107
|
+
name,
|
|
108
|
+
value,
|
|
109
|
+
})),
|
|
110
|
+
children: contentNodes,
|
|
111
|
+
position: node.position,
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
// Rich titles stay in the tree as a JSX fragment, so that other
|
|
115
|
+
// Remark/Rehype plugins can process them (links, images, emojis...)
|
|
116
|
+
// The admonitionTitle Rehype plugin moves them to the title prop
|
|
117
|
+
if (directiveLabel?.children.length && !textOnlyTitle) {
|
|
118
|
+
const complexTitleNode: MdxJsxTextElement = {
|
|
119
|
+
type: 'mdxJsxTextElement',
|
|
120
|
+
name: null,
|
|
121
|
+
attributes: [],
|
|
122
|
+
data: {admonitionTitle: true},
|
|
118
123
|
children: directiveLabel.children,
|
|
119
124
|
};
|
|
120
|
-
// @ts-expect-error:
|
|
121
|
-
|
|
125
|
+
// @ts-expect-error: MDX accepts inline JSX here, mdast types don't
|
|
126
|
+
admonition.children.unshift(complexTitleNode);
|
|
122
127
|
}
|
|
128
|
+
|
|
129
|
+
transformNode(node, admonition);
|
|
123
130
|
}
|
|
124
131
|
});
|
|
125
132
|
};
|