nuxt/content + Vuetifyでコードブロックの表示がおかしい場合の対策
2022.04.13 08:30
nuxtjs
prismjs
prism-theme
nuxt/content を Vuetify と使うとコードブロックの表示がおかしい
このブログを Nuxt.js で作る際に、nuxt/conten を利用して Markdown で記事を書けるようにしました。 サイトデザイン用に Vuetify.js をインストールしていると、CSS が2重に適用されてしまうようで、コードブロックを使うと表示がおかしくなっていたので対策しました。
Vuetify.js の CSS をオフにする
.v-application code {
all: unset !important;
}
これでコードブロックの表示は nuxt/cotent で使われているPrismJSの CSS の CSS が適用されます。
また、PrismJS はテーマに対応しているので好きなデザインを使用することができます。
Prism Theme を適用する
まずはインストール。
yarn add prism-themes
nuxt.config.jsに設定を追加することで簡単に適用できます。
Prism themes - Githubを見て好きなデザインの css ファイル名を確認し、追加します。
nuxt.config.js
content: {
markdown: {
prism: {
theme: 'prism-themes/themes/prism-one-dark.css',
},
},
},
参考サイト
https://github.com/PrismJS/prism-themes
https://developer.same-san.com/detail/nuxtcontent-vuetify-conflict
https://hukurouo.com/articles/2020-10-04-codeblock