Documentation ¶
Index ¶
- Variables
- func IsDangerousURL(url []byte) bool
- func NewRenderer(opts ...Option) renderer.NodeRenderer
- func RenderAttributes(w util.BufWriter, node ast.Node, filter util.BytesFilter)
- func WithHardWraps() interface{ ... }
- func WithUnsafe() interface{ ... }
- func WithWriter(writer Writer) interface{ ... }
- func WithXHTML() interface{ ... }
- type Config
- type Option
- type Renderer
- type Writer
Constants ¶
This section is empty.
Variables ¶
var BlockquoteAttributeFilter = GlobalAttributeFilter.Extend( []byte("cite"), )
BlockquoteAttributeFilter defines attribute names which blockquote elements can have
var CodeAttributeFilter = GlobalAttributeFilter
CodeAttributeFilter defines attribute names which code elements can have.
var DefaultWriter = &defaultWriter{}
DefaultWriter is a default implementation of the Writer.
var EmphasisAttributeFilter = GlobalAttributeFilter
EmphasisAttributeFilter defines attribute names which emphasis elements can have.
var GlobalAttributeFilter = util.NewBytesFilter( []byte("accesskey"), []byte("autocapitalize"), []byte("class"), []byte("contenteditable"), []byte("contextmenu"), []byte("dir"), []byte("draggable"), []byte("dropzone"), []byte("hidden"), []byte("id"), []byte("itemprop"), []byte("lang"), []byte("slot"), []byte("spellcheck"), []byte("style"), []byte("tabindex"), []byte("title"), []byte("translate"), )
GlobalAttributeFilter defines attribute names which any elements can have.
var HeadingAttributeFilter = GlobalAttributeFilter
HeadingAttributeFilter defines attribute names which heading elements can have
var ImageAttributeFilter = GlobalAttributeFilter.Extend( []byte("align"), []byte("border"), []byte("crossorigin"), []byte("decoding"), []byte("height"), []byte("importance"), []byte("intrinsicsize"), []byte("ismap"), []byte("loading"), []byte("referrerpolicy"), []byte("sizes"), []byte("srcset"), []byte("usemap"), []byte("width"), )
ImageAttributeFilter defines attribute names which image elements can have.
var LinkAttributeFilter = GlobalAttributeFilter.Extend( []byte("download"), []byte("hreflang"), []byte("media"), []byte("ping"), []byte("referrerpolicy"), []byte("rel"), []byte("shape"), []byte("target"), )
LinkAttributeFilter defines attribute names which link elements can have.
var ListAttributeFilter = GlobalAttributeFilter.Extend( []byte("start"), []byte("reversed"), []byte("type"), )
ListAttributeFilter defines attribute names which list elements can have.
var ListItemAttributeFilter = GlobalAttributeFilter.Extend( []byte("value"), )
ListItemAttributeFilter defines attribute names which list item elements can have.
var ParagraphAttributeFilter = GlobalAttributeFilter
ParagraphAttributeFilter defines attribute names which paragraph elements can have.
var ThematicAttributeFilter = GlobalAttributeFilter.Extend( []byte("align"), []byte("color"), []byte("noshade"), []byte("size"), []byte("width"), )
ThematicAttributeFilter defines attribute names which hr elements can have.
Functions ¶
func IsDangerousURL ¶
IsDangerousURL returns true if the given url seems a potentially dangerous url, otherwise false.
func NewRenderer ¶
func NewRenderer(opts ...Option) renderer.NodeRenderer
NewRenderer returns a new Renderer with given options.
func RenderAttributes ¶ added in v1.1.14
RenderAttributes renders given node's attributes. You can specify attribute names to render by the filter. If filter is nil, RenderAttributes renders all attributes.
func WithHardWraps ¶
WithHardWraps is a functional option that indicates whether softline breaks should be rendered as '<br>'.
func WithUnsafe ¶
WithUnsafe is a functional option that renders dangerous contents (raw htmls and potentially dangerous links) as it is.
func WithWriter ¶
WithWriter is a functional option that allow you to set the given writer to the renderer.
Types ¶
type Config ¶
A Config struct has configurations for the HTML based renderers.
func (*Config) SetOption ¶
func (c *Config) SetOption(name renderer.OptionName, value interface{})
SetOption implements renderer.NodeRenderer.SetOption.
type Option ¶
type Option interface {
SetHTMLOption(*Config)
}
An Option interface sets options for HTML based renderers.
type Renderer ¶
type Renderer struct {
Config
}
A Renderer struct is an implementation of renderer.NodeRenderer that renders nodes as (X)HTML.
func (*Renderer) RegisterFuncs ¶
func (r *Renderer) RegisterFuncs(reg renderer.NodeRendererFuncRegisterer)
RegisterFuncs implements NodeRenderer.RegisterFuncs .
type Writer ¶
type Writer interface { // Write writes the given source to writer with resolving references and unescaping // backslash escaped characters. Write(writer util.BufWriter, source []byte) // RawWrite writes the given source to writer without resolving references and // unescaping backslash escaped characters. RawWrite(writer util.BufWriter, source []byte) }
A Writer interface writes textual contents to a writer.