transform

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

Package transform provides custom rendering transformations for markdown elements.

Index

Constants

This section is empty.

Variables

View Source
var KindD2Block = ast.NewNodeKind("D2Block")

KindD2Block represents a rendered D2 node kind.

Functions

func MermaidWrapper

func MermaidWrapper() highlighting.WrapperRenderer

MermaidWrapper returns a wrapper renderer that converts ```mermaid fences into divs Mermaid.js can hydrate, while wrapping other code blocks with a copy button. Non-mermaid code blocks are wrapped with .code-block-wrapper div and include the copy button HTML server-side to reduce client-side DOM manipulation.

func NewD2BlockRenderer added in v0.2.0

func NewD2BlockRenderer() renderer.NodeRenderer

NewD2BlockRenderer returns a renderer for D2 nodes.

func NewD2Transformer added in v0.2.0

func NewD2Transformer(renderer *d2renderer.Renderer, logger *slog.Logger) parser.ASTTransformer

NewD2Transformer constructs an AST transformer. If renderer is nil the transformer becomes a no-op.

Types

type D2Block added in v0.2.0

type D2Block struct {
	Source  string
	SVG     string
	Error   string
	Runtime time.Duration
	ast.BaseBlock
}

D2Block is a rendered diagram placeholder included directly in the AST.

func (*D2Block) Dump added in v0.2.0

func (b *D2Block) Dump(source []byte, level int)

Dump aids debugging.

func (*D2Block) IsRaw added in v0.2.0

func (b *D2Block) IsRaw() bool

IsRaw marks the node as raw HTML.

func (*D2Block) Kind added in v0.2.0

func (b *D2Block) Kind() ast.NodeKind

Kind implements ast.Node.

type D2BlockRenderer added in v0.2.0

type D2BlockRenderer struct{}

D2BlockRenderer writes rendered nodes into HTML output.

func (*D2BlockRenderer) RegisterFuncs added in v0.2.0

func (r *D2BlockRenderer) RegisterFuncs(reg renderer.NodeRendererFuncRegisterer)

RegisterFuncs implements renderer.NodeRenderer.

type D2Transformer added in v0.2.0

type D2Transformer struct {
	// contains filtered or unexported fields
}

D2Transformer finds fenced ```d2 blocks and replaces them with rendered nodes.

func (*D2Transformer) Transform added in v0.2.0

func (t *D2Transformer) Transform(node *ast.Document, reader text.Reader, _ parser.Context)

Transform implements parser.ASTTransformer.

Jump to

Keyboard shortcuts

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