2.code-blocks.md 6.7 KB


title: Code Blocks description: Display inline code and code blocks in your documentation. navigation:

icon: i-lucide-code-xml

Basic

Inline Code

Use inline code to display code snippets within text paragraphs. It's ideal for referencing code elements directly in sentences.

::code-preview

class: "[&>div]:*:my-0"

inline code

#code

`inline code`

::

Code Blocks

Use code blocks to display multi-line code snippets with syntax highlighting. Code blocks are essential for presenting code examples clearly.

::code-preview

class: "[&>div]::my-0 [&>div]::w-full"

export default defineNuxtConfig({
  modules: ['@nuxt/ui-pro']
})

#code

```ts
export default defineNuxtConfig({
  modules: ['@nuxt/ui-pro']
})
```

::

When writing a code-block, you can specify a filename that will be displayed on top of the code block. An icon will be automatically displayed based on the extension or the name. Filenames help users understand the code's location and purpose within a project.

::code-preview

class: "[&>div]::my-0 [&>div]::w-full"

export default defineNuxtConfig({
  modules: ['@nuxt/ui-pro']
})

#code

```ts [nuxt.config.ts]
export default defineNuxtConfig({
  modules: ['@nuxt/ui-pro']
})
```

::

Every code-block has a built-in copy button that will copy the code to your clipboard.

::tip{to="https://ui.nuxt.com/getting-started/icons/nuxt#theme"} Icons are already defined by default, but you can customize them in your app.config.ts:

export default defineAppConfig({
  uiPro: {
    prose: {
      codeIcon: {
        terminal: 'i-ph-terminal-window-duotone'
      }
    }
  }
})

::

Advanced

CodeGroup

Group code blocks in tabs using code-group. code-group is perfect for showing code examples in multiple languages or package managers.

::code-preview

class: "[&>div]::my-0 [&>div]::w-full"

:::code-group{.w-full}

  pnpm add @nuxt/ui-pro@next
  yarn add @nuxt/ui-pro@next
  npm install @nuxt/ui-pro@next
  bun add @nuxt/ui-pro@next

:::

#code

:::code-group

```bash [pnpm]
pnpm add @nuxt/ui-pro@next
```

```bash [yarn]
yarn add @nuxt/ui-pro@next
```

```bash [npm]
npm install @nuxt/ui-pro@next
```

```bash [bun]
bun add @nuxt/ui-pro@next
```

::

::

CodeTree

Display code blocks in a file tree view using code-tree. code-tree is excellent for showcasing project structures and file relationships.

::code-preview{class="[&>div]::my-0 [&>div]::w-full"} :::code-tree{default-value="app/app.config.ts"}

  export default defineNuxtConfig({
    modules: ['@nuxt/ui-pro'],
  
    future: {
      compatibilityVersion: 4
    },
  
    css: ['~/assets/css/main.css']
  })
  
  @import "tailwindcss";
  @import "@nuxt/ui-pro";
  export default defineAppConfig({
    ui: {
      colors: {
        primary: 'sky',
        colors: 'slate'
      }
    }
  })
  <template>
    <UApp>
      <NuxtPage />
    </UApp>
  </template>
  {
    "name": "nuxt-app",
    "private": true,
    "type": "module",
    "scripts": {
      "build": "nuxt build",
      "dev": "nuxt dev",
      "generate": "nuxt generate",
      "preview": "nuxt preview",
      "postinstall": "nuxt prepare",
      "lint": "eslint .",
      "lint:fix": "eslint --fix ."
    },
    "dependencies": {
      "@iconify-json/lucide": "^1.2.18",
      "@nuxt/ui-pro": "3.0.0-alpha.10",
      "nuxt": "^3.15.1"
    },
    "devDependencies": {
      "eslint": "9.20.1",
      "typescript": "^5.7.2",
      "vue-tsc": "^2.2.0"
    }
  }
  {
    "extends": "./.nuxt/tsconfig.json"
  }
  # Nuxt 3 Minimal Starter
  
  Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
  
  ## Setup
  
  Make sure to install the dependencies:
  
  ```bash
  # npm
  npm install
  
  # pnpm
  pnpm install
  
  # yarn
  yarn install
  
  # bun
  bun install
  ```
  
  ## Development Server
  
  Start the development server on `http://localhost:3000`:
  
  ```bash
  # npm
  npm run dev
  
  # pnpm
  pnpm run dev
  
  # yarn
  yarn dev
  
  # bun
  bun run dev
  ```
  
  ## Production
  
  Build the application for production:
  
  ```bash
  # npm
  npm run build
  
  # pnpm
  pnpm run build
  
  # yarn
  yarn build
  
  # bun
  bun run build
  ```
  
  Locally preview production build:
  
  ```bash
  # npm
  npm run preview
  
  # pnpm
  pnpm run preview
  
  # yarn
  yarn preview
  
  # bun
  bun run preview
  ```
  
  Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.

::: ::

CodePreview

Use code-preview to show code output alongside the code. code-preview is ideal for interactive examples and demonstrating code results. Write the code to be previewed in a the default slot and the actual code in the code slot.

::code-preview

class: "[&>div]::my-0 [&>div]::w-full"

label: Preview

:::code-preview


class: "[&>div]:*:my-0"


inline code

#code

  `inline code`

:::

#code

::code-preview
`inline code`

#code
```mdc
`inline code`
```
::

::

CodeCollapse

Use code-collapse for long code blocks to keep pages clean. code-collapse allows users to expand code blocks only when needed, improving readability.

::code-preview

class: "[&>div]::my-0 [&>div]::w-full"

:::code-collapse{class="[&>div]:my-0"}

  @import "tailwindcss";
  @import "@nuxt/ui-pro";
  
  @theme {
    --font-sans: 'Public Sans', sans-serif;
  
    --breakpoint-3xl: 1920px;
  
    --color-green-50: #EFFDF5;
    --color-green-100: #D9FBE8;
    --color-green-200: #B3F5D1;
    --color-green-300: #75EDAE;
    --color-green-400: #00DC82;
    --color-green-500: #00C16A;
    --color-green-600: #00A155;
    --color-green-700: #007F45;
    --color-green-800: #016538;
    --color-green-900: #0A5331;
    --color-green-950: #052E16;
  }

:::

#code

::code-collapse

```css [main.css]
@import "tailwindcss";
@import "@nuxt/ui-pro";

@theme {
  --font-sans: 'Public Sans', sans-serif;

  --breakpoint-3xl: 1920px;

  --color-green-50: #EFFDF5;
  --color-green-100: #D9FBE8;
  --color-green-200: #B3F5D1;
  --color-green-300: #75EDAE;
  --color-green-400: #00DC82;
  --color-green-500: #00C16A;
  --color-green-600: #00A155;
  --color-green-700: #007F45;
  --color-green-800: #016538;
  --color-green-900: #0A5331;
  --color-green-950: #052E16;
}
```

::

::