escape html for external strings

This commit is contained in:
Simon Cambier
2024-10-08 20:46:12 +02:00
parent 9f0c460161
commit 0c41d48963
2 changed files with 3 additions and 11 deletions

View File

@@ -7,6 +7,7 @@ import {
isFileExcalidraw,
warnDebug,
} from './utils'
import { escapeHTML } from './text-processing'
export interface IconPacks {
prefixToIconPack: { [prefix: string]: string }
@@ -133,7 +134,7 @@ export async function loadIconSVG(
if (!prefix) {
// No prefix, assume it's an emoji or text
return `<span class="omnisearch-result__icon--emoji">${name}</span>`
return `<span class="omnisearch-result__icon--emoji">${escapeHTML(name)}</span>`
}
const iconPackName = prefixToIconPack[prefix]

View File

@@ -78,15 +78,6 @@ export class TextProcessor {
}
}
escapeHTML(html: string): string {
return html
.replaceAll('&', '&amp;')
.replaceAll('<', '&lt;')
.replaceAll('>', '&gt;')
.replaceAll('"', '&quot;')
.replaceAll("'", '&#039;')
}
/**
* Converts a list of strings to a list of words, using the \b word boundary.
* Used to find excerpts in a note body, or select which words to highlight.
@@ -200,7 +191,7 @@ export class TextProcessor {
}
}
function escapeHTML(html: string): string {
export function escapeHTML(html: string): string {
return html
.replaceAll('&', '&amp;')
.replaceAll('<', '&lt;')