@astrojs/markdown-remark 0.5.0 → 0.6.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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @astrojs/markdown-remark
2
2
 
3
+ ## 0.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#2202](https://github.com/withastro/astro/pull/2202) [`45cea6ae`](https://github.com/withastro/astro/commit/45cea6aec5a310fed4cb8da0d96670d6b99a2539) Thanks [@jonathantneal](https://github.com/jonathantneal)! - Officially drop support for Node v12. The minimum supported version is now Node v14.15+,
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [[`45cea6ae`](https://github.com/withastro/astro/commit/45cea6aec5a310fed4cb8da0d96670d6b99a2539)]:
12
+ - @astrojs/prism@0.4.0
13
+
3
14
  ## 0.5.0
4
15
 
5
16
  ### Minor Changes
package/dist/index.js CHANGED
@@ -89,4 +89,4 @@ export {
89
89
  renderMarkdown,
90
90
  renderMarkdownWithFrontmatter
91
91
  };
92
- //# sourceMappingURL=data:application/json;base64,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
92
+ //# sourceMappingURL=data:application/json;base64,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
@@ -18,4 +18,4 @@ function loadPlugins(items) {
18
18
  export {
19
19
  loadPlugins
20
20
  };
21
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2xvYWQtcGx1Z2lucy50cyJdLAogICJtYXBwaW5ncyI6ICJBQUdBLDRCQUE0QixHQUFzRDtBQUNoRixNQUFJLE9BQU8sTUFBTSxVQUFVO0FBQ3pCLFdBQU8sTUFBTSxPQUFPO0FBQUE7QUFHdEIsU0FBTyxNQUFNO0FBQUE7QUFHUixxQkFBcUIsT0FBc0U7QUFDaEcsU0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNO0FBQ3RCLFdBQU8sSUFBSSxRQUFRLENBQUMsU0FBUyxXQUFXO0FBQ3RDLFVBQUksTUFBTSxRQUFRLElBQUk7QUFDcEIsY0FBTSxDQUFDLFFBQVEsUUFBUTtBQUN2QixlQUFPLGFBQWEsUUFDakIsS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDLEVBQUUsU0FBUyxRQUNoQyxNQUFNLENBQUMsTUFBTSxPQUFPO0FBQUE7QUFHekIsYUFBTyxhQUFhLEdBQ2pCLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxFQUFFLFdBQ3ZCLE1BQU0sQ0FBQyxNQUFNLE9BQU87QUFBQTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
21
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2xvYWQtcGx1Z2lucy50cyJdLAogICJtYXBwaW5ncyI6ICJBQUdBLDRCQUE0QixHQUFzRDtBQUNqRixNQUFJLE9BQU8sTUFBTSxVQUFVO0FBQzFCLFdBQU8sTUFBTSxPQUFPO0FBQUE7QUFHckIsU0FBTyxNQUFNO0FBQUE7QUFHUCxxQkFBcUIsT0FBc0U7QUFDakcsU0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNO0FBQ3ZCLFdBQU8sSUFBSSxRQUFRLENBQUMsU0FBUyxXQUFXO0FBQ3ZDLFVBQUksTUFBTSxRQUFRLElBQUk7QUFDckIsY0FBTSxDQUFDLFFBQVEsUUFBUTtBQUN2QixlQUFPLGFBQWEsUUFDbEIsS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDLEVBQUUsU0FBUyxRQUNoQyxNQUFNLENBQUMsTUFBTSxPQUFPO0FBQUE7QUFHdkIsYUFBTyxhQUFhLEdBQ2xCLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxFQUFFLFdBQ3ZCLE1BQU0sQ0FBQyxNQUFNLE9BQU87QUFBQTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -34,4 +34,4 @@ function createCollectHeaders() {
34
34
  export {
35
35
  createCollectHeaders as default
36
36
  };
37
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1jb2xsZWN0LWhlYWRlcnMudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUVBO0FBR2UsZ0NBQWdDO0FBQzdDLFFBQU0sVUFBaUI7QUFFdkIsa0NBQWdDO0FBQzlCLFdBQU8sU0FBVSxNQUFZO0FBQzNCLFlBQU0sTUFBTSxDQUFDLFNBQVM7QUFWNUI7QUFXUSxZQUFJLEtBQUssU0FBUztBQUFXO0FBQzdCLGNBQU0sRUFBRSxZQUFZO0FBQ3BCLFlBQUksUUFBUSxPQUFPO0FBQUs7QUFDeEIsY0FBTSxDQUFDLEdBQUcsU0FBUyxjQUFRLE1BQU0sZ0JBQWQsWUFBNkI7QUFDaEQsWUFBSSxDQUFDO0FBQU87QUFDWixjQUFNLFFBQVEsT0FBTyxTQUFTO0FBRTlCLFlBQUksT0FBTztBQUVYLGNBQU0sTUFBTSxRQUFRLENBQUMsVUFBVTtBQUM3QixrQkFBUSxNQUFNO0FBQUE7QUFHaEIsWUFBSSxPQUFPLG9DQUFNLGVBQU4sbUJBQWtCLE9BQU0sUUFBUSxLQUFLO0FBRWhELGFBQUssYUFBYSxLQUFLLGNBQWM7QUFDckMsYUFBSyxXQUFXLEtBQUs7QUFDckIsZ0JBQVEsS0FBSyxFQUFFLE9BQU8sTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUtsQyxTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0E7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
37
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1jb2xsZWN0LWhlYWRlcnMudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUVBO0FBR2UsZ0NBQWdDO0FBQzlDLFFBQU0sVUFBaUI7QUFFdkIsa0NBQWdDO0FBQy9CLFdBQU8sU0FBVSxNQUFZO0FBQzVCLFlBQU0sTUFBTSxDQUFDLFNBQVM7QUFWekI7QUFXSSxZQUFJLEtBQUssU0FBUztBQUFXO0FBQzdCLGNBQU0sRUFBRSxZQUFZO0FBQ3BCLFlBQUksUUFBUSxPQUFPO0FBQUs7QUFDeEIsY0FBTSxDQUFDLEdBQUcsU0FBUyxjQUFRLE1BQU0sZ0JBQWQsWUFBNkI7QUFDaEQsWUFBSSxDQUFDO0FBQU87QUFDWixjQUFNLFFBQVEsT0FBTyxTQUFTO0FBRTlCLFlBQUksT0FBTztBQUVYLGNBQU0sTUFBTSxRQUFRLENBQUMsVUFBVTtBQUM5QixrQkFBUSxNQUFNO0FBQUE7QUFHZixZQUFJLE9BQU8sb0NBQU0sZUFBTixtQkFBa0IsT0FBTSxRQUFRLEtBQUs7QUFFaEQsYUFBSyxhQUFhLEtBQUssY0FBYztBQUNyQyxhQUFLLFdBQVcsS0FBSztBQUNyQixnQkFBUSxLQUFLLEVBQUUsT0FBTyxNQUFNO0FBQUE7QUFBQTtBQUFBO0FBSy9CLFNBQU87QUFBQSxJQUNOO0FBQUEsSUFDQTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -12,4 +12,4 @@ function rehypeEscape() {
12
12
  export {
13
13
  rehypeEscape as default
14
14
  };
15
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1lc2NhcGUudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUVlLHdCQUE2QjtBQUMxQyxTQUFPLFNBQVUsTUFBZ0I7QUFDL0IsV0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFDLE9BQU87QUFDcEMsVUFBSSxHQUFHLFlBQVksVUFBVSxHQUFHLFlBQVksT0FBTztBQUNqRCxXQUFHLFdBQVcsb0JBQW9CO0FBQUE7QUFFcEMsYUFBTztBQUFBO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
15
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1lc2NhcGUudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUVlLHdCQUE2QjtBQUMzQyxTQUFPLFNBQVUsTUFBZ0I7QUFDaEMsV0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFDLE9BQU87QUFDckMsVUFBSSxHQUFHLFlBQVksVUFBVSxHQUFHLFlBQVksT0FBTztBQUNsRCxXQUFHLFdBQVcsb0JBQW9CO0FBQUE7QUFFbkMsYUFBTztBQUFBO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -12,4 +12,4 @@ function rehypeExpressions() {
12
12
  export {
13
13
  rehypeExpressions as default
14
14
  };
15
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1leHByZXNzaW9ucy50cyJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBRWUsNkJBQWtDO0FBQy9DLFNBQU8sU0FBVSxNQUFnQjtBQUMvQixXQUFPLElBQUksTUFBTSxDQUFDLFVBQVU7QUFDMUIsVUFBSSxNQUFNLFNBQVMscUJBQXFCO0FBQ3RDLGVBQU8sRUFBRSxNQUFNLFFBQVEsT0FBTyxJQUFLLE1BQWM7QUFBQTtBQUVuRCxhQUFPO0FBQUE7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
15
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1leHByZXNzaW9ucy50cyJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBRWUsNkJBQWtDO0FBQ2hELFNBQU8sU0FBVSxNQUFnQjtBQUNoQyxXQUFPLElBQUksTUFBTSxDQUFDLFVBQVU7QUFDM0IsVUFBSSxNQUFNLFNBQVMscUJBQXFCO0FBQ3ZDLGVBQU8sRUFBRSxNQUFNLFFBQVEsT0FBTyxJQUFLLE1BQWM7QUFBQTtBQUVsRCxhQUFPO0FBQUE7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -17,7 +17,8 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { SKIP, visit } from "unist-util-visit";
20
+ import { SKIP, visit as _visit } from "unist-util-visit";
21
+ const visit = _visit;
21
22
  function rehypeIslands() {
22
23
  return function(node) {
23
24
  return visit(node, "element", (el) => {
@@ -39,4 +40,4 @@ function rehypeIslands() {
39
40
  export {
40
41
  rehypeIslands as default
41
42
  };
42
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1pc2xhbmRzLnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBTWUseUJBQThCO0FBQzNDLFNBQU8sU0FBVSxNQUFnQjtBQUMvQixXQUFPLE1BQU0sTUFBTSxXQUFXLENBQUMsT0FBTztBQUVwQyxVQUFJLEdBQUcsV0FBVyxjQUFjO0FBQzlCLGNBQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxPQUFPLFdBQVc7QUFDMUMsY0FBSSxNQUFNLFNBQVMsUUFBUTtBQUd6QixnQkFBSSxVQUFVLE1BQU0sTUFBTSxRQUFRLFVBQVUsTUFBTSxTQUFTLE1BQU07QUFDL0QscUJBQU8sU0FBUyxPQUFPLE9BQU8sR0FBRyxpQ0FBSyxRQUFMLEVBQVksTUFBTSxXQUFXLE9BQU8sTUFBTSxNQUFNLFFBQVEsUUFBUSxJQUFJLFFBQVEsT0FBTyxJQUFJO0FBQ3hILHFCQUFPLENBQUMsTUFBTTtBQUFBO0FBTWhCLGtCQUFNLFFBQVEsTUFBTSxNQUFNLFFBQVEsUUFBUTtBQUMxQyxtQkFBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
43
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1pc2xhbmRzLnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBSUEsTUFBTSxRQUFRO0FBTUMseUJBQThCO0FBQzVDLFNBQU8sU0FBVSxNQUFnQjtBQUNoQyxXQUFPLE1BQU0sTUFBTSxXQUFXLENBQUMsT0FBTztBQUVyQyxVQUFJLEdBQUcsV0FBVyxjQUFjO0FBQy9CLGNBQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxPQUFPLFdBQVc7QUFDM0MsY0FBSSxNQUFNLFNBQVMsUUFBUTtBQUcxQixnQkFBSSxVQUFVLE1BQU0sTUFBTSxRQUFRLFVBQVUsTUFBTSxTQUFTLE1BQU07QUFDaEUscUJBQU8sU0FBUyxPQUFPLE9BQU8sR0FBRyxpQ0FBSyxRQUFMLEVBQVksTUFBTSxXQUFXLE9BQU8sTUFBTSxNQUFNLFFBQVEsUUFBUSxJQUFJLFFBQVEsT0FBTyxJQUFJO0FBQ3hILHFCQUFPLENBQUMsTUFBTTtBQUFBO0FBTWYsa0JBQU0sUUFBUSxNQUFNLE1BQU0sUUFBUSxRQUFRO0FBQzFDLG1CQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -47,4 +47,4 @@ function rehypeJsx() {
47
47
  export {
48
48
  rehypeJsx as default
49
49
  };
50
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1qc3gudHMiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFFQSxNQUFNLGVBQWUsSUFBSSxJQUFJLENBQUMscUJBQXFCO0FBQ3BDLHFCQUEwQjtBQUN2QyxTQUFPLFNBQVUsTUFBZ0I7QUFDL0IsV0FBTyxJQUFJLE1BQU0sQ0FBQyxVQUFlO0FBQy9CLFVBQUksTUFBTSxTQUFTLFdBQVc7QUFDNUIsZUFBTyxpQ0FBSyxRQUFMLEVBQVksU0FBUyxHQUFHLE1BQU07QUFBQTtBQUV2QyxVQUFJLGFBQWEsSUFBSSxNQUFNLE9BQU87QUFDaEMsZUFBTyxpQ0FDRixRQURFO0FBQUEsVUFFTCxNQUFNO0FBQUEsVUFDTixTQUFTLEdBQUcsTUFBTTtBQUFBLFVBQ2xCLFlBQVksTUFBTSxXQUFXLE9BQU8sQ0FBQyxLQUFZLFVBQWU7QUFDOUQsZ0JBQUksT0FBTyxNQUFNO0FBQ2pCLGdCQUFJLFFBQVEsT0FBTyxTQUFTLFVBQVU7QUFDcEMscUJBQU8sSUFBSSxLQUFLO0FBQUEsdUJBQ1AsU0FBUyxNQUFNO0FBQ3hCLHFCQUFPO0FBQUE7QUFFVCxtQkFBTyxPQUFPLE9BQU8sS0FBSyxHQUFHLE1BQU0sT0FBTztBQUFBLGFBQ3pDO0FBQUE7QUFBQTtBQUdQLGFBQU87QUFBQTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
50
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1qc3gudHMiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFFQSxNQUFNLGVBQWUsSUFBSSxJQUFJLENBQUMscUJBQXFCO0FBQ3BDLHFCQUEwQjtBQUN4QyxTQUFPLFNBQVUsTUFBZ0I7QUFDaEMsV0FBTyxJQUFJLE1BQU0sQ0FBQyxVQUFlO0FBQ2hDLFVBQUksTUFBTSxTQUFTLFdBQVc7QUFDN0IsZUFBTyxpQ0FBSyxRQUFMLEVBQVksU0FBUyxHQUFHLE1BQU07QUFBQTtBQUV0QyxVQUFJLGFBQWEsSUFBSSxNQUFNLE9BQU87QUFDakMsZUFBTyxpQ0FDSCxRQURHO0FBQUEsVUFFTixNQUFNO0FBQUEsVUFDTixTQUFTLEdBQUcsTUFBTTtBQUFBLFVBQ2xCLFlBQVksTUFBTSxXQUFXLE9BQU8sQ0FBQyxLQUFZLFVBQWU7QUFDL0QsZ0JBQUksT0FBTyxNQUFNO0FBQ2pCLGdCQUFJLFFBQVEsT0FBTyxTQUFTLFVBQVU7QUFDckMscUJBQU8sSUFBSSxLQUFLO0FBQUEsdUJBQ04sU0FBUyxNQUFNO0FBQ3pCLHFCQUFPO0FBQUE7QUFFUixtQkFBTyxPQUFPLE9BQU8sS0FBSyxHQUFHLE1BQU0sT0FBTztBQUFBLGFBQ3hDO0FBQUE7QUFBQTtBQUdMLGFBQU87QUFBQTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -29,4 +29,4 @@ export {
29
29
  loadRemarkExpressions,
30
30
  remarkExpressions
31
31
  };
32
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1leHByZXNzaW9ucy50cyJdLAogICJtYXBwaW5ncyI6ICJBQUNBLElBQUk7QUFDSixJQUFJO0FBQ0osSUFBSTtBQUVHLDJCQUFzQyxTQUFjO0FBQ3pELE1BQUksV0FBVyxXQUFXO0FBQzFCLE1BQUksT0FBTyxLQUFLO0FBRWhCLE1BQUksdUJBQXVCLGNBQWM7QUFDekMsTUFBSSwwQkFBMEI7QUFDOUIsTUFBSSx3QkFBd0I7QUFFNUIsZUFBYSxPQUFZLE9BQVk7QUFFbkMsUUFBSSxLQUFLO0FBQVEsV0FBSyxPQUFPLEtBQUs7QUFBQTtBQUM3QixXQUFLLFNBQVMsQ0FBQztBQUFBO0FBQUE7QUFJeEIsdUNBQThDO0FBQzVDLE1BQUksQ0FBQyxlQUFlO0FBQ2xCLFVBQU0seUJBQXlCLE1BQU0sT0FBTztBQUM1QyxvQkFBZ0IsdUJBQXVCO0FBQUE7QUFFekMsTUFBSSxDQUFDLDZCQUE2QixDQUFDLHlCQUF5QjtBQUMxRCxVQUFNLHlCQUF5QixNQUFNLE9BQU87QUFDNUMsZ0NBQTRCLHVCQUF1QjtBQUNuRCw4QkFBMEIsdUJBQXVCO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
32
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1leHByZXNzaW9ucy50cyJdLAogICJtYXBwaW5ncyI6ICJBQUNBLElBQUk7QUFDSixJQUFJO0FBQ0osSUFBSTtBQUVHLDJCQUFzQyxTQUFjO0FBQzFELE1BQUksV0FBVyxXQUFXO0FBQzFCLE1BQUksT0FBTyxLQUFLO0FBRWhCLE1BQUksdUJBQXVCLGNBQWM7QUFDekMsTUFBSSwwQkFBMEI7QUFDOUIsTUFBSSx3QkFBd0I7QUFFNUIsZUFBYSxPQUFZLE9BQVk7QUFFcEMsUUFBSSxLQUFLO0FBQVEsV0FBSyxPQUFPLEtBQUs7QUFBQTtBQUM3QixXQUFLLFNBQVMsQ0FBQztBQUFBO0FBQUE7QUFJdEIsdUNBQThDO0FBQzdDLE1BQUksQ0FBQyxlQUFlO0FBQ25CLFVBQU0seUJBQXlCLE1BQU0sT0FBTztBQUM1QyxvQkFBZ0IsdUJBQXVCO0FBQUE7QUFFeEMsTUFBSSxDQUFDLDZCQUE2QixDQUFDLHlCQUF5QjtBQUMzRCxVQUFNLHlCQUF5QixNQUFNLE9BQU87QUFDNUMsZ0NBQTRCLHVCQUF1QjtBQUNuRCw4QkFBMEIsdUJBQXVCO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -28,4 +28,4 @@ export {
28
28
  loadRemarkJsx,
29
29
  remarkJsx
30
30
  };
31
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1qc3gudHMiXSwKICAibWFwcGluZ3MiOiAiQUFDQSxJQUFJO0FBQ0osSUFBSTtBQUNKLElBQUk7QUFFRyxtQkFBOEIsU0FBYztBQUNqRCxNQUFJLFdBQVcsV0FBVztBQUMxQixNQUFJLE9BQU8sS0FBSztBQUdoQixNQUFJLDBCQUEwQjtBQUM5QixNQUFJLHdCQUF3QjtBQUU1QixlQUFhLE9BQVksT0FBWTtBQUVuQyxRQUFJLEtBQUs7QUFBUSxXQUFLLE9BQU8sS0FBSztBQUFBO0FBQzdCLFdBQUssU0FBUyxDQUFDO0FBQUE7QUFBQTtBQUl4QiwrQkFBc0M7QUFDcEMsTUFBSSxDQUFDLFFBQVE7QUFDWCxVQUFNLGtCQUFrQixNQUFNLE9BQU87QUFDckMsYUFBUyxnQkFBZ0I7QUFBQTtBQUUzQixNQUFJLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCO0FBQzVDLFVBQU0sa0JBQWtCLE1BQU0sT0FBTztBQUNyQyx5QkFBcUIsZ0JBQWdCO0FBQ3JDLHVCQUFtQixnQkFBZ0I7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
31
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1qc3gudHMiXSwKICAibWFwcGluZ3MiOiAiQUFDQSxJQUFJO0FBQ0osSUFBSTtBQUNKLElBQUk7QUFFRyxtQkFBOEIsU0FBYztBQUNsRCxNQUFJLFdBQVcsV0FBVztBQUMxQixNQUFJLE9BQU8sS0FBSztBQUdoQixNQUFJLDBCQUEwQjtBQUM5QixNQUFJLHdCQUF3QjtBQUU1QixlQUFhLE9BQVksT0FBWTtBQUVwQyxRQUFJLEtBQUs7QUFBUSxXQUFLLE9BQU8sS0FBSztBQUFBO0FBQzdCLFdBQUssU0FBUyxDQUFDO0FBQUE7QUFBQTtBQUl0QiwrQkFBc0M7QUFDckMsTUFBSSxDQUFDLFFBQVE7QUFDWixVQUFNLGtCQUFrQixNQUFNLE9BQU87QUFDckMsYUFBUyxnQkFBZ0I7QUFBQTtBQUUxQixNQUFJLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCO0FBQzdDLFVBQU0sa0JBQWtCLE1BQU0sT0FBTztBQUNyQyx5QkFBcUIsZ0JBQWdCO0FBQ3JDLHVCQUFtQixnQkFBZ0I7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -56,4 +56,4 @@ var remark_prism_default = plugin;
56
56
  export {
57
57
  remark_prism_default as default
58
58
  };
59
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1wcmlzbS50cyJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsUUFBUTtBQUV6QyxNQUFNLGNBQWMsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNO0FBRXBDLHdCQUF3QixNQUFjLE1BQWM7QUFDbEQsTUFBSSxnQkFBZ0IsWUFBWTtBQUVoQyxNQUFJLFFBQVEsTUFBTTtBQUNoQixXQUFPO0FBQUE7QUFHVCxRQUFNLGVBQWUsQ0FBQyxVQUFpQjtBQUNyQyxRQUFJLFNBQVEsQ0FBQyxNQUFNLFVBQVUsUUFBTztBQUNsQyxvQkFBYyxDQUFDO0FBQUE7QUFBQTtBQUluQixNQUFJLFlBQVksSUFBSSxPQUFPO0FBQ3pCLGlCQUFhLFlBQVksSUFBSTtBQUFBLGFBQ3BCLFNBQVMsU0FBUztBQUMzQixpQkFBYTtBQUNiLGFBQVM7QUFBQSxTQUNKO0FBQ0wsaUJBQWE7QUFDYixpQkFBYTtBQUFBO0FBR2YsTUFBSSxRQUFRLENBQUMsTUFBTSxVQUFVLE9BQU87QUFDbEMsWUFBUSxLQUFLLGdDQUFnQztBQUFBO0FBRy9DLFFBQU0sVUFBVSxNQUFNLFVBQVU7QUFDaEMsTUFBSSxPQUFPO0FBQ1gsTUFBSSxTQUFTO0FBQ1gsV0FBTyxNQUFNLFVBQVUsTUFBTSxTQUFTO0FBQUE7QUFHeEMsU0FBTyxFQUFFLGVBQWU7QUFBQTtBQU0xQixxQkFBcUIsV0FBd0I7QUFDM0MsU0FBTyxTQUFVLE1BQVc7QUFDMUIsVUFBTSxVQUFVLENBQUMsU0FBYztBQUM3QixVQUFJLEVBQUUsTUFBTSxVQUFVO0FBQ3RCLFdBQUssT0FBTztBQUVaLFVBQUksRUFBRSxNQUFNLGtCQUFrQixlQUFlLE1BQU07QUFDbkQsVUFBSSxVQUFVLENBQUM7QUFDZixVQUFJLFdBQVc7QUFDYixnQkFBUSxLQUFLO0FBQUE7QUFFZixXQUFLLFFBQVEsZUFBZSxRQUFRLEtBQUsscUNBQXFDLGtCQUFrQjtBQUNoRyxhQUFPO0FBQUE7QUFFVCxXQUFPLE1BQU0sTUFBTSxRQUFRO0FBQUE7QUFBQTtBQUkvQixnQkFBZ0IsV0FBd0I7QUFDdEMsU0FBTyxZQUFZLEtBQUssTUFBTTtBQUFBO0FBR2hDLElBQU8sdUJBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
59
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1wcmlzbS50cyJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsUUFBUTtBQUV6QyxNQUFNLGNBQWMsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNO0FBRXBDLHdCQUF3QixNQUFjLE1BQWM7QUFDbkQsTUFBSSxnQkFBZ0IsWUFBWTtBQUVoQyxNQUFJLFFBQVEsTUFBTTtBQUNqQixXQUFPO0FBQUE7QUFHUixRQUFNLGVBQWUsQ0FBQyxVQUFpQjtBQUN0QyxRQUFJLFNBQVEsQ0FBQyxNQUFNLFVBQVUsUUFBTztBQUNuQyxvQkFBYyxDQUFDO0FBQUE7QUFBQTtBQUlqQixNQUFJLFlBQVksSUFBSSxPQUFPO0FBQzFCLGlCQUFhLFlBQVksSUFBSTtBQUFBLGFBQ25CLFNBQVMsU0FBUztBQUM1QixpQkFBYTtBQUNiLGFBQVM7QUFBQSxTQUNIO0FBQ04saUJBQWE7QUFDYixpQkFBYTtBQUFBO0FBR2QsTUFBSSxRQUFRLENBQUMsTUFBTSxVQUFVLE9BQU87QUFDbkMsWUFBUSxLQUFLLGdDQUFnQztBQUFBO0FBRzlDLFFBQU0sVUFBVSxNQUFNLFVBQVU7QUFDaEMsTUFBSSxPQUFPO0FBQ1gsTUFBSSxTQUFTO0FBQ1osV0FBTyxNQUFNLFVBQVUsTUFBTSxTQUFTO0FBQUE7QUFHdkMsU0FBTyxFQUFFLGVBQWU7QUFBQTtBQU16QixxQkFBcUIsV0FBd0I7QUFDNUMsU0FBTyxTQUFVLE1BQVc7QUFDM0IsVUFBTSxVQUFVLENBQUMsU0FBYztBQUM5QixVQUFJLEVBQUUsTUFBTSxVQUFVO0FBQ3RCLFdBQUssT0FBTztBQUVaLFVBQUksRUFBRSxNQUFNLGtCQUFrQixlQUFlLE1BQU07QUFDbkQsVUFBSSxVQUFVLENBQUM7QUFDZixVQUFJLFdBQVc7QUFDZCxnQkFBUSxLQUFLO0FBQUE7QUFFZCxXQUFLLFFBQVEsZUFBZSxRQUFRLEtBQUsscUNBQXFDLGtCQUFrQjtBQUNoRyxhQUFPO0FBQUE7QUFFUixXQUFPLE1BQU0sTUFBTSxRQUFRO0FBQUE7QUFBQTtBQUk3QixnQkFBZ0IsV0FBd0I7QUFDdkMsU0FBTyxZQUFZLEtBQUssTUFBTTtBQUFBO0FBRy9CLElBQU8sdUJBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -17,4 +17,4 @@ function scopedStyles(className) {
17
17
  export {
18
18
  scopedStyles as default
19
19
  };
20
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1zY29wZWQtc3R5bGVzLnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFDQSxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxRQUFRO0FBRzFCLHNCQUFzQixXQUFtQjtBQUN0RCxRQUFNLFVBQVUsQ0FBQyxTQUFjO0FBTGpDO0FBTUksUUFBSSxRQUFRLElBQUksS0FBSztBQUFPO0FBRTVCLFVBQU0sRUFBRSxTQUFTO0FBQ2pCLFFBQUksbUJBQW1CLHlDQUFNLGdCQUFOLG1CQUFtQixVQUFuQixZQUE0QjtBQUNuRCxTQUFLLE9BQU8sS0FBSyxRQUFRO0FBQ3pCLFNBQUssS0FBSyxjQUFjLEtBQUssS0FBSyxlQUFlO0FBQ2pELFNBQUssS0FBSyxZQUFZLFFBQVEsR0FBRyxhQUFhLG1CQUFtQjtBQUVqRSxXQUFPO0FBQUE7QUFFVCxTQUFPLE1BQU0sQ0FBQyxTQUFjLE1BQU0sTUFBTTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
20
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1zY29wZWQtc3R5bGVzLnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFDQSxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxRQUFRO0FBRzFCLHNCQUFzQixXQUFtQjtBQUN2RCxRQUFNLFVBQVUsQ0FBQyxTQUFjO0FBTGhDO0FBTUUsUUFBSSxRQUFRLElBQUksS0FBSztBQUFPO0FBRTVCLFVBQU0sRUFBRSxTQUFTO0FBQ2pCLFFBQUksbUJBQW1CLHlDQUFNLGdCQUFOLG1CQUFtQixVQUFuQixZQUE0QjtBQUNuRCxTQUFLLE9BQU8sS0FBSyxRQUFRO0FBQ3pCLFNBQUssS0FBSyxjQUFjLEtBQUssS0FBSyxlQUFlO0FBQ2pELFNBQUssS0FBSyxZQUFZLFFBQVEsR0FBRyxhQUFhLG1CQUFtQjtBQUVqRSxXQUFPO0FBQUE7QUFFUixTQUFPLE1BQU0sQ0FBQyxTQUFjLE1BQU0sTUFBTTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -21,4 +21,4 @@ function remarkSlug() {
21
21
  export {
22
22
  remarkSlug as default
23
23
  };
24
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1zbHVnLnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBS0E7QUFDQTtBQUNBO0FBRUEsTUFBTSxRQUFRLElBQUk7QUFPSCxzQkFBc0I7QUFDbkMsU0FBTyxDQUFDLFNBQWM7QUFDcEIsVUFBTTtBQUNOLFVBQU0sTUFBTSxDQUFDLFNBQVM7QUFDcEIsY0FBUSxJQUFJO0FBQUE7QUFFZCxVQUFNLE1BQU0sV0FBVyxDQUFDLFNBQVM7QUFDL0IsWUFBTSxPQUFPLEtBQUssUUFBUyxNQUFLLE9BQU87QUFDdkMsWUFBTSxRQUFrQyxLQUFLLGVBQWdCLE1BQUssY0FBYztBQUNoRixVQUFJLEtBQUssTUFBTTtBQUNmLFdBQUssS0FBSyxNQUFNLEtBQUssT0FBTyxLQUFLLFFBQVEsTUFBTSxLQUFLLFNBQVM7QUFDN0QsV0FBSyxLQUFLO0FBQ1YsWUFBTSxLQUFLO0FBQUE7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
24
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1zbHVnLnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBS0E7QUFDQTtBQUNBO0FBRUEsTUFBTSxRQUFRLElBQUk7QUFPSCxzQkFBc0I7QUFDcEMsU0FBTyxDQUFDLFNBQWM7QUFDckIsVUFBTTtBQUNOLFVBQU0sTUFBTSxDQUFDLFNBQVM7QUFDckIsY0FBUSxJQUFJO0FBQUE7QUFFYixVQUFNLE1BQU0sV0FBVyxDQUFDLFNBQVM7QUFDaEMsWUFBTSxPQUFPLEtBQUssUUFBUyxNQUFLLE9BQU87QUFDdkMsWUFBTSxRQUFrQyxLQUFLLGVBQWdCLE1BQUssY0FBYztBQUNoRixVQUFJLEtBQUssTUFBTTtBQUNmLFdBQUssS0FBSyxNQUFNLEtBQUssT0FBTyxLQUFLLFFBQVEsTUFBTSxLQUFLLFNBQVM7QUFDN0QsV0FBSyxLQUFLO0FBQ1YsWUFBTSxLQUFLO0FBQUE7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,4 +1,5 @@
1
- import { visit, SKIP } from "unist-util-visit";
1
+ import { visit as _visit, SKIP } from "unist-util-visit";
2
+ const visit = _visit;
2
3
  function remarkUnwrap() {
3
4
  const astroRootNodes = new Set();
4
5
  let insideAstroRoot = false;
@@ -28,4 +29,4 @@ function remarkUnwrap() {
28
29
  export {
29
30
  remarkUnwrap as default
30
31
  };
31
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay11bndyYXAudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUdlLHdCQUF3QjtBQUNyQyxRQUFNLGlCQUFpQixJQUFJO0FBQzNCLE1BQUksa0JBQWtCO0FBRXRCLFNBQU8sQ0FBQyxTQUFjO0FBRXBCLHNCQUFrQjtBQUNsQixtQkFBZTtBQUVmLFVBQU0sTUFBTSxRQUFRLENBQUMsU0FBUztBQUM1QixVQUFJLEtBQUssTUFBTSxRQUFRLGlCQUFpQixNQUFNLENBQUMsaUJBQWlCO0FBQzlELDBCQUFrQjtBQUFBO0FBRXBCLFVBQUksS0FBSyxNQUFNLFFBQVEsa0JBQWtCLE1BQU0saUJBQWlCO0FBQzlELDBCQUFrQjtBQUFBO0FBRXBCLHFCQUFlLElBQUk7QUFBQTtBQUdyQixVQUFNLE1BQU0sYUFBYSxDQUFDLE1BQU0sT0FBTyxXQUFXO0FBQ2hELFVBQUksVUFBVSxPQUFPLFVBQVUsWUFBWSxzQkFBc0IsT0FBTztBQUN0RSxlQUFPLFNBQVMsT0FBTyxPQUFPLEdBQUcsR0FBRyxLQUFLO0FBQ3pDLGVBQU8sQ0FBQyxNQUFNO0FBQUE7QUFBQTtBQUFBO0FBS3BCLGlDQUErQixNQUFXO0FBQ3hDLFdBQU8sS0FBSyxTQUFTLElBQUksQ0FBQyxVQUFlLGVBQWUsSUFBSSxRQUFRLE9BQU8sQ0FBQyxLQUFjLE1BQWdCLE1BQU0sTUFBTSxHQUFJO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
32
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay11bndyYXAudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUlBLE1BQU0sUUFBUTtBQUdDLHdCQUF3QjtBQUN0QyxRQUFNLGlCQUFpQixJQUFJO0FBQzNCLE1BQUksa0JBQWtCO0FBRXRCLFNBQU8sQ0FBQyxTQUFjO0FBRXJCLHNCQUFrQjtBQUNsQixtQkFBZTtBQUVmLFVBQU0sTUFBTSxRQUFRLENBQUMsU0FBUztBQUM3QixVQUFJLEtBQUssTUFBTSxRQUFRLGlCQUFpQixNQUFNLENBQUMsaUJBQWlCO0FBQy9ELDBCQUFrQjtBQUFBO0FBRW5CLFVBQUksS0FBSyxNQUFNLFFBQVEsa0JBQWtCLE1BQU0saUJBQWlCO0FBQy9ELDBCQUFrQjtBQUFBO0FBRW5CLHFCQUFlLElBQUk7QUFBQTtBQUdwQixVQUFNLE1BQU0sYUFBYSxDQUFDLE1BQU0sT0FBTyxXQUFXO0FBQ2pELFVBQUksVUFBVSxPQUFPLFVBQVUsWUFBWSxzQkFBc0IsT0FBTztBQUN2RSxlQUFPLFNBQVMsT0FBTyxPQUFPLEdBQUcsR0FBRyxLQUFLO0FBQ3pDLGVBQU8sQ0FBQyxNQUFNO0FBQUE7QUFBQTtBQUFBO0FBS2pCLGlDQUErQixNQUFXO0FBQ3pDLFdBQU8sS0FBSyxTQUFTLElBQUksQ0FBQyxVQUFlLGVBQWUsSUFBSSxRQUFRLE9BQU8sQ0FBQyxLQUFjLE1BQWdCLE1BQU0sTUFBTSxHQUFJO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
package/package.json CHANGED
@@ -1,13 +1,17 @@
1
1
  {
2
2
  "name": "@astrojs/markdown-remark",
3
- "version": "0.5.0",
4
- "main": "./dist/index.js",
3
+ "version": "0.6.0",
5
4
  "type": "module",
5
+ "author": "withastro",
6
+ "license": "MIT",
6
7
  "repository": {
7
8
  "type": "git",
8
- "url": "https://github.com/snowpackjs/astro.git",
9
+ "url": "https://github.com/withastro/astro.git",
9
10
  "directory": "packages/markdown/remark"
10
11
  },
12
+ "bugs": "https://github.com/withastro/astro/issues",
13
+ "homepage": "https://astro.build",
14
+ "main": "./dist/index.js",
11
15
  "exports": {
12
16
  ".": "./dist/index.js"
13
17
  },
@@ -18,7 +22,7 @@
18
22
  "dev": "astro-scripts dev \"src/**/*.ts\""
19
23
  },
20
24
  "dependencies": {
21
- "@astrojs/prism": "^0.3.0",
25
+ "@astrojs/prism": "^0.4.0",
22
26
  "assert": "^2.0.0",
23
27
  "github-slugger": "^1.4.0",
24
28
  "gray-matter": "^4.0.3",
package/src/index.ts CHANGED
@@ -23,9 +23,9 @@ export { AstroMarkdownOptions, MarkdownRenderingOptions };
23
23
 
24
24
  /** Internal utility for rendering a full markdown file and extracting Frontmatter data */
25
25
  export async function renderMarkdownWithFrontmatter(contents: string, opts?: MarkdownRenderingOptions | null) {
26
- const { data: frontmatter, content } = matter(contents);
27
- const value = await renderMarkdown(content, opts);
28
- return { ...value, frontmatter };
26
+ const { data: frontmatter, content } = matter(contents);
27
+ const value = await renderMarkdown(content, opts);
28
+ return { ...value, frontmatter };
29
29
  }
30
30
 
31
31
  export const DEFAULT_REMARK_PLUGINS = ['remark-gfm', 'remark-smartypants'];
@@ -34,63 +34,63 @@ export const DEFAULT_REHYPE_PLUGINS = ['rehype-slug'];
34
34
 
35
35
  /** Shared utility for rendering markdown */
36
36
  export async function renderMarkdown(content: string, opts?: MarkdownRenderingOptions | null) {
37
- let { remarkPlugins = [], rehypePlugins = [] } = opts ?? {};
38
- const scopedClassName = opts?.$?.scopedClassName;
39
- const mode = opts?.mode ?? 'mdx';
40
- const isMDX = mode === 'mdx';
41
- const { headers, rehypeCollectHeaders } = createCollectHeaders();
42
-
43
- await Promise.all([loadRemarkExpressions(), loadRemarkJsx()]); // Vite bug: dynamically import() these because of CJS interop (this will cache)
44
-
45
- let parser = unified()
46
- .use(markdown)
47
- .use(isMDX ? [remarkJsx] : [])
48
- .use(isMDX ? [remarkExpressions] : [])
49
- .use([remarkUnwrap]);
50
-
51
- if (remarkPlugins.length === 0 && rehypePlugins.length === 0) {
52
- remarkPlugins = [...DEFAULT_REMARK_PLUGINS];
53
- rehypePlugins = [...DEFAULT_REHYPE_PLUGINS];
54
- }
55
-
56
- const loadedRemarkPlugins = await Promise.all(loadPlugins(remarkPlugins));
57
- const loadedRehypePlugins = await Promise.all(loadPlugins(rehypePlugins));
58
-
59
- loadedRemarkPlugins.forEach(([plugin, opts]) => {
60
- parser.use([[plugin, opts]]);
61
- });
62
-
63
- if (scopedClassName) {
64
- parser.use([scopedStyles(scopedClassName)]);
65
- }
66
-
67
- parser.use([remarkPrism(scopedClassName)]);
68
- parser.use([[markdownToHtml as any, { allowDangerousHtml: true, passThrough: ['raw', 'mdxTextExpression', 'mdxJsxTextElement', 'mdxJsxFlowElement'] }]]);
69
-
70
- loadedRehypePlugins.forEach(([plugin, opts]) => {
71
- parser.use([[plugin, opts]]);
72
- });
73
-
74
- parser
75
- .use(isMDX ? [rehypeJsx] : [])
76
- .use(isMDX ? [rehypeExpressions] : [])
77
- .use(isMDX ? [] : [rehypeRaw])
78
- .use(isMDX ? [rehypeEscape] : [])
79
- .use(rehypeIslands);
80
-
81
- let result: string;
82
- try {
83
- const vfile = await parser.use([rehypeCollectHeaders]).use(rehypeStringify, { allowDangerousHtml: true }).process(content);
84
- result = vfile.toString();
85
- } catch (err) {
86
- console.error(err);
87
- throw err;
88
- }
89
-
90
- return {
91
- metadata: { headers, source: content, html: result.toString() },
92
- code: result.toString(),
93
- };
37
+ let { remarkPlugins = [], rehypePlugins = [] } = opts ?? {};
38
+ const scopedClassName = opts?.$?.scopedClassName;
39
+ const mode = opts?.mode ?? 'mdx';
40
+ const isMDX = mode === 'mdx';
41
+ const { headers, rehypeCollectHeaders } = createCollectHeaders();
42
+
43
+ await Promise.all([loadRemarkExpressions(), loadRemarkJsx()]); // Vite bug: dynamically import() these because of CJS interop (this will cache)
44
+
45
+ let parser = unified()
46
+ .use(markdown)
47
+ .use(isMDX ? [remarkJsx] : [])
48
+ .use(isMDX ? [remarkExpressions] : [])
49
+ .use([remarkUnwrap]);
50
+
51
+ if (remarkPlugins.length === 0 && rehypePlugins.length === 0) {
52
+ remarkPlugins = [...DEFAULT_REMARK_PLUGINS];
53
+ rehypePlugins = [...DEFAULT_REHYPE_PLUGINS];
54
+ }
55
+
56
+ const loadedRemarkPlugins = await Promise.all(loadPlugins(remarkPlugins));
57
+ const loadedRehypePlugins = await Promise.all(loadPlugins(rehypePlugins));
58
+
59
+ loadedRemarkPlugins.forEach(([plugin, opts]) => {
60
+ parser.use([[plugin, opts]]);
61
+ });
62
+
63
+ if (scopedClassName) {
64
+ parser.use([scopedStyles(scopedClassName)]);
65
+ }
66
+
67
+ parser.use([remarkPrism(scopedClassName)]);
68
+ parser.use([[markdownToHtml as any, { allowDangerousHtml: true, passThrough: ['raw', 'mdxTextExpression', 'mdxJsxTextElement', 'mdxJsxFlowElement'] }]]);
69
+
70
+ loadedRehypePlugins.forEach(([plugin, opts]) => {
71
+ parser.use([[plugin, opts]]);
72
+ });
73
+
74
+ parser
75
+ .use(isMDX ? [rehypeJsx] : [])
76
+ .use(isMDX ? [rehypeExpressions] : [])
77
+ .use(isMDX ? [] : [rehypeRaw])
78
+ .use(isMDX ? [rehypeEscape] : [])
79
+ .use(rehypeIslands);
80
+
81
+ let result: string;
82
+ try {
83
+ const vfile = await parser.use([rehypeCollectHeaders]).use(rehypeStringify, { allowDangerousHtml: true }).process(content);
84
+ result = vfile.toString();
85
+ } catch (err) {
86
+ console.error(err);
87
+ throw err;
88
+ }
89
+
90
+ return {
91
+ metadata: { headers, source: content, html: result.toString() },
92
+ code: result.toString(),
93
+ };
94
94
  }
95
95
 
96
96
  export default renderMarkdownWithFrontmatter;
@@ -2,26 +2,26 @@ import * as unified from 'unified';
2
2
  import type { Plugin, UnifiedPluginImport } from './types';
3
3
 
4
4
  async function importPlugin(p: string | UnifiedPluginImport): UnifiedPluginImport {
5
- if (typeof p === 'string') {
6
- return await import(p);
7
- }
5
+ if (typeof p === 'string') {
6
+ return await import(p);
7
+ }
8
8
 
9
- return await p;
9
+ return await p;
10
10
  }
11
11
 
12
12
  export function loadPlugins(items: Plugin[]): Promise<[unified.Plugin] | [unified.Plugin, any]>[] {
13
- return items.map((p) => {
14
- return new Promise((resolve, reject) => {
15
- if (Array.isArray(p)) {
16
- const [plugin, opts] = p;
17
- return importPlugin(plugin)
18
- .then((m) => resolve([m.default, opts]))
19
- .catch((e) => reject(e));
20
- }
13
+ return items.map((p) => {
14
+ return new Promise((resolve, reject) => {
15
+ if (Array.isArray(p)) {
16
+ const [plugin, opts] = p;
17
+ return importPlugin(plugin)
18
+ .then((m) => resolve([m.default, opts]))
19
+ .catch((e) => reject(e));
20
+ }
21
21
 
22
- return importPlugin(p)
23
- .then((m) => resolve([m.default]))
24
- .catch((e) => reject(e));
25
- });
26
- });
22
+ return importPlugin(p)
23
+ .then((m) => resolve([m.default]))
24
+ .catch((e) => reject(e));
25
+ });
26
+ });
27
27
  }
@@ -4,35 +4,35 @@ import slugger from 'github-slugger';
4
4
 
5
5
  /** */
6
6
  export default function createCollectHeaders() {
7
- const headers: any[] = [];
7
+ const headers: any[] = [];
8
8
 
9
- function rehypeCollectHeaders() {
10
- return function (tree: Root) {
11
- visit(tree, (node) => {
12
- if (node.type !== 'element') return;
13
- const { tagName } = node;
14
- if (tagName[0] !== 'h') return;
15
- const [_, level] = tagName.match(/h([0-6])/) ?? [];
16
- if (!level) return;
17
- const depth = Number.parseInt(level);
9
+ function rehypeCollectHeaders() {
10
+ return function (tree: Root) {
11
+ visit(tree, (node) => {
12
+ if (node.type !== 'element') return;
13
+ const { tagName } = node;
14
+ if (tagName[0] !== 'h') return;
15
+ const [_, level] = tagName.match(/h([0-6])/) ?? [];
16
+ if (!level) return;
17
+ const depth = Number.parseInt(level);
18
18
 
19
- let text = '';
19
+ let text = '';
20
20
 
21
- visit(node, 'text', (child) => {
22
- text += child.value;
23
- });
21
+ visit(node, 'text', (child) => {
22
+ text += child.value;
23
+ });
24
24
 
25
- let slug = node?.properties?.id || slugger.slug(text);
25
+ let slug = node?.properties?.id || slugger.slug(text);
26
26
 
27
- node.properties = node.properties || {};
28
- node.properties.id = slug;
29
- headers.push({ depth, slug, text });
30
- });
31
- };
32
- }
27
+ node.properties = node.properties || {};
28
+ node.properties.id = slug;
29
+ headers.push({ depth, slug, text });
30
+ });
31
+ };
32
+ }
33
33
 
34
- return {
35
- headers,
36
- rehypeCollectHeaders,
37
- };
34
+ return {
35
+ headers,
36
+ rehypeCollectHeaders,
37
+ };
38
38
  }
@@ -1,12 +1,12 @@
1
1
  import { SKIP, visit } from 'unist-util-visit';
2
2
 
3
3
  export default function rehypeEscape(): any {
4
- return function (node: any): any {
5
- return visit(node, 'element', (el) => {
6
- if (el.tagName === 'code' || el.tagName === 'pre') {
7
- el.properties['data-astro-raw'] = true;
8
- }
9
- return el;
10
- });
11
- };
4
+ return function (node: any): any {
5
+ return visit(node, 'element', (el) => {
6
+ if (el.tagName === 'code' || el.tagName === 'pre') {
7
+ el.properties['data-astro-raw'] = true;
8
+ }
9
+ return el;
10
+ });
11
+ };
12
12
  }
@@ -1,12 +1,12 @@
1
1
  import { map } from 'unist-util-map';
2
2
 
3
3
  export default function rehypeExpressions(): any {
4
- return function (node: any): any {
5
- return map(node, (child) => {
6
- if (child.type === 'mdxTextExpression') {
7
- return { type: 'text', value: `{${(child as any).value}}` };
8
- }
9
- return child;
10
- });
11
- };
4
+ return function (node: any): any {
5
+ return map(node, (child) => {
6
+ if (child.type === 'mdxTextExpression') {
7
+ return { type: 'text', value: `{${(child as any).value}}` };
8
+ }
9
+ return child;
10
+ });
11
+ };
12
12
  }
@@ -1,31 +1,35 @@
1
- import { SKIP, visit } from 'unist-util-visit';
1
+ import { SKIP, visit as _visit } from 'unist-util-visit';
2
+
3
+ // This is a workaround.
4
+ // It fixes a compatibility issue between different, incompatible ASTs given by plugins to Unist
5
+ const visit = _visit as (node: any, type: string, callback?: (node: any, index: number, parent: any) => any) => any;
2
6
 
3
7
  // This fixes some confusing bugs coming from somewhere inside of our Markdown pipeline.
4
8
  // `unist`/`remark`/`rehype` (not sure) often generate malformed HTML inside of <astro-root>
5
9
  // For hydration to work properly, frameworks need the DOM to be the exact same on server/client.
6
10
  // This reverts some "helpful corrections" that are applied to our perfectly valid HTML!
7
11
  export default function rehypeIslands(): any {
8
- return function (node: any): any {
9
- return visit(node, 'element', (el) => {
10
- // Bugs only happen inside of <astro-root> islands
11
- if (el.tagName == 'astro-root') {
12
- visit(el, 'text', (child, index, parent) => {
13
- if (child.type === 'text') {
14
- // Sometimes comments can be trapped as text, which causes them to be escaped
15
- // This casts them back to real HTML comments
16
- if (parent && child.value.indexOf('<!--') > -1 && index != null) {
17
- parent.children.splice(index, 1, { ...child, type: 'comment', value: child.value.replace('<!--', '').replace('-->', '').trim() });
18
- return [SKIP, index];
19
- }
20
- // For some reason `rehype` likes to inject extra linebreaks,
21
- // but React and Vue throw hydration errors when they see these!
22
- // This removes any extra linebreaks, which is fine because
23
- // framework compilers don't preserve them anyway
24
- child.value = child.value.replace(/\n+/g, '');
25
- return child;
26
- }
27
- });
28
- }
29
- });
30
- };
12
+ return function (node: any): any {
13
+ return visit(node, 'element', (el) => {
14
+ // Bugs only happen inside of <astro-root> islands
15
+ if (el.tagName == 'astro-root') {
16
+ visit(el, 'text', (child, index, parent) => {
17
+ if (child.type === 'text') {
18
+ // Sometimes comments can be trapped as text, which causes them to be escaped
19
+ // This casts them back to real HTML comments
20
+ if (parent && child.value.indexOf('<!--') > -1 && index != null) {
21
+ parent.children.splice(index, 1, { ...child, type: 'comment', value: child.value.replace('<!--', '').replace('-->', '').trim() });
22
+ return [SKIP, index];
23
+ }
24
+ // For some reason `rehype` likes to inject extra linebreaks,
25
+ // but React and Vue throw hydration errors when they see these!
26
+ // This removes any extra linebreaks, which is fine because
27
+ // framework compilers don't preserve them anyway
28
+ child.value = child.value.replace(/\n+/g, '');
29
+ return child;
30
+ }
31
+ });
32
+ }
33
+ });
34
+ };
31
35
  }
package/src/rehype-jsx.ts CHANGED
@@ -2,28 +2,28 @@ import { map } from 'unist-util-map';
2
2
 
3
3
  const MDX_ELEMENTS = new Set(['mdxJsxFlowElement', 'mdxJsxTextElement']);
4
4
  export default function rehypeJsx(): any {
5
- return function (node: any): any {
6
- return map(node, (child: any) => {
7
- if (child.type === 'element') {
8
- return { ...child, tagName: `${child.tagName}` };
9
- }
10
- if (MDX_ELEMENTS.has(child.type)) {
11
- return {
12
- ...child,
13
- type: 'element',
14
- tagName: `${child.name}`,
15
- properties: child.attributes.reduce((acc: any[], entry: any) => {
16
- let attr = entry.value;
17
- if (attr && typeof attr === 'object') {
18
- attr = `{${attr.value}}`;
19
- } else if (attr === null) {
20
- attr = `{true}`;
21
- }
22
- return Object.assign(acc, { [entry.name]: attr });
23
- }, {}),
24
- };
25
- }
26
- return child;
27
- });
28
- };
5
+ return function (node: any): any {
6
+ return map(node, (child: any) => {
7
+ if (child.type === 'element') {
8
+ return { ...child, tagName: `${child.tagName}` };
9
+ }
10
+ if (MDX_ELEMENTS.has(child.type)) {
11
+ return {
12
+ ...child,
13
+ type: 'element',
14
+ tagName: `${child.name}`,
15
+ properties: child.attributes.reduce((acc: any[], entry: any) => {
16
+ let attr = entry.value;
17
+ if (attr && typeof attr === 'object') {
18
+ attr = `{${attr.value}}`;
19
+ } else if (attr === null) {
20
+ attr = `{true}`;
21
+ }
22
+ return Object.assign(acc, { [entry.name]: attr });
23
+ }, {}),
24
+ };
25
+ }
26
+ return child;
27
+ });
28
+ };
29
29
  }
@@ -4,28 +4,28 @@ let mdxExpressionFromMarkdown: any;
4
4
  let mdxExpressionToMarkdown: any;
5
5
 
6
6
  export function remarkExpressions(this: any, options: any) {
7
- let settings = options || {};
8
- let data = this.data();
7
+ let settings = options || {};
8
+ let data = this.data();
9
9
 
10
- add('micromarkExtensions', mdxExpression({}));
11
- add('fromMarkdownExtensions', mdxExpressionFromMarkdown);
12
- add('toMarkdownExtensions', mdxExpressionToMarkdown);
10
+ add('micromarkExtensions', mdxExpression({}));
11
+ add('fromMarkdownExtensions', mdxExpressionFromMarkdown);
12
+ add('toMarkdownExtensions', mdxExpressionToMarkdown);
13
13
 
14
- function add(field: any, value: any) {
15
- /* istanbul ignore if - other extensions. */
16
- if (data[field]) data[field].push(value);
17
- else data[field] = [value];
18
- }
14
+ function add(field: any, value: any) {
15
+ /* istanbul ignore if - other extensions. */
16
+ if (data[field]) data[field].push(value);
17
+ else data[field] = [value];
18
+ }
19
19
  }
20
20
 
21
21
  export async function loadRemarkExpressions() {
22
- if (!mdxExpression) {
23
- const micromarkMdxExpression = await import('micromark-extension-mdx-expression');
24
- mdxExpression = micromarkMdxExpression.mdxExpression;
25
- }
26
- if (!mdxExpressionFromMarkdown || !mdxExpressionToMarkdown) {
27
- const mdastUtilMdxExpression = await import('mdast-util-mdx-expression');
28
- mdxExpressionFromMarkdown = mdastUtilMdxExpression.mdxExpressionFromMarkdown;
29
- mdxExpressionToMarkdown = mdastUtilMdxExpression.mdxExpressionToMarkdown;
30
- }
22
+ if (!mdxExpression) {
23
+ const micromarkMdxExpression = await import('micromark-extension-mdx-expression');
24
+ mdxExpression = micromarkMdxExpression.mdxExpression;
25
+ }
26
+ if (!mdxExpressionFromMarkdown || !mdxExpressionToMarkdown) {
27
+ const mdastUtilMdxExpression = await import('mdast-util-mdx-expression');
28
+ mdxExpressionFromMarkdown = mdastUtilMdxExpression.mdxExpressionFromMarkdown;
29
+ mdxExpressionToMarkdown = mdastUtilMdxExpression.mdxExpressionToMarkdown;
30
+ }
31
31
  }
package/src/remark-jsx.ts CHANGED
@@ -4,28 +4,28 @@ let mdxJsxFromMarkdown: any;
4
4
  let mdxJsxToMarkdown: any;
5
5
 
6
6
  export function remarkJsx(this: any, options: any) {
7
- let settings = options || {};
8
- let data = this.data();
7
+ let settings = options || {};
8
+ let data = this.data();
9
9
 
10
- // TODO this seems to break adding slugs, no idea why add('micromarkExtensions', mdxJsx({}));
11
- add('fromMarkdownExtensions', mdxJsxFromMarkdown);
12
- add('toMarkdownExtensions', mdxJsxToMarkdown);
10
+ // TODO this seems to break adding slugs, no idea why add('micromarkExtensions', mdxJsx({}));
11
+ add('fromMarkdownExtensions', mdxJsxFromMarkdown);
12
+ add('toMarkdownExtensions', mdxJsxToMarkdown);
13
13
 
14
- function add(field: any, value: any) {
15
- /* istanbul ignore if - other extensions. */
16
- if (data[field]) data[field].push(value);
17
- else data[field] = [value];
18
- }
14
+ function add(field: any, value: any) {
15
+ /* istanbul ignore if - other extensions. */
16
+ if (data[field]) data[field].push(value);
17
+ else data[field] = [value];
18
+ }
19
19
  }
20
20
 
21
21
  export async function loadRemarkJsx() {
22
- if (!mdxJsx) {
23
- const micromarkMdxJsx = await import('micromark-extension-mdx-jsx');
24
- mdxJsx = micromarkMdxJsx.mdxJsx;
25
- }
26
- if (!mdxJsxFromMarkdown || !mdxJsxToMarkdown) {
27
- const mdastUtilMdxJsx = await import('mdast-util-mdx-jsx');
28
- mdxJsxFromMarkdown = mdastUtilMdxJsx.mdxJsxFromMarkdown;
29
- mdxJsxToMarkdown = mdastUtilMdxJsx.mdxJsxToMarkdown;
30
- }
22
+ if (!mdxJsx) {
23
+ const micromarkMdxJsx = await import('micromark-extension-mdx-jsx');
24
+ mdxJsx = micromarkMdxJsx.mdxJsx;
25
+ }
26
+ if (!mdxJsxFromMarkdown || !mdxJsxToMarkdown) {
27
+ const mdastUtilMdxJsx = await import('mdast-util-mdx-jsx');
28
+ mdxJsxFromMarkdown = mdastUtilMdxJsx.mdxJsxFromMarkdown;
29
+ mdxJsxToMarkdown = mdastUtilMdxJsx.mdxJsxToMarkdown;
30
+ }
31
31
  }
@@ -7,64 +7,64 @@ const noVisit = new Set(['root', 'html', 'text']);
7
7
  const languageMap = new Map([['ts', 'typescript']]);
8
8
 
9
9
  function runHighlighter(lang: string, code: string) {
10
- let classLanguage = `language-${lang}`;
10
+ let classLanguage = `language-${lang}`;
11
11
 
12
- if (lang == null) {
13
- lang = 'plaintext';
14
- }
12
+ if (lang == null) {
13
+ lang = 'plaintext';
14
+ }
15
15
 
16
- const ensureLoaded = (lang: string) => {
17
- if (lang && !Prism.languages[lang]) {
18
- loadLanguages([lang]);
19
- }
20
- };
16
+ const ensureLoaded = (lang: string) => {
17
+ if (lang && !Prism.languages[lang]) {
18
+ loadLanguages([lang]);
19
+ }
20
+ };
21
21
 
22
- if (languageMap.has(lang)) {
23
- ensureLoaded(languageMap.get(lang)!);
24
- } else if (lang === 'astro') {
25
- ensureLoaded('typescript');
26
- addAstro(Prism);
27
- } else {
28
- ensureLoaded('markup-templating'); // Prism expects this to exist for a number of other langs
29
- ensureLoaded(lang);
30
- }
22
+ if (languageMap.has(lang)) {
23
+ ensureLoaded(languageMap.get(lang)!);
24
+ } else if (lang === 'astro') {
25
+ ensureLoaded('typescript');
26
+ addAstro(Prism);
27
+ } else {
28
+ ensureLoaded('markup-templating'); // Prism expects this to exist for a number of other langs
29
+ ensureLoaded(lang);
30
+ }
31
31
 
32
- if (lang && !Prism.languages[lang]) {
33
- console.warn(`Unable to load the language: ${lang}`);
34
- }
32
+ if (lang && !Prism.languages[lang]) {
33
+ console.warn(`Unable to load the language: ${lang}`);
34
+ }
35
35
 
36
- const grammar = Prism.languages[lang];
37
- let html = code;
38
- if (grammar) {
39
- html = Prism.highlight(code, grammar, lang);
40
- }
36
+ const grammar = Prism.languages[lang];
37
+ let html = code;
38
+ if (grammar) {
39
+ html = Prism.highlight(code, grammar, lang);
40
+ }
41
41
 
42
- return { classLanguage, html };
42
+ return { classLanguage, html };
43
43
  }
44
44
 
45
45
  type MaybeString = string | null | undefined;
46
46
 
47
47
  /** */
48
48
  function transformer(className: MaybeString) {
49
- return function (tree: any) {
50
- const visitor = (node: any) => {
51
- let { lang, value } = node;
52
- node.type = 'html';
49
+ return function (tree: any) {
50
+ const visitor = (node: any) => {
51
+ let { lang, value } = node;
52
+ node.type = 'html';
53
53
 
54
- let { html, classLanguage } = runHighlighter(lang, value);
55
- let classes = [classLanguage];
56
- if (className) {
57
- classes.push(className);
58
- }
59
- node.value = `<pre class="${classes.join(' ')}"><code data-astro-raw class="${classLanguage}">${html}</code></pre>`;
60
- return node;
61
- };
62
- return visit(tree, 'code', visitor);
63
- };
54
+ let { html, classLanguage } = runHighlighter(lang, value);
55
+ let classes = [classLanguage];
56
+ if (className) {
57
+ classes.push(className);
58
+ }
59
+ node.value = `<pre class="${classes.join(' ')}"><code data-astro-raw class="${classLanguage}">${html}</code></pre>`;
60
+ return node;
61
+ };
62
+ return visit(tree, 'code', visitor);
63
+ };
64
64
  }
65
65
 
66
66
  function plugin(className: MaybeString) {
67
- return transformer.bind(null, className);
67
+ return transformer.bind(null, className);
68
68
  }
69
69
 
70
70
  export default plugin;
@@ -3,16 +3,16 @@ const noVisit = new Set(['root', 'html', 'text']);
3
3
 
4
4
  /** */
5
5
  export default function scopedStyles(className: string) {
6
- const visitor = (node: any) => {
7
- if (noVisit.has(node.type)) return;
6
+ const visitor = (node: any) => {
7
+ if (noVisit.has(node.type)) return;
8
8
 
9
- const { data } = node;
10
- let currentClassName = data?.hProperties?.class ?? '';
11
- node.data = node.data || {};
12
- node.data.hProperties = node.data.hProperties || {};
13
- node.data.hProperties.class = `${className} ${currentClassName}`.trim();
9
+ const { data } = node;
10
+ let currentClassName = data?.hProperties?.class ?? '';
11
+ node.data = node.data || {};
12
+ node.data.hProperties = node.data.hProperties || {};
13
+ node.data.hProperties.class = `${className} ${currentClassName}`.trim();
14
14
 
15
- return node;
16
- };
17
- return () => (tree: any) => visit(tree, visitor);
15
+ return node;
16
+ };
17
+ return () => (tree: any) => visit(tree, visitor);
18
18
  }
@@ -15,18 +15,18 @@ const slugs = new BananaSlug();
15
15
  * @type {import('unified').Plugin<void[], Root>}
16
16
  */
17
17
  export default function remarkSlug() {
18
- return (tree: any) => {
19
- slugs.reset();
20
- visit(tree, (node) => {
21
- console.log(node);
22
- });
23
- visit(tree, 'heading', (node) => {
24
- const data = node.data || (node.data = {});
25
- const props = /** @type {Properties} */ data.hProperties || (data.hProperties = {});
26
- let id = props.id;
27
- id = id ? slugs.slug(String(id), true) : slugs.slug(toString(node));
28
- data.id = id;
29
- props.id = id;
30
- });
31
- };
18
+ return (tree: any) => {
19
+ slugs.reset();
20
+ visit(tree, (node) => {
21
+ console.log(node);
22
+ });
23
+ visit(tree, 'heading', (node) => {
24
+ const data = node.data || (node.data = {});
25
+ const props = /** @type {Properties} */ data.hProperties || (data.hProperties = {});
26
+ let id = props.id;
27
+ id = id ? slugs.slug(String(id), true) : slugs.slug(toString(node));
28
+ data.id = id;
29
+ props.id = id;
30
+ });
31
+ };
32
32
  }
@@ -1,34 +1,38 @@
1
- import { visit, SKIP } from 'unist-util-visit';
1
+ import { visit as _visit, SKIP } from 'unist-util-visit';
2
+
3
+ // This is a workaround.
4
+ // It fixes a compatibility issue between different, incompatible ASTs given by plugins to Unist
5
+ const visit = _visit as (node: any, type: string, callback?: (node: any, index: number, parent: any) => any) => any;
2
6
 
3
7
  // Remove the wrapping paragraph for <astro-root> islands
4
8
  export default function remarkUnwrap() {
5
- const astroRootNodes = new Set();
6
- let insideAstroRoot = false;
9
+ const astroRootNodes = new Set();
10
+ let insideAstroRoot = false;
7
11
 
8
- return (tree: any) => {
9
- // reset state
10
- insideAstroRoot = false;
11
- astroRootNodes.clear();
12
+ return (tree: any) => {
13
+ // reset state
14
+ insideAstroRoot = false;
15
+ astroRootNodes.clear();
12
16
 
13
- visit(tree, 'html', (node) => {
14
- if (node.value.indexOf('<astro-root') > -1 && !insideAstroRoot) {
15
- insideAstroRoot = true;
16
- }
17
- if (node.value.indexOf('</astro-root') > -1 && insideAstroRoot) {
18
- insideAstroRoot = false;
19
- }
20
- astroRootNodes.add(node);
21
- });
17
+ visit(tree, 'html', (node) => {
18
+ if (node.value.indexOf('<astro-root') > -1 && !insideAstroRoot) {
19
+ insideAstroRoot = true;
20
+ }
21
+ if (node.value.indexOf('</astro-root') > -1 && insideAstroRoot) {
22
+ insideAstroRoot = false;
23
+ }
24
+ astroRootNodes.add(node);
25
+ });
22
26
 
23
- visit(tree, 'paragraph', (node, index, parent) => {
24
- if (parent && typeof index === 'number' && containsAstroRootNode(node)) {
25
- parent.children.splice(index, 1, ...node.children);
26
- return [SKIP, index];
27
- }
28
- });
29
- };
27
+ visit(tree, 'paragraph', (node, index, parent) => {
28
+ if (parent && typeof index === 'number' && containsAstroRootNode(node)) {
29
+ parent.children.splice(index, 1, ...node.children);
30
+ return [SKIP, index];
31
+ }
32
+ });
33
+ };
30
34
 
31
- function containsAstroRootNode(node: any) {
32
- return node.children.map((child: any) => astroRootNodes.has(child)).reduce((all: boolean, v: boolean) => (all ? all : v), false);
33
- }
35
+ function containsAstroRootNode(node: any) {
36
+ return node.children.map((child: any) => astroRootNodes.has(child)).reduce((all: boolean, v: boolean) => (all ? all : v), false);
37
+ }
34
38
  }
package/src/types.ts CHANGED
@@ -4,14 +4,14 @@ export type UnifiedPluginImport = Promise<{ default: unified.Plugin }>;
4
4
  export type Plugin = string | [string, any] | UnifiedPluginImport | [UnifiedPluginImport, any];
5
5
 
6
6
  export interface AstroMarkdownOptions {
7
- mode?: 'md' | 'mdx';
8
- remarkPlugins?: Plugin[];
9
- rehypePlugins?: Plugin[];
7
+ mode?: 'md' | 'mdx';
8
+ remarkPlugins?: Plugin[];
9
+ rehypePlugins?: Plugin[];
10
10
  }
11
11
 
12
12
  export interface MarkdownRenderingOptions extends Partial<AstroMarkdownOptions> {
13
- /** @internal */
14
- $?: {
15
- scopedClassName: string | null;
16
- };
13
+ /** @internal */
14
+ $?: {
15
+ scopedClassName: string | null;
16
+ };
17
17
  }
package/tsconfig.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "include": ["src"],
4
4
  "compilerOptions": {
5
5
  "allowJs": true,
6
- "target": "ES2019",
6
+ "target": "ES2020",
7
7
  "module": "ES2020",
8
8
  "outDir": "./dist"
9
9
  }