瀏覽代碼

Fix markdown demo token

qingwei.li 9 年之前
父節點
當前提交
5c4350914e
共有 2 個文件被更改,包括 11 次插入2 次删除
  1. 1 0
      package.json
  2. 10 2
      scripts/cooking.demo.js

+ 1 - 0
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",

+ 10 - 2
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
+            ? '<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';