summaryrefslogtreecommitdiff
path: root/.changeset/shaggy-keys-turn.md
diff options
context:
space:
mode:
Diffstat (limited to '.changeset/shaggy-keys-turn.md')
-rw-r--r--.changeset/shaggy-keys-turn.md63
1 files changed, 63 insertions, 0 deletions
diff --git a/.changeset/shaggy-keys-turn.md b/.changeset/shaggy-keys-turn.md
new file mode 100644
index 000000000..66471e919
--- /dev/null
+++ b/.changeset/shaggy-keys-turn.md
@@ -0,0 +1,63 @@
+---
+'astro': major
+'@astrojs/markdown-remark': major
+'@astrojs/mdx': minor
+---
+
+Refine Markdown and MDX configuration options for ease-of-use.
+
+#### Markdown
+
+- **Remove `remark-smartypants`** from Astro's default Markdown plugins.
+- **Replace the `extendDefaultPlugins` option** with a simplified `gfm` boolean. This is enabled by default, and can be disabled to remove GitHub-Flavored Markdown.
+- Ensure GitHub-Flavored Markdown is applied whether or not custom `remarkPlugins` or `rehypePlugins` are configured. If you want to apply custom plugins _and_ remove GFM, manually set `gfm: false` in your config.
+
+#### MDX
+
+- Support _all_ Markdown configuration options (except `drafts`) from your MDX integration config. This includes `syntaxHighlighting` and `shikiConfig` options to further customize the MDX renderer.
+- Simplify `extendDefaults` to an `extendMarkdownConfig` option. MDX options will default to their equivalent in your Markdown config. By setting `extendMarkdownConfig` to false, you can "eject" to set your own syntax highlighting, plugins, and more.
+
+#### Migration
+
+To preserve your existing Markdown and MDX setup, you may need some configuration changes:
+
+##### Smartypants manual installation
+
+[Smartypants](https://github.com/silvenon/remark-smartypants) has been removed from Astro's default setup. If you rely on this plugin, [install `remark-smartypants`](https://github.com/silvenon/remark-smartypants#installing) and apply to your `astro.config.*`:
+
+```diff
+// astro.config.mjs
+import { defineConfig } from 'astro/config';
++ import smartypants from 'remark-smartypants';
+
+export default defineConfig({
+ markdown: {
++ remarkPlugins: [smartypants],
+ }
+});
+```
+
+##### Migrate `extendDefaultPlugins` to `gfm`
+
+You may have disabled Astro's built-in plugins (GitHub-Flavored Markdown and Smartypants) with the `extendDefaultPlugins` option. Since Smartypants has been removed, this has been renamed to `gfm`.
+
+```diff
+// astro.config.mjs
+import { defineConfig } from 'astro/config';
+
+export default defineConfig({
+ markdown: {
+- extendDefaultPlugins: false,
++ gfm: false,
+ }
+});
+```
+
+
+Additionally, applying remark and rehype plugins **no longer disables** `gfm`. You will need to opt-out manually by setting `gfm` to `false`.
+
+##### Migrate MDX's `extendPlugins` to `extendMarkdownConfig`
+
+You may have used the `extendPlugins` option to manage plugin defaults in MDX. This has been replaced by 2 flags:
+- `extendMarkdownConfig` (`true` by default) to toggle Markdown config inheritance. This replaces the `extendPlugins: 'markdown'` option.
+- `gfm` (`true` by default) to toggle GitHub-Flavored Markdown in MDX. This replaces the `extendPlugins: 'defaults'` option.