html

package
v2.14.0 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2024 License: MIT Imports: 8 Imported by: 161

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StyleEntryToCSS

func StyleEntryToCSS(e chroma.StyleEntry) string

StyleEntryToCSS converts a chroma.StyleEntry to CSS attributes.

Types

type Formatter

type Formatter struct {
	Classes bool // Exported field to detect when classes are being used
	// contains filtered or unexported fields
}

Formatter that generates HTML.

func New

func New(options ...Option) *Formatter

New HTML formatter.

func (*Formatter) Format

func (f *Formatter) Format(w io.Writer, style *chroma.Style, iterator chroma.Iterator) (err error)

func (*Formatter) WriteCSS

func (f *Formatter) WriteCSS(w io.Writer, style *chroma.Style) error

WriteCSS writes CSS style definitions (without any surrounding HTML).

type Option

type Option func(f *Formatter)

Option sets an option of the HTML formatter.

func BaseLineNumber

func BaseLineNumber(n int) Option

BaseLineNumber sets the initial number to start line numbering at. Defaults to 1.

func ClassPrefix

func ClassPrefix(prefix string) Option

ClassPrefix sets the CSS class prefix.

func HighlightLines

func HighlightLines(ranges [][2]int) Option

HighlightLines higlights the given line ranges with the Highlight style.

A range is the beginning and ending of a range as 1-based line numbers, inclusive.

func InlineCode added in v2.2.0

func InlineCode(b bool) Option

InlineCode creates inline code wrapped in a code tag.

func LineNumbersInTable

func LineNumbersInTable(b bool) Option

LineNumbersInTable will, when combined with WithLineNumbers, separate the line numbers and code in table td's, which make them copy-and-paste friendly.

func PreventSurroundingPre

func PreventSurroundingPre(b bool) Option

PreventSurroundingPre prevents the surrounding pre tags around the generated code.

func Standalone

func Standalone(b bool) Option

Standalone configures the HTML formatter for generating a standalone HTML document.

func TabWidth

func TabWidth(width int) Option

TabWidth sets the number of characters for a tab. Defaults to 8.

func WithAllClasses

func WithAllClasses(b bool) Option

WithAllClasses disables an optimisation that omits redundant CSS classes.

func WithClasses

func WithClasses(b bool) Option

WithClasses emits HTML using CSS classes, rather than inline styles.

func WithCustomCSS

func WithCustomCSS(css map[chroma.TokenType]string) Option

WithCustomCSS sets user's custom CSS styles.

func WithLineNumbers

func WithLineNumbers(b bool) Option

WithLineNumbers formats output with line numbers.

func WithLinkableLineNumbers added in v2.4.0

func WithLinkableLineNumbers(b bool, prefix string) Option

WithLinkableLineNumbers decorates the line numbers HTML elements with an "id" attribute so they can be linked.

func WithPreWrapper

func WithPreWrapper(wrapper PreWrapper) Option

WithPreWrapper allows control of the surrounding pre tags.

func WrapLongLines

func WrapLongLines(b bool) Option

WrapLongLines wraps long lines.

type PreWrapper

type PreWrapper interface {
	// Start is called to write a start <pre> element.
	// The code flag tells whether this block surrounds
	// highlighted code. This will be false when surrounding
	// line numbers.
	Start(code bool, styleAttr string) string

	// End is called to write the end </pre> element.
	End(code bool) string
}

PreWrapper defines the operations supported in WithPreWrapper.

Jump to

Keyboard shortcuts

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