summaryrefslogtreecommitdiff
path: root/packages/integrations/mdx/src
diff options
context:
space:
mode:
authorGravatar Thomas Jaggi <thomas@responsive.ch> 2022-11-22 16:12:25 +0100
committerGravatar GitHub <noreply@github.com> 2022-11-22 10:12:25 -0500
commit2a1c085b199f24e34424ec8c19041c03602c53c5 (patch)
tree5371473604eeeb0ad560e73839f5ac5d8f5cb90c /packages/integrations/mdx/src
parentfcada72bd5889d1c613413fd8cd555fc60ae53ae (diff)
downloadastro-2a1c085b199f24e34424ec8c19041c03602c53c5.tar.gz
astro-2a1c085b199f24e34424ec8c19041c03602c53c5.tar.zst
astro-2a1c085b199f24e34424ec8c19041c03602c53c5.zip
[MDX] Support remark-rehype options from Astro Markdown config (#5427)
* [MDX] Support remark-rehype options from Astro Markdown config * [MDX] Add remarkRehype to MdxOptions, extend with default markdown config * [MDX] Add remarkRehype to README * [MDX] Fix remarkRehype inheritance, add tests * [MDX] Update remarkRehype docs in README Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> * [MDX] Fix remarkRehype docs Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Diffstat (limited to 'packages/integrations/mdx/src')
-rw-r--r--packages/integrations/mdx/src/index.ts12
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/integrations/mdx/src/index.ts b/packages/integrations/mdx/src/index.ts
index 4bac982af..33286b2e2 100644
--- a/packages/integrations/mdx/src/index.ts
+++ b/packages/integrations/mdx/src/index.ts
@@ -1,3 +1,4 @@
+import type { Options as RemarkRehypeOptions } from 'remark-rehype';
import { compile as mdxCompile } from '@mdx-js/mdx';
import { PluggableList } from '@mdx-js/mdx/lib/core.js';
import mdxPlugin, { Options as MdxRollupPluginOptions } from '@mdx-js/rollup';
@@ -33,6 +34,7 @@ export type MdxOptions = {
* - false - do not inherit any plugins
*/
extendPlugins?: 'markdown' | 'astroDefaults' | false;
+ remarkRehype?: RemarkRehypeOptions;
};
export default function mdx(mdxOptions: MdxOptions = {}): AstroIntegration {
@@ -62,6 +64,15 @@ export default function mdx(mdxOptions: MdxOptions = {}): AstroIntegration {
console.info(`See "extendPlugins" option to configure this behavior.`);
}
+ let remarkRehypeOptions = mdxOptions.remarkRehype;
+
+ if (mdxOptions.extendPlugins === 'markdown') {
+ remarkRehypeOptions = {
+ ...config.markdown.remarkRehype,
+ ...remarkRehypeOptions,
+ };
+ }
+
const mdxPluginOpts: MdxRollupPluginOptions = {
remarkPlugins: await getRemarkPlugins(mdxOptions, config),
rehypePlugins: getRehypePlugins(mdxOptions, config),
@@ -71,6 +82,7 @@ export default function mdx(mdxOptions: MdxOptions = {}): AstroIntegration {
// Note: disable `.md` (and other alternative extensions for markdown files like `.markdown`) support
format: 'mdx',
mdExtensions: [],
+ remarkRehypeOptions,
};
let importMetaEnv: Record<string, any> = {