2
0
Эх сурвалжийг харах

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

Nicolas Giard 5 жил өмнө
parent
commit
9e08718ee9

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

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