Использую html/template для генерации страницы. Наслышан про его автоматический escaping. Это супер.
Но что мне делать если мне не надо "эскейпить" все подряд.
У меня есть статьи в базе в виде html, создаются и редактируются в CKEditor.
Мне не нужно полностью убирать все html теги. Большую часть можно и нужно оставить чтобы сохранить форматирование. А вот всякую небезопасную "ерунду" типа javascript надо убрать.
В Rails c этим прекрасно cправлялся sanitize (вот так <%= sanitize @article.body %>).
Гуглил это вопрос для Go - вообще тишина. Только одна ссылка на библиотеку
https://github.com/kennygrant/sanitize
Кто сталкивался с подобной задачей, поделитесь рецептом.
Что можете сказать про библиотеку github.com/kennygrant/sanitize
PS. Еще как-то странно, но еле нашел информацию как в html/template отключить escaping. Неужели это такая редкая задача что про нее нигде не написано?
Да и решение какое-то кастыльное
template.FuncMap {
"unescaped": func(x string) template.HTML { return template.HTML(x)},
}
а в шаблоне
{{ .BodyHtml | unescaped }}