mirror of
https://github.com/rwinkhart/glamour-temp-MUTN.git
synced 2026-09-05 08:27:18 -04:00
Move text sanitizing to RenderContext
This commit is contained in:
+31
-2
@@ -1,8 +1,37 @@
|
||||
package gold
|
||||
|
||||
import (
|
||||
"html"
|
||||
"strings"
|
||||
|
||||
"github.com/microcosm-cc/bluemonday"
|
||||
)
|
||||
|
||||
type RenderContext struct {
|
||||
style map[StyleType]ElementStyle
|
||||
options Options
|
||||
style map[StyleType]ElementStyle
|
||||
|
||||
blockStack *BlockStack
|
||||
table *TableElement
|
||||
options Options
|
||||
|
||||
stripper *bluemonday.Policy
|
||||
}
|
||||
|
||||
func NewRenderContext(options Options) RenderContext {
|
||||
return RenderContext{
|
||||
options: options,
|
||||
style: make(map[StyleType]ElementStyle),
|
||||
blockStack: &BlockStack{},
|
||||
table: &TableElement{},
|
||||
stripper: bluemonday.StrictPolicy(),
|
||||
}
|
||||
}
|
||||
|
||||
func (ctx RenderContext) SanitizeHTML(s string, trimSpaces bool) string {
|
||||
s = ctx.stripper.Sanitize(s)
|
||||
if trimSpaces {
|
||||
s = strings.TrimSpace(s)
|
||||
}
|
||||
|
||||
return html.UnescapeString(s)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user