Skip to content

Changelog

Fixed compatibility issues with Starlight v0.34.0.

  • Ion now requires Starlight v0.34.0 or higher.
  • Resolve peer dependency mismatch (unmet peer @astrojs/starlight@^0.31.1: found 0.32.x)
  • Removed old configuration options.
  • Re-added light mode support for the Ion theme.

Fixed compatibility issues with Starlight v0.32.0.

  • Ion now requires Starlight v0.32.0 or higher.
  • The plugin configuration is now optional, allowing you to use Ion without any configuration.

Starting with this release, you no longer need to use the resolve function exported by the plugin to resolve the path to your local icon directory:

import { ion, resolve } from "starlight-ion-theme";
export default defineConfig({
// ...
integrations: [
starlight({
// ...
plugins: [
ion({
icons: {
iconDir: resolve("./src/icons", import.meta.url),
iconDir: "./src/icons",
},
}),
],
}),
],
});

It is recommended to stop using the function, as it has been marked as deprecated. For compatibility reasons, the function will still be exported from the package until the next minor release.

  • Exposes full configuration options for astro-icon
  • Allows for icons from @iconify-json/* packages to be used with the square bracket syntax

The iconDir option has been removed in favor of the icons object, which now exposes astro-icon’s full configuration options.

To migrate, update your astro.config.mjs file to the following:

import { ion, resolve } from "starlight-ion-theme";
export default defineConfig({
// ...
integrations: [
starlight({
// ...
plugins: [
ion({
iconDir: resolve("./src/icons", import.meta.url),
icons: {
iconDir: resolve("./src/icons", import.meta.url),
},
}),
],
}),
],
});
  • Add missing files to npm release.
  • Refactored Ion into a Starlight plugin.