summaryrefslogtreecommitdiff
path: root/packages/frontend/src/utility/sanitize-html.ts
blob: fc9db9bbdb7df95b1e162ee07e14da9b1b28866e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*
 * SPDX-FileCopyrightText: dakkar and other Sharkey contributors
 * SPDX-License-Identifier: AGPL-3.0-only
*/

import original from 'sanitize-html';

export default function sanitizeHtml(str: string | null): string | null {
	if (str == null) return str;
	return original(str, {
		allowedTags: original.defaults.allowedTags.concat(['img', 'audio', 'video', 'center', 'details', 'summary']),
		allowedAttributes: {
			...original.defaults.allowedAttributes,
			a: original.defaults.allowedAttributes.a.concat(['style']),
			img: original.defaults.allowedAttributes.img.concat(['style']),
			'*': (original.defaults.allowedAttributes['*'] || []).concat(['style']),
		},
	});
}