mirror of
https://github.com/rwinkhart/glamour-temp-MUTN.git
synced 2026-09-05 16:37:19 -04:00
Move ANSIRenderer into a separate package
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package ansi
|
||||
|
||||
import (
|
||||
"html"
|
||||
"strings"
|
||||
|
||||
"github.com/microcosm-cc/bluemonday"
|
||||
)
|
||||
|
||||
type RenderContext struct {
|
||||
options Options
|
||||
|
||||
blockStack *BlockStack
|
||||
table *TableElement
|
||||
|
||||
stripper *bluemonday.Policy
|
||||
}
|
||||
|
||||
func NewRenderContext(options Options) RenderContext {
|
||||
return RenderContext{
|
||||
options: options,
|
||||
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