1- import { inBrowser } from 'vitepress'
21import { loadRes } from '@bassist/utils'
2+ import { inBrowser } from 'vitepress'
33
44interface Config {
55 hot : string
@@ -18,9 +18,7 @@ const iconConfig: Config = {
1818 new : '<i class="sidebar__icon--default sidebar__icon--new"></i>' ,
1919}
2020
21- /**
22- * 设置图标样式
23- */
21+ /** 设置图标样式 */
2422export function setSymbolStyle ( ) {
2523 if ( ! inBrowser ) return
2624 try {
@@ -69,16 +67,14 @@ export function setSymbolStyle() {
6967 id : 'symbol-plugin' ,
7068 resource : CSS ,
7169 } ) . catch ( ( e ) => {
72- console . log ( e )
70+ console . error ( e )
7371 } )
7472 } catch ( e ) {
75- console . log ( e )
73+ console . error ( e )
7674 }
7775}
7876
79- /**
80- * 执行标记替换
81- */
77+ /** 执行标记替换 */
8278export function replaceSymbol ( ) {
8379 if ( ! inBrowser ) return
8480 setTimeout ( ( ) => {
@@ -95,35 +91,31 @@ export function replaceSymbol() {
9591 doms . forEach ( ( item ) => {
9692 let html = item . innerHTML
9793
98- for ( const key in markConfig ) {
99- if ( Object . hasOwnProperty . call ( markConfig , key ) ) {
100- const k = key as keyof Config
101- const mark = markConfig [ k ]
102- const icon = iconConfig [ k ]
103- const reg = new RegExp ( mark , 'img' )
94+ for ( const [ key , mark ] of Object . entries ( markConfig ) ) {
95+ const k = key as keyof Config
96+ const icon = iconConfig [ k ]
97+ const reg = new RegExp ( mark , 'img' )
10498
105- // 只处理包含标记的元素
106- if ( html . includes ( mark ) ) {
107- // 部分元素不显示图标
108- const { nodeName } = item
109- switch ( nodeName ) {
110- case 'H2' :
111- case 'H3' :
112- case 'H4' :
113- html = html . replace ( reg , '' )
114- break
115- default :
116- html = html . replace ( reg , icon )
117- }
118-
119- // 渲染
120- item . innerHTML = html
99+ // 只处理包含标记的元素
100+ if ( html . includes ( mark ) ) {
101+ const { nodeName } = item
102+ switch ( nodeName ) {
103+ case 'H2' :
104+ case 'H3' :
105+ case 'H4' :
106+ html = html . replace ( reg , '' )
107+ break
108+ default :
109+ html = html . replace ( reg , icon )
121110 }
111+
112+ // 渲染
113+ item . innerHTML = html
122114 }
123115 }
124116 } )
125117 } catch ( e ) {
126- console . log ( e )
118+ console . error ( e )
127119 }
128120 } , 100 )
129121}
0 commit comments