Astro: @astrojs/[email protected] Release

Release date:
April 11, 2024
Previous version:
@astrojs/[email protected] (released April 2, 2024)
Magnitude:
0 Diff Delta
Contributors:
0 total committers
Data confidence:
Commits:

Top Contributors in @astrojs/[email protected]

Could not determine top contributors for this release.

Directory Browser for @astrojs/[email protected]

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

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