どーも、ぐるたか@guru_takaです。
Nuxtでコードにシンタックスハイライトさせることがあったので、方法をまとめました。
使用するパッケージはvue-highlightjs
です。readme.md
に沿って、紹介していきます!
参考
metachris/vue-highlightjs: Syntax highlighting with highlight.js for Vue.js 2.x
目次
手順
STEP.1
vue-highlightjs
のインストールSTEP.2
pluginsフォルダにファイル作成
STEP.3
nuxt.config.js
の設定編集STEP.1:vue-highlightjs
のインストール
まずは、vue-highlightjs
をインストールします。
コマンドライン
npm install --save vue-highlightjs
STEP.2:pluginsフォルダにファイル作成
その後、plugins/vue-highlightjs.js
ファイルを作り、以下のコードを記載します。
plugins/vue-highlightjs.js
import Vue from 'vue'
import VueHighlightJS from 'vue-highlightjs'
Vue.use(VueHighlightJS)
STEP.3:nuxt.config.js
を編集
最後に、nuxt.config.js
を編集すればOK!以下の部分を修正していきます。
nuxt.config.js
......
/*
** 追記
*/
plugins: ['@/plugins/vue-highlightjs'],
......
/*
** シンタックスハイライトのCSSを追記
*/
css: [
{
src: '~/node_modules/highlight.js/styles/tomorrow-night-bright.css',
lang: 'css'
},
],
......
まず、plugins/vue-highlightjs.js
ファイルをインスタンス起動時に読み込むようにします。
すると、どんなvueファイルでも、シンタックスハイライト用のタグ<pre v-highlightjs><code class="python"></code></pre>
が使えます!
また、シンタックスハイライトのCSSファイルは、自分の好きなファイルを読み込めばOK!
公式のデモサイトで各CSSファイルの雰囲気がわかるので、参考にしてみてください。
参考
highlight.js demo
シンタックスハイライトを効かせる方法
あとは、<pre v-highlightjs><code class="python"></code></pre>
でコード内容を挟めば完成です。
class
に各言語(javascriptやpythonなど)を割り当てると、シンタックスハイライトが効くようになります。
以下、サンプルです!
sample.vue
<pre v-highlightjs>
<code class="javascript">console.log('hello world!');</code>
</pre>
コメントを残す