# nuxt-shiki **Repository Path**: yanjitech/nuxt-shiki ## Basic Information - **Project Name**: nuxt-shiki - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-15 - **Last Updated**: 2025-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # nuxt-shiki [![npm version](https://img.shields.io/npm/v/nuxt-shiki)](https://npmjs.com/package/nuxt-shiki) [![npm downloads](https://img.shields.io/npm/dm/nuxt-shiki)](https://npmjs.com/package/nuxt-shiki) [Nuxt](https://nuxt.com/) + [Shiki](https://shiki.style/) syntax highlighter! ## Features - Configurable themes and languages - Full lazy loading with auto hydration of highlighted code - Treeshakable and optimized integration with shiki/core > [!IMPORTANT] > This module is under development! ## Quick setup Add Nuxt module: ```bash npx nuxi module add nuxt-shiki ``` That's it! You can now use nuxt-shiki in your Nuxt app ✨ ## Options Options can be configured using `shiki` key in `nuxt.config`: ```js export default defineNuxtConfig({ modules: ['nuxt-shiki'], shiki: { /* shiki options */ }, }) ``` Available options: - `bundledThemes` and `bundledLangs` can be configured to set bundled themes and languages. - `defaultTheme` and `defaultLang` can be configured to set default theme and language. - `langAlias` can be configured to set language aliases. - `highlightOptions` can be configured to set highlight defaults. ## `` component You can use `` component to highlight code in your Vue app: ```vue ``` The component will render a `pre` tag with highlighted code inside. You can use the `as` prop to render a different tag: ```vue ``` If `unwrap` prop is set to `true` or `as` is `pre`, it will automatically unwrap the code props to top level. Additionally you can use `highlightOptions` prop to set shiki highlight options. ## Utils ### `getShikiHighlighter()` Lazy-load shiki instance. You can use this utility both in `server/` and vue app code. **Example:** ```vue ``` **Example:** ```ts // server/api/highlight.ts export default defineEventHandler(async (event) => { const highlighter = await getShikiHighlighter() return highlighter.highlight(`const hello = 'shiki'`, { lang: 'js' }) }) ``` ### `useShikiHighlighted(code, options)` Return a lazy highlighted code ref (only usable in Vue) **Example:** ```vue ``` ## Development ```bash # Install dependencies npm install # Generate type stubs npm run dev:prepare # Develop with the playground npm run dev # Build the playground npm run dev:build # Run ESLint npm run lint # Run Vitest npm run test npm run test:watch # Release new version npm run release ```