@@ -5,6 +5,7 @@ import { activeLink, scrollActiveSidebar, bindToggle, scroll2Top, sticky } from
5
5
import { genTree , getRoute , isMobile , slugify , merge } from './util'
6
6
7
7
let OPTIONS = { }
8
+ let markdown = marked
8
9
let toc = [ ]
9
10
const CACHE = { }
10
11
@@ -54,7 +55,13 @@ export function init (options) {
54
55
55
56
return `<a href="${ href } " title="${ title || '' } ">${ text } </a>`
56
57
}
57
- marked . setOptions ( merge ( { renderer } , OPTIONS . marked ) )
58
+
59
+ if ( typeof OPTIONS . markdown === 'function' ) {
60
+ markdown . setOptions ( { renderer } )
61
+ markdown = OPTIONS . markdown . call ( this , markdown )
62
+ } else {
63
+ markdown . setOptions ( merge ( { renderer } , OPTIONS . markdown ) )
64
+ }
58
65
}
59
66
60
67
/**
@@ -84,7 +91,7 @@ export function renderApp (dom, replace) {
84
91
* article
85
92
*/
86
93
export function renderArticle ( content ) {
87
- renderTo ( 'article' , content ? marked ( content ) : 'not found' )
94
+ renderTo ( 'article' , content ? markdown ( content ) : 'not found' )
88
95
if ( ! OPTIONS . sidebar && ! OPTIONS . loadSidebar ) renderSidebar ( )
89
96
90
97
if ( content && typeof Vue !== 'undefined' && typeof Vuep !== 'undefined' ) {
@@ -101,7 +108,7 @@ export function renderNavbar (content) {
101
108
if ( CACHE . navbar && CACHE . navbar === content ) return
102
109
CACHE . navbar = content
103
110
104
- if ( content ) renderTo ( 'nav' , marked ( content ) )
111
+ if ( content ) renderTo ( 'nav' , markdown ( content ) )
105
112
activeLink ( 'nav' )
106
113
}
107
114
@@ -112,7 +119,7 @@ export function renderSidebar (content) {
112
119
let html
113
120
114
121
if ( content ) {
115
- html = marked ( content )
122
+ html = markdown ( content )
116
123
} else if ( OPTIONS . sidebar ) {
117
124
html = tpl . tree ( OPTIONS . sidebar , '<ul>' )
118
125
} else {
@@ -145,7 +152,7 @@ export function renderCover (content) {
145
152
if ( renderCover . rendered ) return
146
153
147
154
// render cover
148
- let html = marked ( content )
155
+ let html = markdown ( content )
149
156
const match = html . trim ( ) . match ( '<p><img[^s]+src="(.*?)"[^a]+alt="(.*?)"></p>$' )
150
157
151
158
// render background
0 commit comments