Skip to content

Commit 8a2aca8

Browse files
committed
fix issue: markdown config not work
1 parent f713590 commit 8a2aca8

8 files changed

+42
-34
lines changed

build/webpack.plugin.conf.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ var webpackConfig = merge(baseWebpackConfig, {
2121
extract: true
2222
})
2323
},
24-
// devtool: config.build.productionSourceMap ? '#source-map' : false,
24+
devtool: config.build.productionSourceMap ? '#source-map' : false,
2525
output: {
2626
path: config.build.assetsRoot,
2727
filename: 'docsify-demo-box-vue.min.js',

build/webpack.prod.conf.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ var webpackConfig = merge(baseWebpackConfig, {
2121
extract: true
2222
})
2323
},
24-
// devtool: config.build.productionSourceMap ? '#source-map' : false,
24+
devtool: config.build.productionSourceMap ? '#source-map' : false,
2525
output: {
2626
path: config.build.assetsRoot,
2727
filename: 'docsify-demo-box-vue.min.js',

dist/docsify-demo-box-vue.js

+28-24
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ $exports.store = store;
109109
/* 2 */
110110
/***/ (function(module, exports) {
111111

112-
var core = module.exports = { version: '2.5.6' };
112+
var core = module.exports = { version: '2.6.5' };
113113
if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
114114

115115

@@ -446,7 +446,7 @@ var store = global[SHARED] || (global[SHARED] = {});
446446
})('versions', []).push({
447447
version: core.version,
448448
mode: __webpack_require__(21) ? 'pure' : 'global',
449-
copyright: 2018 Denis Pushkarev (zloirock.ru)'
449+
copyright: 2019 Denis Pushkarev (zloirock.ru)'
450450
});
451451

452452

@@ -988,11 +988,10 @@ var createCodeFn = function createCodeFn(oCodeFn) {
988988

989989
var create = function create(jsResources, cssResources, bootCode) {
990990
return function (hook, vm) {
991-
window.$docsify.markdown = {
992-
renderer: {
993-
code: createCodeFn(window.$docsify.markdown && window.$docsify.markdown.renderer && window.$docsify.markdown.renderer.code)
994-
}
995-
};
991+
window.$docsify.markdown = window.$docsify.markdown || {};
992+
window.$docsify.markdown.renderer = window.$docsify.markdown.renderer || {};
993+
994+
window.$docsify.markdown.renderer.code = createCodeFn(window.$docsify.markdown.renderer.code);
996995
};
997996
};
998997

@@ -3821,7 +3820,7 @@ Prism.languages.javascript = Prism.languages.extend('clike', {
38213820

38223821
Prism.languages.insertBefore('javascript', 'keyword', {
38233822
'regex': {
3824-
pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
3823+
pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/,
38253824
lookbehind: true,
38263825
greedy: true
38273826
},
@@ -3835,23 +3834,24 @@ Prism.languages.insertBefore('javascript', 'keyword', {
38353834

38363835
Prism.languages.insertBefore('javascript', 'string', {
38373836
'template-string': {
3838-
pattern: /`(?:\\[\s\S]|[^\\`])*`/,
3837+
pattern: /`(?:\\[\s\S]|\${[^}]+}|[^\\`])*`/,
38393838
greedy: true,
38403839
inside: {
38413840
'interpolation': {
3842-
pattern: /\$\{[^}]+\}/,
3841+
pattern: /\${[^}]+}/,
38433842
inside: {
38443843
'interpolation-punctuation': {
3845-
pattern: /^\$\{|\}$/,
3844+
pattern: /^\${|}$/,
38463845
alias: 'punctuation'
38473846
},
3848-
rest: Prism.languages.javascript
3847+
rest: null // See below
38493848
}
38503849
},
38513850
'string': /[\s\S]+/
38523851
}
38533852
}
38543853
});
3854+
Prism.languages.javascript['template-string'].inside['interpolation'].inside.rest = Prism.languages.javascript;
38553855

38563856
if (Prism.languages.markup) {
38573857
Prism.languages.insertBefore('markup', 'tag', {
@@ -3895,7 +3895,7 @@ Prism.languages.js = Prism.languages.javascript;
38953895
var src = pre.getAttribute('data-src');
38963896

38973897
var language, parent = pre;
3898-
var lang = /\blang(?:uage)?-(?!\*)([\w-]+)\b/i;
3898+
var lang = /\blang(?:uage)?-([\w-]+)\b/i;
38993899
while (parent && !lang.test(parent.className)) {
39003900
parent = parent.parentNode;
39013901
}
@@ -3939,25 +3939,29 @@ Prism.languages.js = Prism.languages.javascript;
39393939
}
39403940
};
39413941

3942-
if (pre.hasAttribute('data-download-link') && Prism.plugins.toolbar) {
3943-
Prism.plugins.toolbar.registerButton('download-file', function () {
3944-
var a = document.createElement('a');
3945-
a.textContent = pre.getAttribute('data-download-link-label') || 'Download';
3946-
a.setAttribute('download', '');
3947-
a.href = src;
3948-
return a;
3949-
});
3950-
}
3951-
39523942
xhr.send(null);
39533943
});
39543944

3945+
if (Prism.plugins.toolbar) {
3946+
Prism.plugins.toolbar.registerButton('download-file', function (env) {
3947+
var pre = env.element.parentNode;
3948+
if (!pre || !/pre/i.test(pre.nodeName) || !pre.hasAttribute('data-src') || !pre.hasAttribute('data-download-link')) {
3949+
return;
3950+
}
3951+
var src = pre.getAttribute('data-src');
3952+
var a = document.createElement('a');
3953+
a.textContent = pre.getAttribute('data-download-link-label') || 'Download';
3954+
a.setAttribute('download', '');
3955+
a.href = src;
3956+
return a;
3957+
});
3958+
}
3959+
39553960
};
39563961

39573962
document.addEventListener('DOMContentLoaded', self.Prism.fileHighlight);
39583963

39593964
})();
3960-
39613965
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(26)))
39623966

39633967
/***/ }),

dist/docsify-demo-box-vue.min.js

+2-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/docsify-demo-box-vue.min.js.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
55
This plugin is for Vue. For React, please use [docsify-demo-box-react](https://njleonzhang.github.io/docsify-demo-box-react/)
66

7+
1
8+
2
9+
3
10+
711
## Usage
812

913
1. import vue and this plugin to docsify `index.html`

docs/index.html

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
window.$docsify = {
2525
name: 'docsify-demo-box-vue',
2626
repo: 'https://github.com/njleonzhang/docsify-demo-box-vue',
27+
markdown: { breaks: true, },
2728
plugins: [
2829
DemoBoxVue.create(jsResources, cssResources, bootCode)
2930
]

src/plugin/index.js

+4-7
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,9 @@ let createCodeFn = function(oCodeFn) {
2424

2525
export let create = function(jsResources, cssResources, bootCode) {
2626
return function(hook, vm) {
27-
window.$docsify.markdown = {
28-
renderer: {
29-
code: createCodeFn(window.$docsify.markdown &&
30-
window.$docsify.markdown.renderer &&
31-
window.$docsify.markdown.renderer.code)
32-
}
33-
}
27+
window.$docsify.markdown = window.$docsify.markdown || {}
28+
window.$docsify.markdown.renderer = window.$docsify.markdown.renderer || {}
29+
30+
window.$docsify.markdown.renderer.code = createCodeFn(window.$docsify.markdown.renderer.code)
3431
}
3532
}

0 commit comments

Comments
 (0)