Important
For now this package has default themes, but in the future, it will be fully unstyled, allowing you to style it however you like.
To get started, install the package via npm:
npm install vuejs-code-block
Alternatively, if you're using Yarn:
yarn add vuejs-code-block
Once installed, you can start using the CodeBlock
component in your Vue 3
app to display syntax-highlighted code. Here’s a simple example:
<template>
<CodeBlock
:code="code"
:numbered="true"
:show-header="true"
file-name="codeBlock.ts"
language="ts"
theme="dracula">
</CodeBlock>
</template>
<script setup lang="ts">
import { CodeBlock } from './components/code-block';
const code = `const name = 'Vuejs Code Block';
const usrls = {
github: 'https://github.com/hetari/vuejs-code-block',
docs: 'https://hetari.github.io/vuejs-code-block/'
};`;
</script>
[!WARNING] WARNING ❗ Make sure the content of the
codeExample
string does NOT have leading spaces. The code should be formatted like this:const codeExample = ` function greet(name) { console.log('Hello, ' + name); } greet('World'); `;Avoid writing it with leading spaces like this:
const codeExample = ` function greet(name) { console.log('Hello, ' + name); } greet('World'); `;Incorrect formatting may cause unexpected whitespace in the code block.
Prop | Type | Required | Default | Description |
---|---|---|---|---|
code |
string |
Yes | N/A | The code you want to display, passed as a string. |
language |
string |
Yes | N/A | Specifies the programming language for syntax highlighting. |
theme |
string |
Yes | N/A | Specifies the theme to be used for syntax highlighting (light or dark). |
asElement |
string |
No | <pre> |
Defines the HTML element wrapping the code block (defaults to <pre> ). |
numbered |
boolean |
No | false |
Displays line numbers when set to true . |
showHeader |
boolean |
No | true |
Displays the code block header (title, language icon, and copy button) when set to true . |
file-name |
string |
No | N/A | The name of the file to be displayed in the header. |