Skip to content

Get Started with vuejs-code-block

Installation

To get started, install the package via npm:

bash
npm install vuejs-code-block

Alternatively, if you're using Yarn:

bash
yarn add vuejs-code-block

Basic Usage

Once installed, you can start using the CodeBlock component in your Vue 3 app to display syntax-highlighted code. Here’s a simple example:

vue
<template>
  <CodeBlock
    theme="dark"
    :code="codeExample"
    language="javascript"
    class="custom-class"
    id="example-code-block" />
</template>

<script setup lang="ts">
  import { CodeBlock } from 'vuejs-code-block';

  const codeExample = `
function greet(name) {
  console.log('Hello, ' + name);
}

greet('World');
`;
</script>

WARNING ❗

Make sure the content of the codeExample string does NOT have leading spaces. The code should be formatted like this:

ts
const codeExample = `
function greet(name) {
  console.log('Hello, ' + name);
}

greet('World');
`;

Avoid writing it with leading spaces like this:

ts
const codeExample = `
  function greet(name) {
    console.log('Hello, ' + name);
  }

  greet('World');
`;

Incorrect formatting may cause unexpected whitespace in the code block.

Props:

PropTypeRequiredDefaultDescription
codestringYesN/AThe code you want to display, passed as a string.
languagestringYesN/ASpecifies the programming language for syntax highlighting.
themestringYesN/ASpecifies the theme to be used for syntax highlighting (light or dark).
asElementstringNo<pre>Defines the HTML element wrapping the code block (defaults to <pre>).
numberedbooleanNofalseDisplays line numbers when set to true.
showHeaderbooleanNotrueDisplays the code block header (title, language icon, and copy button) when set to true.
file-namestringNoN/AThe name of the file to be displayed in the header.

Themes:

Theme NameImage
DraculaDracula Theme
Duotone DarkDuotone Dark Theme
Duotone LightDuotone Light Theme
GitHubGitHub Theme
Night OwlNight Owl Theme
NoneNone
Oceanic NextOceanic Next Theme
Prism DarkPrism Dark Theme
Prism FunkyPrism Funky Theme
Prism OkaidiaPrism Okaidia Theme
Prism Solarized Light ThemePrism Solarized Light
PrismPrism Theme
Prism Theme CoyPrism Theme Coy
Prism TomorrowPrism Tomorrow Theme
Prism TwilightPrism Twilight Theme
Shades of PurpleShades of Purple
UltraMinUltraMin Theme
VS DarkVS Dark Theme

Released under the MIT License.