You've already forked AstralRinth
forked from didirus/AstralRinth
Fix hljs class parsing (#1174)
This commit is contained in:
@@ -50,12 +50,14 @@ export const configuredXss = new xss.FilterXSS({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// For Highlight.JS
|
// For Highlight.JS
|
||||||
if (
|
if (name === 'class' && ['pre', 'code', 'span'].includes(tag)) {
|
||||||
name === 'class' &&
|
const allowedClasses = []
|
||||||
['pre', 'code', 'span'].includes(tag) &&
|
for (const className of value.split(/\s/g)) {
|
||||||
(value.startsWith('hljs-') || value.startsWith('language-'))
|
if (className.startsWith('hljs-') || className.startsWith('language-')) {
|
||||||
) {
|
allowedClasses.push(className)
|
||||||
return name + '="' + xss.escapeAttrValue(value) + '"'
|
}
|
||||||
|
}
|
||||||
|
return name + '="' + xss.escapeAttrValue(allowedClasses.join(' ')) + '"'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
safeAttrValue(tag, name, value, cssFilter) {
|
safeAttrValue(tag, name, value, cssFilter) {
|
||||||
|
|||||||
Reference in New Issue
Block a user