Fix markdown demo token

pull/2/head
qingwei.li 2016-08-23 13:46:51 +08:00
parent c927dfb1da
commit 5c4350914e
2 changed files with 11 additions and 2 deletions

View File

@ -44,6 +44,7 @@
"oui-dom-events": "^0.2.1",
"postcss": "^5.0.21",
"purecss": "^0.6.0",
"strip-tags": "^0.1.1",
"uppercamelcase": "^1.1.0",
"vue": "^2.0.0-rc.2",
"vue-loader": "^9.3.2",

View File

@ -2,6 +2,7 @@ var cooking = require('cooking');
var path = require('path');
var md = require('markdown-it')();
var Components = require('../components.json');
var striptags = require('strip-tags');
cooking.set({
entry: {
@ -60,12 +61,19 @@ cooking.add('vueMarkdown', {
render: function (tokens, idx) {
var m = tokens[idx].info.trim().match(/^demo\s+(.*)$/);
if (tokens[idx].nesting === 1) {
var html = tokens[idx + 1].content;
var description = (m && m.length > 1) ? m[1] : '';
var html = striptags(tokens[idx + 1].content, 'script');
var descriptionHTML = description
? '<div class="description">' + md.render(description) + '</div>'
: '';
return `<section class="demo">
<div class="source">${html}</div>
<div class="meta">
<div class="description">${md.utils.escapeHtml(m[1])}</div>
${descriptionHTML}
<div class="highlight">`;
}
return '</section>\n';