* Fix summary tags being removed by XSS * Follow falseresync's suggestion Co-authored-by: joaoh1 <joaoh1@users.noreply.github.com>
27 lines
501 B
JavaScript
27 lines
501 B
JavaScript
import Vue from 'vue'
|
|
import xss from 'xss'
|
|
import marked from 'marked'
|
|
|
|
const options = {
|
|
whiteList: {
|
|
...xss.whiteList,
|
|
summary: [],
|
|
},
|
|
}
|
|
|
|
const configuredXss = new xss.FilterXSS(options)
|
|
|
|
function compileMarkdown(target, markdown) {
|
|
target.innerHTML = configuredXss.process(marked(markdown))
|
|
}
|
|
|
|
Vue.directive('compiled-markdown', {
|
|
bind(el, binding, vnode) {
|
|
compileMarkdown(el, binding.value)
|
|
},
|
|
|
|
update(el, binding, vnode) {
|
|
compileMarkdown(el, binding.value)
|
|
},
|
|
})
|