dm-vue-highlight

2.2.0 • Public • Published

Vue Highlight.js

license vue 2 npm npm Travis Codacy grade ESLint Gluons

📜 Highlight.js syntax highlighter component for Vue.

⚙️ Installation

Via NPM:

NPM

  1. Install highlight.js:

    npm install highlight.js
  2. Install Vue Highlight.js:

    npm install vue-highlight.js

Or Yarn:

  1. Install highlight.js:

    yarn add highlight.js
  2. Install Vue Highlight.js:

    yarn add vue-highlight.js

🎬 Demo

Go to https://gluons.github.io/vue-highlight.js

🛂 Usage

Main file:

import Vue from 'vue';
import VueHighlightJS from 'vue-highlight.js';
import App from './App';

/*
 * Use Vue Highlight.js
 */
Vue.use(VueHighlightJS);

/*
 * Import Highlight.js theme
 * Find more: https://highlightjs.org/static/demo/
 */
import 'highlight.js/styles/default.css';

new Vue({
	el: '#app',
	render: h => h(App)
});

Vue file:

<template>
	<div id="app">
		<!-- Code Block -->
		<highlight-code lang="javascript">
			let str = 'Hello, World!';
			console.log(str);
		</highlight-code>

		<!-- Inline Code Block -->
		<highlight-code lang="javascript" inline>alert('Hello, World!');</highlight-code>
	</div>
</template>

<script>
// JavaScript...
</script>

<style>
/* StyleSheet... */
</style>

📚 API

<highlight-code>

Highlight.js code block.

🔰 Slots

Static code content.

🔰 Properties

lang

Type: String

Highlight.js language.

inline

Type: Boolean
Default: false

Enable inline code block when set it to true.

code

Type: String

Code content in code block.

You can use this prop if you want to bind code content to your data source.
It's useful for dynamic code content.

Component will ignore slot static content if you use this.

auto

Type: Boolean

Enable auto detecting code language.

Code will be detected by highlight.js' highlightAuto function.

Component will ignore lang prop if you use this.

❓ FAQ

  • How to write HTML code inside slot?

    You have to escape all HTML tags before add it into slot.
    If you didn't do that, browser will interpret those tags as HTML element.
    ℹ️ See isagalaev/highlight.js#866

    If you use code property instead of slot, you don't need to worry about this.
    Vue Highlight.js will automatically escape it for you.

  • Why did I get SyntaxError: Unterminated template literal error when used <script></script> in code property?

    If you add </script> at anywhere inside script tag, although it's a string inside quotes, it will always close the script tag.
    ℹ️ See "Unterminated template literal" syntax error when literal contains script tag


🛣️ Roadmap on Trello

Vue Highlight.js on Trello

Package Sidebar

Install

npm i dm-vue-highlight

Weekly Downloads

2

Version

2.2.0

License

MIT

Unpacked Size

151 kB

Total Files

9

Last publish

Collaborators

  • xiangjun9988