Documentation ¶
Index ¶
- Variables
- func IsDangerousURL(url []byte) bool
- func NewProcessor(renderOptions ...renderer.Option) goldmark.Markdown
- func NewRenderer(opts ...Option) renderer.NodeRenderer
- func RenderAttributes(w util.BufWriter, node ast.Node, filter util.BytesFilter)
- func WithExternalLinkProtection(currentHost string) interface{ ... }
- func WithHardWraps() interface{ ... }
- func WithHeaderLinks() 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("autofocus"), []byte("class"), []byte("contenteditable"), []byte("dir"), []byte("draggable"), []byte("enterkeyhint"), []byte("hidden"), []byte("id"), []byte("inert"), []byte("inputmode"), []byte("is"), []byte("itemid"), []byte("itemprop"), []byte("itemref"), []byte("itemscope"), []byte("itemtype"), []byte("lang"), []byte("part"), []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 NewProcessor ¶ added in v0.1.1
NewProcessor creates a new instance of goldmark.Markdown for processing Markdown
func NewRenderer ¶
func NewRenderer(opts ...Option) renderer.NodeRenderer
NewRenderer returns a new Renderer with given options.
func RenderAttributes ¶
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 WithExternalLinkProtection ¶
WithExternalLinkProtection renders anchors to external sites with rel="noopener noreferrer".
func WithHardWraps ¶
WithHardWraps is a functional option that indicates whether softline breaks should be rendered as '<br>'.
func WithHeaderLinks ¶ added in v0.1.2
WithHeaderLinks renders anchors next to Markdown titles with their IDs.
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 ¶
type Config struct { Writer Writer HardWraps bool XHTML bool Unsafe bool HeaderLinks bool ExternalLinkProtection bool CurrentHost string }
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) // SecureWrite writes the given source to writer with replacing insecure characters. SecureWrite(writer util.BufWriter, source []byte) }
A Writer interface writes textual contents to a writer.