github withastro/astro @astrojs/markdown-remark@5.1.0

latest releases: astro@4.9.2, @astrojs/upgrade@0.3.1, astro@4.9.1...
one month ago

Minor Changes

  • #10538 ccafa8d230f65c9302421a0ce0a0adc5824bfd55 Thanks @604qgc! - 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 <pre> element using { tagName: "pre" }:

    // 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 <pre> element is not exposed when using Astro's <Code /> component which outputs flattened HTML.

    The data-language attribute may also be used in css rules:

    pre::before {
      content: attr(data-language);
    }
    
    pre[data-language='javascript'] {
      font-size: 2rem;
    }

Patch Changes

Don't miss a new astro release

NewReleases is sending notifications on new releases.