Documentation ¶
Overview ¶
Package format contains utilities for working with Matrix HTML, specifically methods to parse Markdown into HTML and to parse Matrix HTML into text or markdown.
https://spec.matrix.org/v1.2/client-server-api/#mroommessage-msgtypes
Index ¶
- Constants
- Variables
- func DefaultPillConverter(displayname, mxid, eventID string, ctx Context) string
- func Digits(num int) int
- func HTMLToContent(html string) event.MessageEventContent
- func HTMLToMarkdown(html string) string
- func HTMLToMarkdownAndMentions(html string) (parsed string, mentions *event.Mentions)
- func HTMLToText(html string) string
- func LongestSequence(in string, of rune) int
- func RenderMarkdown(text string, allowMarkdown, allowHTML bool) event.MessageEventContent
- func RenderMarkdownCustom(text string, renderer goldmark.Markdown) event.MessageEventContent
- func UnwrapSingleParagraph(html string) string
- type CodeBlockConverter
- type ColorConverter
- type Context
- type HTMLParser
- type LinkConverter
- type PillConverter
- type SpoilerConverter
- type TagStack
- type TaggedString
- type TextConverter
Constants ¶
View Source
const ContextKeyMentions = "_mentions"
Variables ¶
View Source
var BlockTags = []string{"p", "h1", "h2", "h3", "h4", "h5", "h6", "ol", "ul", "pre", "blockquote", "div", "hr", "table"}
View Source
var Extensions = goldmark.WithExtensions(extension.Strikethrough, extension.Table, mdext.Spoiler)
View Source
var HTMLOptions = goldmark.WithRendererOptions(html.WithHardWraps(), html.WithUnsafe())
Functions ¶
func DefaultPillConverter ¶
func HTMLToContent ¶
func HTMLToContent(html string) event.MessageEventContent
func HTMLToMarkdown ¶
HTMLToMarkdown converts Matrix HTML into markdown with the default settings.
Currently, the only difference to HTMLToText is how links are formatted.
func HTMLToText ¶
HTMLToText converts Matrix HTML into text with the default settings.
func LongestSequence ¶
func RenderMarkdown ¶
func RenderMarkdown(text string, allowMarkdown, allowHTML bool) event.MessageEventContent
func RenderMarkdownCustom ¶
func RenderMarkdownCustom(text string, renderer goldmark.Markdown) event.MessageEventContent
func UnwrapSingleParagraph ¶
UnwrapSingleParagraph removes paragraph tags surrounding a string if the string only contains a single paragraph.
Types ¶
type CodeBlockConverter ¶
type ColorConverter ¶
type Context ¶
type Context struct { Ctx context.Context ReturnData map[string]any TagStack TagStack PreserveWhitespace bool }
func NewContext ¶
func (Context) WithWhitespace ¶
type HTMLParser ¶
type HTMLParser struct { PillConverter PillConverter TabsToSpaces int Newline string HorizontalLine string BoldConverter TextConverter ItalicConverter TextConverter StrikethroughConverter TextConverter UnderlineConverter TextConverter LinkConverter LinkConverter SpoilerConverter SpoilerConverter ColorConverter ColorConverter MonospaceBlockConverter CodeBlockConverter MonospaceConverter TextConverter TextConverter TextConverter }
HTMLParser is a somewhat customizable Matrix HTML parser.
type LinkConverter ¶
type PillConverter ¶
type SpoilerConverter ¶
type TaggedString ¶
type TaggedString struct {
// contains filtered or unexported fields
}
TaggedString is a string that also contains a HTML tag.
type TextConverter ¶
Click to show internal directories.
Click to hide internal directories.