Bläddra i källkod

Merge pull request from GHSA-9jgg-4xj2-vjjj

Nicolas Giard 5 år sedan
förälder
incheckning
9e08718ee9
1 ändrade filer med 13 tillägg och 1 borttagningar
  1. 13 1
      server/modules/rendering/html-core/renderer.js

+ 13 - 1
server/modules/rendering/html-core/renderer.js

@@ -4,6 +4,8 @@ const uslug = require('uslug')
 const pageHelper = require('../../../helpers/page')
 const URL = require('url').URL
 
+const mustacheRegExp = /(\{|{?){2}(.+?)(\}|}?){2}/i
+
 /* global WIKI */
 
 module.exports = {
@@ -230,6 +232,16 @@ module.exports = {
       headers.push(headerSlug)
     })
 
+    // --------------------------------
+    // Wrap root text nodes
+    // --------------------------------
+
+    $('body').contents().toArray().forEach(item => {
+      if (item.type === 'text' && item.parent.name === 'body') {
+        $(item).wrap('<div></div>')
+      }
+    })
+
     // --------------------------------
     // Escape mustache expresions
     // --------------------------------
@@ -239,7 +251,7 @@ module.exports = {
       list.forEach(item => {
         if (item.type === 'text') {
           const rawText = $(item).text()
-          if (rawText.indexOf('{{') >= 0 && rawText.indexOf('}}') > 1) {
+          if (mustacheRegExp.test(rawText)) {
             $(item).parent().attr('v-pre', true)
           }
         } else {