11import type { BuiltinLanguage } from 'shiki'
2- import { defineNuxtModule , extendViteConfig , logger } from '@nuxt/kit'
2+ import { addVitePlugin , defineNuxtModule , logger } from '@nuxt/kit'
33import { consola } from 'consola'
44import LinkAttributes from 'markdown-it-link-attributes'
55import { createHighlighter } from 'shiki'
@@ -24,39 +24,38 @@ export default defineNuxtModule({
2424
2525 nuxt . options . extensions . push ( '.md' )
2626
27- extendViteConfig ( ( config ) => {
28- config . plugins ! . push (
29- Markdown ( {
30- async markdownItSetup ( md ) {
31- md . use ( LinkAttributes , {
32- matcher : ( link : string ) => / ^ h t t p s ? : \/ \/ / . test ( link ) ,
33- attrs : {
34- target : '_blank' ,
35- rel : 'noopener' ,
27+ addVitePlugin ( ( ) => {
28+ return Markdown ( {
29+ frontmatter : false ,
30+ async markdownItSetup ( md ) {
31+ md . use ( LinkAttributes , {
32+ matcher : ( link : string ) => / ^ h t t p s ? : \/ \/ / . test ( link ) ,
33+ attrs : {
34+ target : '_blank' ,
35+ rel : 'noopener' ,
36+ } ,
37+ } )
38+
39+ const highlighter = await createHighlighter ( {
40+ themes : [
41+ 'vitesse-dark' ,
42+ 'vitesse-light' ,
43+ ] ,
44+ langs : Object . keys ( bundledLanguages ) ,
45+ } )
46+
47+ md . options . highlight = ( code , lang ) => {
48+ const _lang = ( highlighter . getLoadedLanguages ( ) . includes ( lang ) ? lang : 'text' ) as BuiltinLanguage
49+ return highlighter . codeToHtml ( code , {
50+ lang : _lang || 'text' ,
51+ themes : {
52+ dark : 'vitesse-dark' ,
53+ light : 'vitesse-light' ,
3654 } ,
3755 } )
38-
39- const highlighter = await createHighlighter ( {
40- themes : [
41- 'vitesse-dark' ,
42- 'vitesse-light' ,
43- ] ,
44- langs : Object . keys ( bundledLanguages ) ,
45- } )
46-
47- md . options . highlight = ( code , lang ) => {
48- const _lang = ( highlighter . getLoadedLanguages ( ) . includes ( lang ) ? lang : 'text' ) as BuiltinLanguage
49- return highlighter . codeToHtml ( code , {
50- lang : _lang || 'text' ,
51- themes : {
52- dark : 'vitesse-dark' ,
53- light : 'vitesse-light' ,
54- } ,
55- } )
56- }
57- } ,
58- } ) ,
59- )
60- } )
56+ }
57+ } ,
58+ } )
59+ } , { server : false , client : true } )
6160 } ,
6261} )
0 commit comments