diff --git a/package.json b/package.json index ca02cc199..071ee27bd 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/scripts/cooking.demo.js b/scripts/cooking.demo.js index 2f65d8808..22b0b66dc 100644 --- a/scripts/cooking.demo.js +++ b/scripts/cooking.demo.js @@ -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 + ? '
' + md.render(description) + '
' + : ''; + return `
${html}
-
${md.utils.escapeHtml(m[1])}
+ ${descriptionHTML}
`; } return '
\n';