mirror of
https://github.com/danbulant/Nertivia-Client
synced 2026-06-14 03:51:04 +00:00
escaped everything manually to fix highlighting bug
This commit is contained in:
parent
3d4001a420
commit
bb2381f6f2
1 changed files with 13 additions and 14 deletions
|
|
@ -18,7 +18,7 @@ emojiFormatter.addTransformer({
|
|||
})
|
||||
|
||||
function owo (text) {
|
||||
const split = text.split('&');
|
||||
const split = escapeHTML(text).split('&');
|
||||
if (!split || split.length <= 1) return `:${text}:`;
|
||||
const url = split[split.length - 1].slice(4);
|
||||
return `<img class="emoji" draggable="false" alt=":${split[0]}:" src="${config.domain + "/files/" + url}">`
|
||||
|
|
@ -43,41 +43,41 @@ futoji.addTransformer({
|
|||
close: ' ',
|
||||
recursive: false,
|
||||
validate: text => /(https?:\/\/[^\s]+)/g.test('http' + text),
|
||||
transformer: text => '<a class="msg-link" target="_blank" href="http' + text + '">http' + text + '</a> '
|
||||
transformer: text => '<a class="msg-link" target="_blank" href="http' + escapeHTML(text) + '">http' + escapeHTML(text) + '</a> '
|
||||
})
|
||||
|
||||
futoji.addTransformer({
|
||||
name: 'bold-and-italic',
|
||||
symbol: '***',
|
||||
transformer: text => `<strong><em>${text}</em></strong>`
|
||||
transformer: text => `<strong><em>${escapeHTML(text)}</em></strong>`
|
||||
})
|
||||
|
||||
futoji.addTransformer({
|
||||
name: 'bold',
|
||||
symbol: '**',
|
||||
transformer: text => `<strong>${text}</strong>`
|
||||
transformer: text => `<strong>${escapeHTML(text)}</strong>`
|
||||
})
|
||||
|
||||
futoji.addTransformer({
|
||||
name: 'italic',
|
||||
symbol: '*',
|
||||
transformer: text => `<em>${text}</em>`
|
||||
transformer: text => `<em>${escapeHTML(text)}</em>`
|
||||
})
|
||||
|
||||
futoji.addTransformer({
|
||||
name: 'underline',
|
||||
symbol: '__',
|
||||
transformer: text => `<u>${text}</u>`
|
||||
transformer: text => `<u>${escapeHTML(text)}</u>`
|
||||
})
|
||||
futoji.addTransformer({
|
||||
name: 'italic',
|
||||
symbol: '_',
|
||||
transformer: text => `<em>${text}</em>`
|
||||
transformer: text => `<em>${escapeHTML(text)}</em>`
|
||||
})
|
||||
futoji.addTransformer({
|
||||
name: 'srike',
|
||||
symbol: '~~',
|
||||
transformer: text => `<s>${text.trim()}</s>`
|
||||
transformer: text => `<s>${escapeHTML(text).trim()}</s>`
|
||||
})
|
||||
|
||||
futoji.addTransformer({
|
||||
|
|
@ -85,18 +85,18 @@ futoji.addTransformer({
|
|||
symbol: '```',
|
||||
recursive: false,
|
||||
transformer: text => {
|
||||
let formatted = formatCode(unescapeHTML(text))
|
||||
let formatted = formatCode(text)
|
||||
|
||||
let highlighted
|
||||
if(formatted.lang.length === 0) {
|
||||
return `<div class="codeblock"><code>${formatted.code}</code></div>`
|
||||
return `<div class="codeblock"><code>${escapeHTML(formatted.code)}</code></div>`
|
||||
} else if(hljs.listLanguages().includes(formatted.lang)) {
|
||||
highlighted = hljs.highlight(formatted.lang, formatted.code, true)
|
||||
} else {
|
||||
highlighted = hljs.highlightAuto(formatted.code)
|
||||
}
|
||||
|
||||
return `<div class="codeblock"><code lang="${highlighted.language}">${highlighted.value}</code></div>`
|
||||
return `<div class="codeblock"><code lang="${escapeHTML(highlighted.language)}">${highlighted.value}</code></div>`
|
||||
}
|
||||
})
|
||||
|
||||
|
|
@ -104,12 +104,11 @@ futoji.addTransformer({
|
|||
name: 'code',
|
||||
symbol: '`',
|
||||
recursive: false,
|
||||
transformer: text => `<code>${text}</code>`,
|
||||
transformer: text => `<code>${escapeHTML(text)}</code>`,
|
||||
})
|
||||
|
||||
export default (message) => {
|
||||
|
||||
message = futoji.format(escapeHtml(message + ' ')).trim();
|
||||
message = futoji.format(message + '').trim();
|
||||
|
||||
message = emojiParser.replaceEmojis(message);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue