# Nuxt (/integrations/nuxt)

[Full example on GitHub](https://github.com/leandrocp/lumis/tree/main/packages/javascript/rehype-lumis/examples/nuxt)

Nuxt Content exposes markdown rehype plugins, so Lumis fits at the content pipeline layer.

## Install

```bash
npm install @nuxt/content @lumis-sh/rehype-lumis \
  @lumis-sh/lumis @lumis-sh/themes \
  @lumis-sh/wasm-bundle-web
```

## Configure `nuxt.config.ts`

```ts
import {htmlInline} from '@lumis-sh/lumis/formatters'
import web from '@lumis-sh/wasm-bundle-web'
import latte from '@lumis-sh/themes/catppuccin_latte'

export default defineNuxtConfig({
  modules: ['@nuxt/content'],
  content: {
    build: {
      markdown: {
        highlight: false,
        rehypePlugins: {
          '@lumis-sh/rehype-lumis': {
            options: {
              formatter: (language) =>
                htmlInline({language, theme: latte}),
              languages: [web],
            },
          },
        },
      },
    },
  },
})
```

Disable Nuxt Content's built-in Shiki highlighting with `highlight: false` when Lumis owns code blocks.

The rehype plugin options must be nested under `options` because Nuxt Content's plugin loader expects `{ instance?, options? }`.