package html

import "github.com/yuin/goldmark/renderer/html"

Index

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

func IsDangerousURL(url []byte) bool

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 util.BufWriter, 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

func WithHardWraps() interface {
	renderer.Option
	Option
}

WithHardWraps is a functional option that indicates whether softline breaks should be rendered as '<br>'.

func WithUnsafe

func WithUnsafe() interface {
	renderer.Option
	Option
}

WithUnsafe is a functional option that renders dangerous contents (raw htmls and potentially dangerous links) as it is.

func WithWriter

func WithWriter(writer Writer) interface {
	renderer.Option
	Option
}

WithWriter is a functional option that allow you to set the given writer to the renderer.

func WithXHTML

func WithXHTML() interface {
	Option
	renderer.Option
}

WithXHTML is a functional option indicates that nodes should be rendered in xhtml instead of HTML5.

Types

type Config

type Config struct {
	Writer    Writer
	HardWraps bool
	XHTML     bool
	Unsafe    bool
}

A Config struct has configurations for the HTML based renderers.

func NewConfig

func NewConfig() Config

NewConfig returns a new Config with defaults.

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.

Source Files

html.go

Version
v1.1.27
Published
Mar 31, 2020
Platform
linux/amd64
Imports
6 packages
Last checked
1 month ago

Tools for package owners.