details

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package details provides a Goldmark extension for stateful collapsible details elements. It adds unique IDs to <details> elements and includes JavaScript to save/restore their state using browser session storage.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewHTMLRenderer

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

NewHTMLRenderer creates a new HTMLRenderer

Types

type Extender

type Extender struct {
	// IDPrefix is the prefix used for generated IDs. Defaults to "details-"
	IDPrefix string
}

Extender implements goldmark.Extender to add stateful details support

func New

func New() *Extender

New creates a new details Extender with default settings

func NewWithPrefix

func NewWithPrefix(prefix string) *Extender

NewWithPrefix creates a new details Extender with a custom ID prefix

func (*Extender) Extend

func (e *Extender) Extend(m goldmark.Markdown)

Extend extends the Goldmark parser and renderer with stateful details functionality

type HTMLRenderer

type HTMLRenderer struct {
	html.Config
	// contains filtered or unexported fields
}

HTMLRenderer renders the state management script for details elements

func (*HTMLRenderer) RegisterFuncs

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

RegisterFuncs registers rendering functions

type Transformer

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

Transformer is a transformer that adds IDs to HTML <details> elements

func NewTransformer

func NewTransformer(idPrefix string) *Transformer

NewTransformer creates a new Transformer

func (*Transformer) Transform

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

Transform walks the AST and modifies HTML blocks containing <details> tags

Jump to

Keyboard shortcuts

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