@astrojs/markdown-remark 0.4.0-next.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,38 @@
1
- # @astrojs/markdown-support
1
+ # @astrojs/markdown-remark
2
+
3
+ ## 0.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 679d4395: - Upgraded dependencies
8
+ - Replaced `remark-slug` with `rehype-slug` because [it was deprecated](https://github.com/remarkjs/remark-slug)
9
+ - Replaced `@silvenon/remark-smartypants` with `remark-smartypants` because its name was changed
10
+ - Disable **all** built-in plugins when custom remark and/or rehype plugins are added
11
+ - Removed `remark-footnotes` because [`remark-gfm` now supports footnotes](https://github.com/remarkjs/remark-gfm/releases/tag/3.0.0)
12
+ - Re-added `remark-smartypants` and `rehype-slug` to the default plugins list
13
+
14
+ ## 0.4.0
15
+
16
+ ### Minor Changes
17
+
18
+ - e6aaeff5: Initial release.
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies [e6aaeff5]
23
+ - @astrojs/prism@0.3.0
24
+
25
+ ## 0.4.0-next.2
26
+
27
+ ### Patch Changes
28
+
29
+ - 00d2b625: Move gray-matter to deps
30
+
31
+ ## 0.4.0-next.1
32
+
33
+ ### Patch Changes
34
+
35
+ - 7eaabbb0: Fix bug where code blocks would not be escaped properly
2
36
 
3
37
  ## 0.4.0-next.0
4
38
 
package/dist/index.d.ts CHANGED
@@ -13,7 +13,7 @@ export declare function renderMarkdownWithFrontmatter(contents: string, opts?: M
13
13
  code: string;
14
14
  }>;
15
15
  export declare const DEFAULT_REMARK_PLUGINS: string[];
16
- export declare const DEFAULT_REHYPE_PLUGINS: never[];
16
+ export declare const DEFAULT_REHYPE_PLUGINS: string[];
17
17
  /** Shared utility for rendering markdown */
18
18
  export declare function renderMarkdown(content: string, opts?: MarkdownRenderingOptions | null): Promise<{
19
19
  metadata: {
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
6
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
8
  var __spreadValues = (a, b) => {
9
9
  for (var prop in b || (b = {}))
10
10
  if (__hasOwnProp.call(b, prop))
@@ -19,39 +19,41 @@ var __spreadValues = (a, b) => {
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  import createCollectHeaders from "./rehype-collect-headers.js";
21
21
  import scopedStyles from "./remark-scoped-styles.js";
22
- import {remarkExpressions, loadRemarkExpressions} from "./remark-expressions.js";
22
+ import { remarkExpressions, loadRemarkExpressions } from "./remark-expressions.js";
23
23
  import rehypeExpressions from "./rehype-expressions.js";
24
24
  import rehypeIslands from "./rehype-islands.js";
25
- import {remarkJsx, loadRemarkJsx} from "./remark-jsx.js";
25
+ import { remarkJsx, loadRemarkJsx } from "./remark-jsx.js";
26
26
  import rehypeJsx from "./rehype-jsx.js";
27
+ import rehypeEscape from "./rehype-escape.js";
27
28
  import remarkPrism from "./remark-prism.js";
28
29
  import remarkUnwrap from "./remark-unwrap.js";
29
- import {loadPlugins} from "./load-plugins.js";
30
- import {unified} from "unified";
30
+ import { loadPlugins } from "./load-plugins.js";
31
+ import { unified } from "unified";
31
32
  import markdown from "remark-parse";
32
33
  import markdownToHtml from "remark-rehype";
33
34
  import rehypeStringify from "rehype-stringify";
34
35
  import rehypeRaw from "rehype-raw";
35
36
  import matter from "gray-matter";
36
37
  async function renderMarkdownWithFrontmatter(contents, opts) {
37
- const {data: frontmatter, content} = matter(contents);
38
+ const { data: frontmatter, content } = matter(contents);
38
39
  const value = await renderMarkdown(content, opts);
39
- return __spreadProps(__spreadValues({}, value), {frontmatter});
40
+ return __spreadProps(__spreadValues({}, value), { frontmatter });
40
41
  }
41
- const DEFAULT_REMARK_PLUGINS = [
42
- "remark-gfm",
43
- "remark-footnotes"
44
- ];
45
- const DEFAULT_REHYPE_PLUGINS = [];
42
+ const DEFAULT_REMARK_PLUGINS = ["remark-gfm", "remark-smartypants"];
43
+ const DEFAULT_REHYPE_PLUGINS = ["rehype-slug"];
46
44
  async function renderMarkdown(content, opts) {
47
45
  var _a, _b;
48
- const {remarkPlugins = DEFAULT_REMARK_PLUGINS, rehypePlugins = DEFAULT_REHYPE_PLUGINS} = opts != null ? opts : {};
46
+ let { remarkPlugins = [], rehypePlugins = [] } = opts != null ? opts : {};
49
47
  const scopedClassName = (_a = opts == null ? void 0 : opts.$) == null ? void 0 : _a.scopedClassName;
50
48
  const mode = (_b = opts == null ? void 0 : opts.mode) != null ? _b : "mdx";
51
49
  const isMDX = mode === "mdx";
52
- const {headers, rehypeCollectHeaders} = createCollectHeaders();
50
+ const { headers, rehypeCollectHeaders } = createCollectHeaders();
53
51
  await Promise.all([loadRemarkExpressions(), loadRemarkJsx()]);
54
52
  let parser = unified().use(markdown).use(isMDX ? [remarkJsx] : []).use(isMDX ? [remarkExpressions] : []).use([remarkUnwrap]);
53
+ if (remarkPlugins.length === 0 && rehypePlugins.length === 0) {
54
+ remarkPlugins = [...DEFAULT_REMARK_PLUGINS];
55
+ rehypePlugins = [...DEFAULT_REHYPE_PLUGINS];
56
+ }
55
57
  const loadedRemarkPlugins = await Promise.all(loadPlugins(remarkPlugins));
56
58
  const loadedRehypePlugins = await Promise.all(loadPlugins(rehypePlugins));
57
59
  loadedRemarkPlugins.forEach(([plugin, opts2]) => {
@@ -61,21 +63,21 @@ async function renderMarkdown(content, opts) {
61
63
  parser.use([scopedStyles(scopedClassName)]);
62
64
  }
63
65
  parser.use([remarkPrism(scopedClassName)]);
64
- parser.use([[markdownToHtml, {allowDangerousHtml: true, passThrough: ["raw", "mdxTextExpression", "mdxJsxTextElement", "mdxJsxFlowElement"]}]]);
66
+ parser.use([[markdownToHtml, { allowDangerousHtml: true, passThrough: ["raw", "mdxTextExpression", "mdxJsxTextElement", "mdxJsxFlowElement"] }]]);
65
67
  loadedRehypePlugins.forEach(([plugin, opts2]) => {
66
68
  parser.use([[plugin, opts2]]);
67
69
  });
68
- parser.use(isMDX ? [rehypeJsx] : []).use(isMDX ? [rehypeExpressions] : []).use(isMDX ? [] : [rehypeRaw]).use(rehypeIslands);
70
+ parser.use(isMDX ? [rehypeJsx] : []).use(isMDX ? [rehypeExpressions] : []).use(isMDX ? [] : [rehypeRaw]).use(isMDX ? [rehypeEscape] : []).use(rehypeIslands);
69
71
  let result;
70
72
  try {
71
- const vfile = await parser.use([rehypeCollectHeaders]).use(rehypeStringify, {allowDangerousHtml: true}).process(content);
73
+ const vfile = await parser.use([rehypeCollectHeaders]).use(rehypeStringify, { allowDangerousHtml: true }).process(content);
72
74
  result = vfile.toString();
73
75
  } catch (err) {
74
76
  console.error(err);
75
77
  throw err;
76
78
  }
77
79
  return {
78
- metadata: {headers, source: content, html: result.toString()},
80
+ metadata: { headers, source: content, html: result.toString() },
79
81
  code: result.toString()
80
82
  };
81
83
  }
@@ -87,4 +89,4 @@ export {
87
89
  renderMarkdown,
88
90
  renderMarkdownWithFrontmatter
89
91
  };
90
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0EsNkNBQW9ELFVBQWtCLE1BQXdDO0FBQzVHLFFBQU0sQ0FBRSxNQUFNLGFBQWEsV0FBWSxPQUFPO0FBQzlDLFFBQU0sUUFBUSxNQUFNLGVBQWUsU0FBUztBQUM1QyxTQUFPLGlDQUFLLFFBQUwsQ0FBWTtBQUFBO0FBR2QsTUFBTSx5QkFBeUI7QUFBQSxFQUNwQztBQUFBLEVBQ0E7QUFBQTtBQUtLLE1BQU0seUJBQXlCO0FBS3RDLDhCQUFxQyxTQUFpQixNQUF3QztBQXpDOUY7QUEwQ0UsUUFBTSxDQUFFLGdCQUFnQix3QkFBd0IsZ0JBQWdCLDBCQUEyQixzQkFBUTtBQUNuRyxRQUFNLGtCQUFrQixtQ0FBTSxNQUFOLG1CQUFTO0FBQ2pDLFFBQU0sT0FBTyxtQ0FBTSxTQUFOLFlBQWM7QUFDM0IsUUFBTSxRQUFRLFNBQVM7QUFDdkIsUUFBTSxDQUFFLFNBQVMsd0JBQXlCO0FBRTFDLFFBQU0sUUFBUSxJQUFJLENBQUMseUJBQXlCO0FBRTVDLE1BQUksU0FBUyxVQUNWLElBQUksVUFDSixJQUFJLFFBQVEsQ0FBQyxhQUFhLElBQzFCLElBQUksUUFBUSxDQUFDLHFCQUFxQixJQUNsQyxJQUFJLENBQUM7QUFFUixRQUFNLHNCQUFzQixNQUFNLFFBQVEsSUFBSSxZQUFZO0FBQzFELFFBQU0sc0JBQXNCLE1BQU0sUUFBUSxJQUFJLFlBQVk7QUFFMUQsc0JBQW9CLFFBQVEsQ0FBQyxDQUFDLFFBQVEsV0FBVTtBQUM5QyxXQUFPLElBQUksQ0FBQyxDQUFDLFFBQVE7QUFBQTtBQUd2QixNQUFJLGlCQUFpQjtBQUNuQixXQUFPLElBQUksQ0FBQyxhQUFhO0FBQUE7QUFHM0IsU0FBTyxJQUFJLENBQUMsWUFBWTtBQUN4QixTQUFPLElBQUksQ0FBQyxDQUFDLGdCQUF1QixDQUFFLG9CQUFvQixNQUFNLGFBQWEsQ0FBQyxPQUFPLHFCQUFxQixxQkFBcUI7QUFFL0gsc0JBQW9CLFFBQVEsQ0FBQyxDQUFDLFFBQVEsV0FBVTtBQUM5QyxXQUFPLElBQUksQ0FBQyxDQUFDLFFBQVE7QUFBQTtBQUd2QixTQUNHLElBQUksUUFBUSxDQUFDLGFBQWEsSUFDMUIsSUFBSSxRQUFRLENBQUMscUJBQXFCLElBQ2xDLElBQUksUUFBUSxLQUFLLENBQUMsWUFDbEIsSUFBSTtBQUVQLE1BQUk7QUFDSixNQUFJO0FBQ0YsVUFBTSxRQUFRLE1BQU0sT0FBTyxJQUFJLENBQUMsdUJBQXVCLElBQUksaUJBQWlCLENBQUUsb0JBQW9CLE9BQVEsUUFBUTtBQUNsSCxhQUFTLE1BQU07QUFBQSxXQUNSLEtBQVA7QUFDQSxZQUFRLE1BQU07QUFDZCxVQUFNO0FBQUE7QUFHUixTQUFPO0FBQUEsSUFDTCxVQUFVLENBQUUsU0FBUyxRQUFRLFNBQVMsTUFBTSxPQUFPO0FBQUEsSUFDbkQsTUFBTSxPQUFPO0FBQUE7QUFBQTtBQUlqQixJQUFPLGNBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
92
+ //# sourceMappingURL=data:application/json;base64,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
@@ -1,4 +1,4 @@
1
- import {visit} from "unist-util-visit";
1
+ import { visit } from "unist-util-visit";
2
2
  import slugger from "github-slugger";
3
3
  function createCollectHeaders() {
4
4
  const headers = [];
@@ -8,7 +8,7 @@ function createCollectHeaders() {
8
8
  var _a, _b;
9
9
  if (node.type !== "element")
10
10
  return;
11
- const {tagName} = node;
11
+ const { tagName } = node;
12
12
  if (tagName[0] !== "h")
13
13
  return;
14
14
  const [_, level] = (_a = tagName.match(/h([0-6])/)) != null ? _a : [];
@@ -22,7 +22,7 @@ function createCollectHeaders() {
22
22
  let slug = ((_b = node == null ? void 0 : node.properties) == null ? void 0 : _b.id) || slugger.slug(text);
23
23
  node.properties = node.properties || {};
24
24
  node.properties.id = slug;
25
- headers.push({depth, slug, text});
25
+ headers.push({ depth, slug, text });
26
26
  });
27
27
  };
28
28
  }
@@ -34,4 +34,4 @@ function createCollectHeaders() {
34
34
  export {
35
35
  createCollectHeaders as default
36
36
  };
37
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1jb2xsZWN0LWhlYWRlcnMudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUVBO0FBR2UsZ0NBQWdDO0FBQzdDLFFBQU0sVUFBaUI7QUFFdkIsa0NBQWdDO0FBQzlCLFdBQU8sU0FBVSxNQUFZO0FBQzNCLFlBQU0sTUFBTSxDQUFDLFNBQVM7QUFWNUI7QUFXUSxZQUFJLEtBQUssU0FBUztBQUFXO0FBQzdCLGNBQU0sQ0FBRSxXQUFZO0FBQ3BCLFlBQUksUUFBUSxPQUFPO0FBQUs7QUFDeEIsY0FBTSxDQUFDLEdBQUcsU0FBUyxjQUFRLE1BQU0sZ0JBQWQsWUFBNkI7QUFDaEQsWUFBSSxDQUFDO0FBQU87QUFDWixjQUFNLFFBQVEsT0FBTyxTQUFTO0FBRTlCLFlBQUksT0FBTztBQUVYLGNBQU0sTUFBTSxRQUFRLENBQUMsVUFBVTtBQUM3QixrQkFBUSxNQUFNO0FBQUE7QUFHaEIsWUFBSSxPQUFPLG9DQUFNLGVBQU4sbUJBQWtCLE9BQU0sUUFBUSxLQUFLO0FBRWhELGFBQUssYUFBYSxLQUFLLGNBQWM7QUFDckMsYUFBSyxXQUFXLEtBQUs7QUFDckIsZ0JBQVEsS0FBSyxDQUFFLE9BQU8sTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUtsQyxTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0E7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
37
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1jb2xsZWN0LWhlYWRlcnMudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUVBO0FBR2UsZ0NBQWdDO0FBQzdDLFFBQU0sVUFBaUI7QUFFdkIsa0NBQWdDO0FBQzlCLFdBQU8sU0FBVSxNQUFZO0FBQzNCLFlBQU0sTUFBTSxDQUFDLFNBQVM7QUFWNUI7QUFXUSxZQUFJLEtBQUssU0FBUztBQUFXO0FBQzdCLGNBQU0sRUFBRSxZQUFZO0FBQ3BCLFlBQUksUUFBUSxPQUFPO0FBQUs7QUFDeEIsY0FBTSxDQUFDLEdBQUcsU0FBUyxjQUFRLE1BQU0sZ0JBQWQsWUFBNkI7QUFDaEQsWUFBSSxDQUFDO0FBQU87QUFDWixjQUFNLFFBQVEsT0FBTyxTQUFTO0FBRTlCLFlBQUksT0FBTztBQUVYLGNBQU0sTUFBTSxRQUFRLENBQUMsVUFBVTtBQUM3QixrQkFBUSxNQUFNO0FBQUE7QUFHaEIsWUFBSSxPQUFPLG9DQUFNLGVBQU4sbUJBQWtCLE9BQU0sUUFBUSxLQUFLO0FBRWhELGFBQUssYUFBYSxLQUFLLGNBQWM7QUFDckMsYUFBSyxXQUFXLEtBQUs7QUFDckIsZ0JBQVEsS0FBSyxFQUFFLE9BQU8sTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUtsQyxTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0E7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1 @@
1
+ export default function rehypeEscape(): any;
@@ -0,0 +1,15 @@
1
+ import { visit } from "unist-util-visit";
2
+ function rehypeEscape() {
3
+ return function(node) {
4
+ return visit(node, "element", (el) => {
5
+ if (el.tagName === "code" || el.tagName === "pre") {
6
+ el.properties["data-astro-raw"] = true;
7
+ }
8
+ return el;
9
+ });
10
+ };
11
+ }
12
+ export {
13
+ rehypeEscape as default
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1lc2NhcGUudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUVlLHdCQUE2QjtBQUMxQyxTQUFPLFNBQVUsTUFBZ0I7QUFDL0IsV0FBTyxNQUFNLE1BQU0sV0FBVyxDQUFDLE9BQU87QUFDcEMsVUFBSSxHQUFHLFlBQVksVUFBVSxHQUFHLFlBQVksT0FBTztBQUNqRCxXQUFHLFdBQVcsb0JBQW9CO0FBQUE7QUFFcEMsYUFBTztBQUFBO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,9 +1,9 @@
1
- import {map} from "unist-util-map";
1
+ import { map } from "unist-util-map";
2
2
  function rehypeExpressions() {
3
3
  return function(node) {
4
4
  return map(node, (child) => {
5
5
  if (child.type === "mdxTextExpression") {
6
- return {type: "text", value: `{${child.value}}`};
6
+ return { type: "text", value: `{${child.value}}` };
7
7
  }
8
8
  return child;
9
9
  });
@@ -12,4 +12,4 @@ function rehypeExpressions() {
12
12
  export {
13
13
  rehypeExpressions as default
14
14
  };
15
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1leHByZXNzaW9ucy50cyJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBRWUsNkJBQWtDO0FBQy9DLFNBQU8sU0FBVSxNQUFnQjtBQUMvQixXQUFPLElBQUksTUFBTSxDQUFDLFVBQVU7QUFDMUIsVUFBSSxNQUFNLFNBQVMscUJBQXFCO0FBQ3RDLGVBQU8sQ0FBRSxNQUFNLFFBQVEsT0FBTyxJQUFLLE1BQWM7QUFBQTtBQUVuRCxhQUFPO0FBQUE7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
15
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1leHByZXNzaW9ucy50cyJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBRWUsNkJBQWtDO0FBQy9DLFNBQU8sU0FBVSxNQUFnQjtBQUMvQixXQUFPLElBQUksTUFBTSxDQUFDLFVBQVU7QUFDMUIsVUFBSSxNQUFNLFNBQVMscUJBQXFCO0FBQ3RDLGVBQU8sRUFBRSxNQUFNLFFBQVEsT0FBTyxJQUFLLE1BQWM7QUFBQTtBQUVuRCxhQUFPO0FBQUE7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -4,7 +4,7 @@ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
6
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
8
  var __spreadValues = (a, b) => {
9
9
  for (var prop in b || (b = {}))
10
10
  if (__hasOwnProp.call(b, prop))
@@ -17,7 +17,7 @@ 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 } from "unist-util-visit";
21
21
  function rehypeIslands() {
22
22
  return function(node) {
23
23
  return visit(node, "element", (el) => {
@@ -25,7 +25,7 @@ function rehypeIslands() {
25
25
  visit(el, "text", (child, index, parent) => {
26
26
  if (child.type === "text") {
27
27
  if (parent && child.value.indexOf("<!--") > -1 && index != null) {
28
- parent.children.splice(index, 1, __spreadProps(__spreadValues({}, child), {type: "comment", value: child.value.replace("<!--", "").replace("-->", "").trim()}));
28
+ parent.children.splice(index, 1, __spreadProps(__spreadValues({}, child), { type: "comment", value: child.value.replace("<!--", "").replace("-->", "").trim() }));
29
29
  return [SKIP, index];
30
30
  }
31
31
  child.value = child.value.replace(/\n+/g, "");
@@ -39,4 +39,4 @@ function rehypeIslands() {
39
39
  export {
40
40
  rehypeIslands as default
41
41
  };
42
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1pc2xhbmRzLnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBTWUseUJBQThCO0FBQzNDLFNBQU8sU0FBVSxNQUFnQjtBQUMvQixXQUFPLE1BQU0sTUFBTSxXQUFXLENBQUMsT0FBTztBQUVwQyxVQUFJLEdBQUcsV0FBVyxjQUFjO0FBQzlCLGNBQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxPQUFPLFdBQVc7QUFDMUMsY0FBSSxNQUFNLFNBQVMsUUFBUTtBQUd6QixnQkFBSSxVQUFVLE1BQU0sTUFBTSxRQUFRLFVBQVUsTUFBTSxTQUFTLE1BQU07QUFDL0QscUJBQU8sU0FBUyxPQUFPLE9BQU8sR0FBRyxpQ0FBSyxRQUFMLENBQVksTUFBTSxXQUFXLE9BQU8sTUFBTSxNQUFNLFFBQVEsUUFBUSxJQUFJLFFBQVEsT0FBTyxJQUFJO0FBQ3hILHFCQUFPLENBQUMsTUFBTTtBQUFBO0FBTWhCLGtCQUFNLFFBQVEsTUFBTSxNQUFNLFFBQVEsUUFBUTtBQUMxQyxtQkFBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
42
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1pc2xhbmRzLnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBTWUseUJBQThCO0FBQzNDLFNBQU8sU0FBVSxNQUFnQjtBQUMvQixXQUFPLE1BQU0sTUFBTSxXQUFXLENBQUMsT0FBTztBQUVwQyxVQUFJLEdBQUcsV0FBVyxjQUFjO0FBQzlCLGNBQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxPQUFPLFdBQVc7QUFDMUMsY0FBSSxNQUFNLFNBQVMsUUFBUTtBQUd6QixnQkFBSSxVQUFVLE1BQU0sTUFBTSxRQUFRLFVBQVUsTUFBTSxTQUFTLE1BQU07QUFDL0QscUJBQU8sU0FBUyxPQUFPLE9BQU8sR0FBRyxpQ0FBSyxRQUFMLEVBQVksTUFBTSxXQUFXLE9BQU8sTUFBTSxNQUFNLFFBQVEsUUFBUSxJQUFJLFFBQVEsT0FBTyxJQUFJO0FBQ3hILHFCQUFPLENBQUMsTUFBTTtBQUFBO0FBTWhCLGtCQUFNLFFBQVEsTUFBTSxNQUFNLFFBQVEsUUFBUTtBQUMxQyxtQkFBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -4,7 +4,7 @@ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
6
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
8
  var __spreadValues = (a, b) => {
9
9
  for (var prop in b || (b = {}))
10
10
  if (__hasOwnProp.call(b, prop))
@@ -17,13 +17,13 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import {map} from "unist-util-map";
20
+ import { map } from "unist-util-map";
21
21
  const MDX_ELEMENTS = new Set(["mdxJsxFlowElement", "mdxJsxTextElement"]);
22
22
  function rehypeJsx() {
23
23
  return function(node) {
24
24
  return map(node, (child) => {
25
25
  if (child.type === "element") {
26
- return __spreadProps(__spreadValues({}, child), {tagName: `${child.tagName}`});
26
+ return __spreadProps(__spreadValues({}, child), { tagName: `${child.tagName}` });
27
27
  }
28
28
  if (MDX_ELEMENTS.has(child.type)) {
29
29
  return __spreadProps(__spreadValues({}, child), {
@@ -36,7 +36,7 @@ function rehypeJsx() {
36
36
  } else if (attr === null) {
37
37
  attr = `{true}`;
38
38
  }
39
- return Object.assign(acc, {[entry.name]: attr});
39
+ return Object.assign(acc, { [entry.name]: attr });
40
40
  }, {})
41
41
  });
42
42
  }
@@ -47,4 +47,4 @@ function rehypeJsx() {
47
47
  export {
48
48
  rehypeJsx as default
49
49
  };
50
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1qc3gudHMiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFFQSxNQUFNLGVBQWUsSUFBSSxJQUFJLENBQUMscUJBQXFCO0FBQ3BDLHFCQUEwQjtBQUN2QyxTQUFPLFNBQVUsTUFBZ0I7QUFDL0IsV0FBTyxJQUFJLE1BQU0sQ0FBQyxVQUFlO0FBQy9CLFVBQUksTUFBTSxTQUFTLFdBQVc7QUFDNUIsZUFBTyxpQ0FBSyxRQUFMLENBQVksU0FBUyxHQUFHLE1BQU07QUFBQTtBQUV2QyxVQUFJLGFBQWEsSUFBSSxNQUFNLE9BQU87QUFDaEMsZUFBTyxpQ0FDRixRQURFO0FBQUEsVUFFTCxNQUFNO0FBQUEsVUFDTixTQUFTLEdBQUcsTUFBTTtBQUFBLFVBQ2xCLFlBQVksTUFBTSxXQUFXLE9BQU8sQ0FBQyxLQUFZLFVBQWU7QUFDOUQsZ0JBQUksT0FBTyxNQUFNO0FBQ2pCLGdCQUFJLFFBQVEsT0FBTyxTQUFTLFVBQVU7QUFDcEMscUJBQU8sSUFBSSxLQUFLO0FBQUEsdUJBQ1AsU0FBUyxNQUFNO0FBQ3hCLHFCQUFPO0FBQUE7QUFFVCxtQkFBTyxPQUFPLE9BQU8sS0FBSyxFQUFHLE1BQU0sT0FBTztBQUFBLGFBQ3pDO0FBQUE7QUFBQTtBQUdQLGFBQU87QUFBQTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
50
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlaHlwZS1qc3gudHMiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFFQSxNQUFNLGVBQWUsSUFBSSxJQUFJLENBQUMscUJBQXFCO0FBQ3BDLHFCQUEwQjtBQUN2QyxTQUFPLFNBQVUsTUFBZ0I7QUFDL0IsV0FBTyxJQUFJLE1BQU0sQ0FBQyxVQUFlO0FBQy9CLFVBQUksTUFBTSxTQUFTLFdBQVc7QUFDNUIsZUFBTyxpQ0FBSyxRQUFMLEVBQVksU0FBUyxHQUFHLE1BQU07QUFBQTtBQUV2QyxVQUFJLGFBQWEsSUFBSSxNQUFNLE9BQU87QUFDaEMsZUFBTyxpQ0FDRixRQURFO0FBQUEsVUFFTCxNQUFNO0FBQUEsVUFDTixTQUFTLEdBQUcsTUFBTTtBQUFBLFVBQ2xCLFlBQVksTUFBTSxXQUFXLE9BQU8sQ0FBQyxLQUFZLFVBQWU7QUFDOUQsZ0JBQUksT0FBTyxNQUFNO0FBQ2pCLGdCQUFJLFFBQVEsT0FBTyxTQUFTLFVBQVU7QUFDcEMscUJBQU8sSUFBSSxLQUFLO0FBQUEsdUJBQ1AsU0FBUyxNQUFNO0FBQ3hCLHFCQUFPO0FBQUE7QUFFVCxtQkFBTyxPQUFPLE9BQU8sS0FBSyxHQUFHLE1BQU0sT0FBTztBQUFBLGFBQ3pDO0FBQUE7QUFBQTtBQUdQLGFBQU87QUFBQTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,6 +1,6 @@
1
- import {visit} from "unist-util-visit";
1
+ import { visit } from "unist-util-visit";
2
2
  import Prism from "prismjs";
3
- import {addAstro} from "@astrojs/prism";
3
+ import { addAstro } from "@astrojs/prism";
4
4
  import loadLanguages from "prismjs/components/index.js";
5
5
  const noVisit = new Set(["root", "html", "text"]);
6
6
  const languageMap = new Map([["ts", "typescript"]]);
@@ -31,14 +31,14 @@ function runHighlighter(lang, code) {
31
31
  if (grammar) {
32
32
  html = Prism.highlight(code, grammar, lang);
33
33
  }
34
- return {classLanguage, html};
34
+ return { classLanguage, html };
35
35
  }
36
36
  function transformer(className) {
37
37
  return function(tree) {
38
38
  const visitor = (node) => {
39
- let {lang, value} = node;
39
+ let { lang, value } = node;
40
40
  node.type = "html";
41
- let {html, classLanguage} = runHighlighter(lang, value);
41
+ let { html, classLanguage } = runHighlighter(lang, value);
42
42
  let classes = [classLanguage];
43
43
  if (className) {
44
44
  classes.push(className);
@@ -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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1wcmlzbS50cyJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsUUFBUTtBQUV6QyxNQUFNLGNBQWMsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNO0FBRXBDLHdCQUF3QixNQUFjLE1BQWM7QUFDbEQsTUFBSSxnQkFBZ0IsWUFBWTtBQUVoQyxNQUFJLFFBQVEsTUFBTTtBQUNoQixXQUFPO0FBQUE7QUFHVCxRQUFNLGVBQWUsQ0FBQyxVQUFpQjtBQUNyQyxRQUFJLFNBQVEsQ0FBQyxNQUFNLFVBQVUsUUFBTztBQUNsQyxvQkFBYyxDQUFDO0FBQUE7QUFBQTtBQUluQixNQUFJLFlBQVksSUFBSSxPQUFPO0FBQ3pCLGlCQUFhLFlBQVksSUFBSTtBQUFBLGFBQ3BCLFNBQVMsU0FBUztBQUMzQixpQkFBYTtBQUNiLGFBQVM7QUFBQSxTQUNKO0FBQ0wsaUJBQWE7QUFDYixpQkFBYTtBQUFBO0FBR2YsTUFBSSxRQUFRLENBQUMsTUFBTSxVQUFVLE9BQU87QUFDbEMsWUFBUSxLQUFLLGdDQUFnQztBQUFBO0FBRy9DLFFBQU0sVUFBVSxNQUFNLFVBQVU7QUFDaEMsTUFBSSxPQUFPO0FBQ1gsTUFBSSxTQUFTO0FBQ1gsV0FBTyxNQUFNLFVBQVUsTUFBTSxTQUFTO0FBQUE7QUFHeEMsU0FBTyxDQUFFLGVBQWU7QUFBQTtBQU0xQixxQkFBcUIsV0FBd0I7QUFDM0MsU0FBTyxTQUFVLE1BQVc7QUFDMUIsVUFBTSxVQUFVLENBQUMsU0FBYztBQUM3QixVQUFJLENBQUUsTUFBTSxTQUFVO0FBQ3RCLFdBQUssT0FBTztBQUVaLFVBQUksQ0FBRSxNQUFNLGlCQUFrQixlQUFlLE1BQU07QUFDbkQsVUFBSSxVQUFVLENBQUM7QUFDZixVQUFJLFdBQVc7QUFDYixnQkFBUSxLQUFLO0FBQUE7QUFFZixXQUFLLFFBQVEsZUFBZSxRQUFRLEtBQUsscUNBQXFDLGtCQUFrQjtBQUNoRyxhQUFPO0FBQUE7QUFFVCxXQUFPLE1BQU0sTUFBTSxRQUFRO0FBQUE7QUFBQTtBQUkvQixnQkFBZ0IsV0FBd0I7QUFDdEMsU0FBTyxZQUFZLEtBQUssTUFBTTtBQUFBO0FBR2hDLElBQU8sdUJBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
59
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1wcmlzbS50cyJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsUUFBUTtBQUV6QyxNQUFNLGNBQWMsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNO0FBRXBDLHdCQUF3QixNQUFjLE1BQWM7QUFDbEQsTUFBSSxnQkFBZ0IsWUFBWTtBQUVoQyxNQUFJLFFBQVEsTUFBTTtBQUNoQixXQUFPO0FBQUE7QUFHVCxRQUFNLGVBQWUsQ0FBQyxVQUFpQjtBQUNyQyxRQUFJLFNBQVEsQ0FBQyxNQUFNLFVBQVUsUUFBTztBQUNsQyxvQkFBYyxDQUFDO0FBQUE7QUFBQTtBQUluQixNQUFJLFlBQVksSUFBSSxPQUFPO0FBQ3pCLGlCQUFhLFlBQVksSUFBSTtBQUFBLGFBQ3BCLFNBQVMsU0FBUztBQUMzQixpQkFBYTtBQUNiLGFBQVM7QUFBQSxTQUNKO0FBQ0wsaUJBQWE7QUFDYixpQkFBYTtBQUFBO0FBR2YsTUFBSSxRQUFRLENBQUMsTUFBTSxVQUFVLE9BQU87QUFDbEMsWUFBUSxLQUFLLGdDQUFnQztBQUFBO0FBRy9DLFFBQU0sVUFBVSxNQUFNLFVBQVU7QUFDaEMsTUFBSSxPQUFPO0FBQ1gsTUFBSSxTQUFTO0FBQ1gsV0FBTyxNQUFNLFVBQVUsTUFBTSxTQUFTO0FBQUE7QUFHeEMsU0FBTyxFQUFFLGVBQWU7QUFBQTtBQU0xQixxQkFBcUIsV0FBd0I7QUFDM0MsU0FBTyxTQUFVLE1BQVc7QUFDMUIsVUFBTSxVQUFVLENBQUMsU0FBYztBQUM3QixVQUFJLEVBQUUsTUFBTSxVQUFVO0FBQ3RCLFdBQUssT0FBTztBQUVaLFVBQUksRUFBRSxNQUFNLGtCQUFrQixlQUFlLE1BQU07QUFDbkQsVUFBSSxVQUFVLENBQUM7QUFDZixVQUFJLFdBQVc7QUFDYixnQkFBUSxLQUFLO0FBQUE7QUFFZixXQUFLLFFBQVEsZUFBZSxRQUFRLEtBQUsscUNBQXFDLGtCQUFrQjtBQUNoRyxhQUFPO0FBQUE7QUFFVCxXQUFPLE1BQU0sTUFBTSxRQUFRO0FBQUE7QUFBQTtBQUkvQixnQkFBZ0IsV0FBd0I7QUFDdEMsU0FBTyxZQUFZLEtBQUssTUFBTTtBQUFBO0FBR2hDLElBQU8sdUJBQVE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,11 +1,11 @@
1
- import {visit} from "unist-util-visit";
1
+ import { visit } from "unist-util-visit";
2
2
  const noVisit = new Set(["root", "html", "text"]);
3
3
  function scopedStyles(className) {
4
4
  const visitor = (node) => {
5
5
  var _a, _b;
6
6
  if (noVisit.has(node.type))
7
7
  return;
8
- const {data} = node;
8
+ const { data } = node;
9
9
  let currentClassName = (_b = (_a = data == null ? void 0 : data.hProperties) == null ? void 0 : _a.class) != null ? _b : "";
10
10
  node.data = node.data || {};
11
11
  node.data.hProperties = node.data.hProperties || {};
@@ -17,4 +17,4 @@ function scopedStyles(className) {
17
17
  export {
18
18
  scopedStyles as default
19
19
  };
20
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1zY29wZWQtc3R5bGVzLnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFDQSxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxRQUFRO0FBRzFCLHNCQUFzQixXQUFtQjtBQUN0RCxRQUFNLFVBQVUsQ0FBQyxTQUFjO0FBTGpDO0FBTUksUUFBSSxRQUFRLElBQUksS0FBSztBQUFPO0FBRTVCLFVBQU0sQ0FBRSxRQUFTO0FBQ2pCLFFBQUksbUJBQW1CLHlDQUFNLGdCQUFOLG1CQUFtQixVQUFuQixZQUE0QjtBQUNuRCxTQUFLLE9BQU8sS0FBSyxRQUFRO0FBQ3pCLFNBQUssS0FBSyxjQUFjLEtBQUssS0FBSyxlQUFlO0FBQ2pELFNBQUssS0FBSyxZQUFZLFFBQVEsR0FBRyxhQUFhLG1CQUFtQjtBQUVqRSxXQUFPO0FBQUE7QUFFVCxTQUFPLE1BQU0sQ0FBQyxTQUFjLE1BQU0sTUFBTTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
20
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3JlbWFyay1zY29wZWQtc3R5bGVzLnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFDQSxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsUUFBUSxRQUFRO0FBRzFCLHNCQUFzQixXQUFtQjtBQUN0RCxRQUFNLFVBQVUsQ0FBQyxTQUFjO0FBTGpDO0FBTUksUUFBSSxRQUFRLElBQUksS0FBSztBQUFPO0FBRTVCLFVBQU0sRUFBRSxTQUFTO0FBQ2pCLFFBQUksbUJBQW1CLHlDQUFNLGdCQUFOLG1CQUFtQixVQUFuQixZQUE0QjtBQUNuRCxTQUFLLE9BQU8sS0FBSyxRQUFRO0FBQ3pCLFNBQUssS0FBSyxjQUFjLEtBQUssS0FBSyxlQUFlO0FBQ2pELFNBQUssS0FBSyxZQUFZLFFBQVEsR0FBRyxhQUFhLG1CQUFtQjtBQUVqRSxXQUFPO0FBQUE7QUFFVCxTQUFPLE1BQU0sQ0FBQyxTQUFjLE1BQU0sTUFBTTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,5 +1,5 @@
1
- import {toString} from "mdast-util-to-string";
2
- import {visit} from "unist-util-visit";
1
+ import { toString } from "mdast-util-to-string";
2
+ import { visit } from "unist-util-visit";
3
3
  import BananaSlug from "github-slugger";
4
4
  const slugs = new BananaSlug();
5
5
  function remarkSlug() {
@@ -1,4 +1,4 @@
1
- import {visit, SKIP} from "unist-util-visit";
1
+ import { visit, SKIP } from "unist-util-visit";
2
2
  function remarkUnwrap() {
3
3
  const astroRootNodes = new Set();
4
4
  let insideAstroRoot = false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astrojs/markdown-remark",
3
- "version": "0.4.0-next.0",
3
+ "version": "0.5.0",
4
4
  "main": "./dist/index.js",
5
5
  "type": "module",
6
6
  "repository": {
@@ -18,31 +18,28 @@
18
18
  "dev": "astro-scripts dev \"src/**/*.ts\""
19
19
  },
20
20
  "dependencies": {
21
- "@astrojs/prism": "^0.3.0-next.0",
22
- "@silvenon/remark-smartypants": "^1.0.0",
21
+ "@astrojs/prism": "^0.3.0",
23
22
  "assert": "^2.0.0",
24
- "github-slugger": "^1.3.0",
23
+ "github-slugger": "^1.4.0",
24
+ "gray-matter": "^4.0.3",
25
25
  "mdast-util-mdx-expression": "^1.1.1",
26
- "mdast-util-mdx-jsx": "^1.1.1",
27
- "micromark-extension-mdx-expression": "^1.0.0",
28
- "micromark-extension-mdx-jsx": "^1.0.0",
26
+ "mdast-util-mdx-jsx": "^1.1.3",
27
+ "micromark-extension-mdx-expression": "^1.0.3",
28
+ "micromark-extension-mdx-jsx": "^1.0.2",
29
29
  "prismjs": "^1.25.0",
30
- "rehype-raw": "^6.0.0",
31
- "rehype-stringify": "^9.0.1",
32
- "remark-footnotes": "^4.0.1",
33
- "remark-gfm": "^2.0.0",
34
- "remark-mdx": "^1.6.22",
35
- "remark-parse": "^10.0.0",
36
- "remark-rehype": "^9.0.0",
37
- "remark-slug": "^7.0.0",
38
- "unified": "^10.1.0",
30
+ "rehype-raw": "^6.1.0",
31
+ "rehype-slug": "^5.0.0",
32
+ "rehype-stringify": "^9.0.2",
33
+ "remark-gfm": "^3.0.1",
34
+ "remark-parse": "^10.0.1",
35
+ "remark-rehype": "^10.0.1",
36
+ "remark-smartypants": "^2.0.0",
37
+ "unified": "^10.1.1",
39
38
  "unist-util-map": "^3.0.0",
40
- "unist-util-visit": "^4.0.0"
39
+ "unist-util-visit": "^4.1.0"
41
40
  },
42
- "//": "Important that gray-matter is in devDependencies so it gets bundled by esbuild!",
43
41
  "devDependencies": {
44
42
  "@types/github-slugger": "^1.3.0",
45
- "@types/prismjs": "^1.16.6",
46
- "gray-matter": "^4.0.3"
43
+ "@types/prismjs": "^1.16.6"
47
44
  }
48
45
  }
package/src/index.ts CHANGED
@@ -7,6 +7,7 @@ import rehypeExpressions from './rehype-expressions.js';
7
7
  import rehypeIslands from './rehype-islands.js';
8
8
  import { remarkJsx, loadRemarkJsx } from './remark-jsx.js';
9
9
  import rehypeJsx from './rehype-jsx.js';
10
+ import rehypeEscape from './rehype-escape.js';
10
11
  import remarkPrism from './remark-prism.js';
11
12
  import remarkUnwrap from './remark-unwrap.js';
12
13
  import { loadPlugins } from './load-plugins.js';
@@ -27,20 +28,13 @@ export async function renderMarkdownWithFrontmatter(contents: string, opts?: Mar
27
28
  return { ...value, frontmatter };
28
29
  }
29
30
 
30
- export const DEFAULT_REMARK_PLUGINS = [
31
- 'remark-gfm',
32
- 'remark-footnotes',
33
- // TODO: reenable smartypants!
34
- // '@silvenon/remark-smartypants'
35
- ];
31
+ export const DEFAULT_REMARK_PLUGINS = ['remark-gfm', 'remark-smartypants'];
36
32
 
37
- export const DEFAULT_REHYPE_PLUGINS = [
38
- // empty
39
- ];
33
+ export const DEFAULT_REHYPE_PLUGINS = ['rehype-slug'];
40
34
 
41
35
  /** Shared utility for rendering markdown */
42
36
  export async function renderMarkdown(content: string, opts?: MarkdownRenderingOptions | null) {
43
- const { remarkPlugins = DEFAULT_REMARK_PLUGINS, rehypePlugins = DEFAULT_REHYPE_PLUGINS } = opts ?? {};
37
+ let { remarkPlugins = [], rehypePlugins = [] } = opts ?? {};
44
38
  const scopedClassName = opts?.$?.scopedClassName;
45
39
  const mode = opts?.mode ?? 'mdx';
46
40
  const isMDX = mode === 'mdx';
@@ -54,6 +48,11 @@ export async function renderMarkdown(content: string, opts?: MarkdownRenderingOp
54
48
  .use(isMDX ? [remarkExpressions] : [])
55
49
  .use([remarkUnwrap]);
56
50
 
51
+ if (remarkPlugins.length === 0 && rehypePlugins.length === 0) {
52
+ remarkPlugins = [...DEFAULT_REMARK_PLUGINS];
53
+ rehypePlugins = [...DEFAULT_REHYPE_PLUGINS];
54
+ }
55
+
57
56
  const loadedRemarkPlugins = await Promise.all(loadPlugins(remarkPlugins));
58
57
  const loadedRehypePlugins = await Promise.all(loadPlugins(rehypePlugins));
59
58
 
@@ -76,6 +75,7 @@ export async function renderMarkdown(content: string, opts?: MarkdownRenderingOp
76
75
  .use(isMDX ? [rehypeJsx] : [])
77
76
  .use(isMDX ? [rehypeExpressions] : [])
78
77
  .use(isMDX ? [] : [rehypeRaw])
78
+ .use(isMDX ? [rehypeEscape] : [])
79
79
  .use(rehypeIslands);
80
80
 
81
81
  let result: string;
@@ -0,0 +1,12 @@
1
+ import { SKIP, visit } from 'unist-util-visit';
2
+
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
+ };
12
+ }