🍿 Minor Changes
-
#13352
cb886dcThanks @delucis! - Adds support for a newexperimental.headingIdCompatflagBy default, Astro removes a trailing
-from the end of IDs it generates for headings ending with special characters. This differs from the behavior of common Markdown processors.You can now disable this behavior with a new configuration flag:
astro.config.mjs import { defineConfig } from 'astro/config';export default defineConfig({experimental: {headingIdCompat: true,},});This can be useful when heading IDs and anchor links need to behave consistently across your site and other platforms such as GitHub and npm.
If you are using the
rehypeHeadingIdsplugin directly, you can also pass this new option:astro.config.mjs import { defineConfig } from 'astro/config';import { rehypeHeadingIds } from '@astrojs/markdown-remark';import { otherPluginThatReliesOnHeadingIDs } from 'some/plugin/source';export default defineConfig({markdown: {rehypePlugins: [[rehypeHeadingIds, { experimentalHeadingIdCompat: true }],otherPluginThatReliesOnHeadingIDs,],},}); -
#13311
a3327ffThanks @chrisirhc! - Adds a new configuration option for Markdown syntax highlightingexcludeLangsThis option provides better support for diagramming tools that rely on Markdown code blocks, such as Mermaid.js and D2 by allowing you to exclude specific languages from Astro’s default syntax highlighting.
This option allows you to avoid rendering conflicts with tools that depend on the code not being highlighted without forcing you to disable syntax highlighting for other code blocks.
The following example configuration will exclude highlighting for
mermaidandmathcode blocks:import { defineConfig } from 'astro/config';export default defineConfig({markdown: {syntaxHighlight: {type: 'shiki',excludeLangs: ['mermaid', 'math'],},},});Read more about this new option in the Markdown syntax highlighting configuration docs.