Documentation
¶
Overview ¶
Example ¶
package main
import (
"bytes"
"fmt"
videos "github.com/fundipper/goldmark-videos"
"github.com/yuin/goldmark"
)
var source = []byte(`# Hello goldmark-videos



`)
func main() {
markdown := goldmark.New(
goldmark.WithExtensions(
videos.NewExtender(
map[string]string{
"www.youtube.com": "/embed",
"v.qq.com": "/txp/iframe/player.html",
"player.bilibili.com": "/player.html",
},
map[string]string{
"width": "560",
"height": "315",
"border": "0",
"scrolling": "no",
"frameborder": "no",
"framespacing": "0",
"allowfullscreen": "true",
},
),
),
)
var buf bytes.Buffer
if err := markdown.Convert([]byte(source), &buf); err != nil {
panic(err)
}
fmt.Print(buf)
// ouput:
// <h1>Hello goldmark-videos</h1>
// <p><iframe width="560" height="315" src="https://www.youtube.com/embed/dQw4w9WgXcQ" frameborder="0"
// allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
// allowfullscreen></iframe></p>
// <p><iframe width="560" height="315" src="https://v.qq.com/txp/iframe/player.html?vid=i0042v2fm34" frameborder="0"
// allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
// allowfullscreen></iframe></p>
// <p><iframe width="560" height="315" src="//player.bilibili.com/player.html?aid=634140852&bvid=BV1sb4y1t7xV&cid=442265383&page=1" frameborder="0"
// allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
// allowfullscreen></iframe></p>
}
Output:
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var KindVideo = ast.NewNodeKind("Video")
KindVideo is a NodeKind of the video node.
View Source
var VideoAttributeFilter = html.ImageAttributeFilter.Extend( []byte("scrolling"), []byte("frameborder"), []byte("framespacing"), []byte("allowfullscreen"), )
VideoAttributeFilter defines attribute names which video elements can have.
Functions ¶
func NewExtender ¶
New returns a new Embed extension.
func NewRenderer ¶
func NewRenderer() renderer.NodeRenderer
NewRenderer builds a new Renderer with given options and returns it.
Types ¶
type Renderer ¶
Renderer struct is a renderer.NodeRenderer implementation for the extension.
func (*Renderer) RegisterFuncs ¶
func (r *Renderer) RegisterFuncs(reg renderer.NodeRendererFuncRegisterer)
RegisterFuncs implements NodeRenderer.RegisterFuncs.
type Transformer ¶
type Transformer struct{}
func NewTransformer ¶
func NewTransformer() *Transformer
Click to show internal directories.
Click to hide internal directories.