extension

package
v1.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2020 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefinitionDescriptionAttributeFilter = html.GlobalAttributeFilter

DefinitionDescriptionAttributeFilter defines attribute names which dd elements can have.

View Source
var DefinitionList = &definitionList{}

DefinitionList is an extension that allow you to use PHP Markdown Extra Definition lists.

View Source
var DefinitionListAttributeFilter = html.GlobalAttributeFilter

DefinitionListAttributeFilter defines attribute names which dl elements can have.

View Source
var DefinitionTermAttributeFilter = html.GlobalAttributeFilter

DefinitionTermAttributeFilter defines attribute names which dd elements can have.

View Source
var Footnote = &footnote{}

Footnote is an extension that allow you to use PHP Markdown Extra Footnotes.

View Source
var GFM = &gfm{}

GFM is an extension that provides Github Flavored markdown functionalities.

View Source
var Linkify = &linkify{}

Linkify is an extension that allow you to parse text that seems like a URL.

View Source
var Strikethrough = &strikethrough{}

Strikethrough is an extension that allow you to use strikethrough expression like '~~text~~' .

View Source
var StrikethroughAttributeFilter = html.GlobalAttributeFilter

StrikethroughAttributeFilter defines attribute names which dd elements can have.

View Source
var Table = &table{
	options: []TableOption{},
}

Table is an extension that allow you to use GFM tables .

View Source
var TableAttributeFilter = html.GlobalAttributeFilter.Extend(
	[]byte("align"),
	[]byte("bgcolor"),
	[]byte("border"),
	[]byte("cellpadding"),
	[]byte("cellspacing"),
	[]byte("frame"),
	[]byte("rules"),
	[]byte("summary"),
	[]byte("width"),
)

TableAttributeFilter defines attribute names which table elements can have.

View Source
var TableHeaderAttributeFilter = html.GlobalAttributeFilter.Extend(
	[]byte("align"),
	[]byte("bgcolor"),
	[]byte("char"),
	[]byte("charoff"),
	[]byte("valign"),
)

TableHeaderAttributeFilter defines attribute names which <thead> elements can have.

View Source
var TableRowAttributeFilter = html.GlobalAttributeFilter.Extend(
	[]byte("align"),
	[]byte("bgcolor"),
	[]byte("char"),
	[]byte("charoff"),
	[]byte("valign"),
)

TableRowAttributeFilter defines attribute names which <tr> elements can have.

View Source
var TableTdCellAttributeFilter = html.GlobalAttributeFilter.Extend(
	[]byte("abbr"),
	[]byte("align"),
	[]byte("axis"),
	[]byte("bgcolor"),
	[]byte("char"),
	[]byte("charoff"),

	[]byte("colspan"),
	[]byte("headers"),

	[]byte("height"),

	[]byte("rowspan"),

	[]byte("scope"),
	[]byte("valign"),
	[]byte("width"),
)

TableTdCellAttributeFilter defines attribute names which table <td> cells can have.

View Source
var TableThCellAttributeFilter = html.GlobalAttributeFilter.Extend(
	[]byte("abbr"),

	[]byte("align"),
	[]byte("axis"),
	[]byte("bgcolor"),
	[]byte("char"),
	[]byte("charoff"),

	[]byte("colspan"),
	[]byte("headers"),

	[]byte("height"),

	[]byte("rowspan"),
	[]byte("scope"),

	[]byte("valign"),
	[]byte("width"),
)

TableThCellAttributeFilter defines attribute names which table <th> cells can have.

View Source
var TaskList = &taskList{}

TaskList is an extension that allow you to use GFM task lists.

View Source
var Typographer = &typographer{}

Typographer is an extension that replaces punctuations with typographic entities.

Functions

func NewDefinitionDescriptionParser

func NewDefinitionDescriptionParser() parser.BlockParser

NewDefinitionDescriptionParser return a new parser.BlockParser that can parse definition description starts with ':'.

func NewDefinitionListHTMLRenderer

func NewDefinitionListHTMLRenderer(opts ...html.Option) renderer.NodeRenderer

NewDefinitionListHTMLRenderer returns a new DefinitionListHTMLRenderer.

func NewDefinitionListParser

func NewDefinitionListParser() parser.BlockParser

NewDefinitionListParser return a new parser.BlockParser that can parse PHP Markdown Extra Definition lists.

func NewFootnoteASTTransformer

func NewFootnoteASTTransformer() parser.ASTTransformer

NewFootnoteASTTransformer returns a new parser.ASTTransformer that insert a footnote list to the last of the document.

func NewFootnoteBlockParser

func NewFootnoteBlockParser() parser.BlockParser

NewFootnoteBlockParser returns a new parser.BlockParser that can parse footnotes of the Markdown(PHP Markdown Extra) text.

func NewFootnoteHTMLRenderer

func NewFootnoteHTMLRenderer(opts ...html.Option) renderer.NodeRenderer

NewFootnoteHTMLRenderer returns a new FootnoteHTMLRenderer.

func NewFootnoteParser

func NewFootnoteParser() parser.InlineParser

NewFootnoteParser returns a new parser.InlineParser that can parse footnote links of the Markdown(PHP Markdown Extra) text.

func NewLinkify

func NewLinkify(opts ...LinkifyOption) goldmark.Extender

func NewLinkifyParser

func NewLinkifyParser(opts ...LinkifyOption) parser.InlineParser

NewLinkifyParser return a new InlineParser can parse text that seems like a URL.

func NewStrikethroughHTMLRenderer

func NewStrikethroughHTMLRenderer(opts ...html.Option) renderer.NodeRenderer

NewStrikethroughHTMLRenderer returns a new StrikethroughHTMLRenderer.

func NewStrikethroughParser

func NewStrikethroughParser() parser.InlineParser

NewStrikethroughParser return a new InlineParser that parses strikethrough expressions.

func NewTable

func NewTable(opts ...TableOption) goldmark.Extender

NewTable returns a new extension with given options.

func NewTableHTMLRenderer

func NewTableHTMLRenderer(opts ...TableOption) renderer.NodeRenderer

NewTableHTMLRenderer returns a new TableHTMLRenderer.

func NewTableParagraphTransformer

func NewTableParagraphTransformer() parser.ParagraphTransformer

NewTableParagraphTransformer returns a new ParagraphTransformer that can transform paragraphs into tables.

func NewTaskCheckBoxHTMLRenderer

func NewTaskCheckBoxHTMLRenderer(opts ...html.Option) renderer.NodeRenderer

NewTaskCheckBoxHTMLRenderer returns a new TaskCheckBoxHTMLRenderer.

func NewTaskCheckBoxParser

func NewTaskCheckBoxParser() parser.InlineParser

NewTaskCheckBoxParser returns a new InlineParser that can parse checkboxes in list items. This parser must take precedence over the parser.LinkParser.

func NewTypographer

func NewTypographer(opts ...TypographerOption) goldmark.Extender

NewTypographer returns a new Extender that replaces punctuations with typographic entities.

func NewTypographerParser

func NewTypographerParser(opts ...TypographerOption) parser.InlineParser

NewTypographerParser return a new InlineParser that parses typographer expressions.

Types

type DefinitionListHTMLRenderer

type DefinitionListHTMLRenderer struct {
	html.Config
}

DefinitionListHTMLRenderer is a renderer.NodeRenderer implementation that renders DefinitionList nodes.

func (*DefinitionListHTMLRenderer) RegisterFuncs

RegisterFuncs implements renderer.NodeRenderer.RegisterFuncs.

type FootnoteHTMLRenderer

type FootnoteHTMLRenderer struct {
	html.Config
}

FootnoteHTMLRenderer is a renderer.NodeRenderer implementation that renders FootnoteLink nodes.

func (*FootnoteHTMLRenderer) RegisterFuncs

RegisterFuncs implements renderer.NodeRenderer.RegisterFuncs.

type LinkifyConfig

type LinkifyConfig struct {
	AllowedProtocols [][]byte
	URLRegexp        *regexp.Regexp
	WWWRegexp        *regexp.Regexp
	EmailRegexp      *regexp.Regexp
}

An LinkifyConfig struct is a data structure that holds configuration of the Linkify extension.

func (*LinkifyConfig) SetOption

func (c *LinkifyConfig) SetOption(name parser.OptionName, value interface{})

SetOption implements SetOptioner.

type LinkifyOption

type LinkifyOption interface {
	parser.Option
	SetLinkifyOption(*LinkifyConfig)
}

A LinkifyOption interface sets options for the LinkifyOption.

func WithLinkifyAllowedProtocols

func WithLinkifyAllowedProtocols(value [][]byte) LinkifyOption

WithLinkifyAllowedProtocols is a functional option that specify allowed protocols in autolinks. Each protocol must end with ':' like 'http:' .

func WithLinkifyEmailRegexp

func WithLinkifyEmailRegexp(value *regexp.Regexp) LinkifyOption

func WithLinkifyURLRegexp

func WithLinkifyURLRegexp(value *regexp.Regexp) LinkifyOption

WithLinkifyURLRegexp is a functional option that specify a pattern of the URL including a protocol.

func WithLinkifyWWWRegexp

func WithLinkifyWWWRegexp(value *regexp.Regexp) LinkifyOption

type StrikethroughHTMLRenderer

type StrikethroughHTMLRenderer struct {
	html.Config
}

StrikethroughHTMLRenderer is a renderer.NodeRenderer implementation that renders Strikethrough nodes.

func (*StrikethroughHTMLRenderer) RegisterFuncs

RegisterFuncs implements renderer.NodeRenderer.RegisterFuncs.

type TableCellAlignMethod

type TableCellAlignMethod int

TableCellAlignMethod indicates how are table cells aligned in HTML format.indicates how are table cells aligned in HTML format.

const (
	// TableCellAlignDefault renders alignments by default method.
	// With XHTML, alignments are rendered as an align attribute.
	// With HTML5, alignments are rendered as a style attribute.
	TableCellAlignDefault TableCellAlignMethod = iota

	// TableCellAlignAttribute renders alignments as an align attribute.
	TableCellAlignAttribute

	// TableCellAlignStyle renders alignments as a style attribute.
	TableCellAlignStyle

	// TableCellAlignNone does not care about alignments.
	// If you using classes or other styles, you can add these attributes
	// in an ASTTransformer.
	TableCellAlignNone
)

type TableConfig

type TableConfig struct {
	html.Config

	// TableCellAlignMethod indicates how are table celss aligned.
	TableCellAlignMethod TableCellAlignMethod
}

TableConfig struct holds options for the extension.

func NewTableConfig

func NewTableConfig() TableConfig

NewTableConfig returns a new Config with defaults.

func (*TableConfig) SetOption

func (c *TableConfig) SetOption(name renderer.OptionName, value interface{})

SetOption implements renderer.SetOptioner.

type TableHTMLRenderer

type TableHTMLRenderer struct {
	TableConfig
}

TableHTMLRenderer is a renderer.NodeRenderer implementation that renders Table nodes.

func (*TableHTMLRenderer) RegisterFuncs

RegisterFuncs implements renderer.NodeRenderer.RegisterFuncs.

type TableOption

type TableOption interface {
	renderer.Option
	// SetTableOption sets given option to the extension.
	SetTableOption(*TableConfig)
}

TableOption interface is a functional option interface for the extension.

func WithTableCellAlignMethod

func WithTableCellAlignMethod(a TableCellAlignMethod) TableOption

WithTableCellAlignMethod is a functional option that indicates how are table cells aligned in HTML format.

func WithTableHTMLOptions

func WithTableHTMLOptions(opts ...html.Option) TableOption

WithTableHTMLOptions is functional option that wraps goldmark HTMLRenderer options.

type TaskCheckBoxHTMLRenderer

type TaskCheckBoxHTMLRenderer struct {
	html.Config
}

TaskCheckBoxHTMLRenderer is a renderer.NodeRenderer implementation that renders checkboxes in list items.

func (*TaskCheckBoxHTMLRenderer) RegisterFuncs

RegisterFuncs implements renderer.NodeRenderer.RegisterFuncs.

type TypographerConfig

type TypographerConfig struct {
	Substitutions [][]byte
}

An TypographerConfig struct is a data structure that holds configuration of the Typographer extension.

func (*TypographerConfig) SetOption

func (b *TypographerConfig) SetOption(name parser.OptionName, value interface{})

SetOption implements SetOptioner.

type TypographerOption

type TypographerOption interface {
	parser.Option
	SetTypographerOption(*TypographerConfig)
}

A TypographerOption interface sets options for the TypographerParser.

func WithTypographicSubstitutions

func WithTypographicSubstitutions(values map[TypographicPunctuation][]byte) TypographerOption

WithTypographicSubstitutions is a functional otpion that specify replacement text for punctuations.

type TypographicPunctuation

type TypographicPunctuation int

TypographicPunctuation is a key of the punctuations that can be replaced with typographic entities.

const (
	// LeftSingleQuote is '
	LeftSingleQuote TypographicPunctuation = iota + 1
	// RightSingleQuote is '
	RightSingleQuote
	// LeftDoubleQuote is "
	LeftDoubleQuote
	// RightDoubleQuote is "
	RightDoubleQuote
	// EnDash is --
	EnDash
	// EmDash is ---
	EmDash
	// Ellipsis is ...
	Ellipsis
	// LeftAngleQuote is <<
	LeftAngleQuote
	// RightAngleQuote is >>
	RightAngleQuote
	// Apostrophe is '
	Apostrophe
)

type TypographicSubstitutions

type TypographicSubstitutions map[TypographicPunctuation][]byte

TypographicSubstitutions is a list of the substitutions for the Typographer extension.

Directories

Path Synopsis
Package ast defines AST nodes that represents extension's elements
Package ast defines AST nodes that represents extension's elements

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL