Documentation ¶
Index ¶
- Variables
- func IsDangerousURL(url []byte) bool
- func NewRenderer(opts ...Option) renderer.NodeRenderer
- func RenderAttributes(w blocksUtil.RWriter, 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"), )
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 ¶
func RenderAttributes(w blocksUtil.RWriter, node ast.Node, filter util.BytesFilter)
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 blocksUtil.RWriter, source []byte) // RawWrite wirtes the given source to writer without resolving references and // unescaping backslash escaped characters. RawWrite(writer blocksUtil.RWriter, source []byte) }
A Writer interface wirtes textual contents to a writer.