--- "@astrojs/markdown-remark": minor --- Adds a `data-language` attribute on the rendered `pre` elements to expose the highlighted syntax language. For example, the following Markdown code block will expose `data-language="python"`: ``` \```python def func(): print('Hello Astro!') \``` ``` This allows retrieving the language in a rehype plugin from `node.properties.dataLanguage` by accessing the `
` element using `{ tagName: "pre" }`: ```js // myRehypePre.js import { visit } from "unist-util-visit"; export default function myRehypePre() { return (tree) => { visit(tree, { tagName: "pre" }, (node) => { const lang = node.properties.dataLanguage; [...] }); }; } ``` Note: The `` element is not exposed when using Astro's `` component which outputs flattened HTML. The `data-language` attribute may also be used in css rules: ```css pre::before { content: attr(data-language); } pre[data-language="javascript"] { font-size: 2rem; } ```