goldmark_config

package
v0.125.3 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 0 Imported by: 4

Documentation

Overview

Package goldmark_config holds Goldmark related configuration.

Index

Constants

View Source
const (
	AutoHeadingIDTypeGitHub      = "github"
	AutoHeadingIDTypeGitHubAscii = "github-ascii"
	AutoHeadingIDTypeBlackfriday = "blackfriday"
)

Variables

View Source
var Default = Config{
	Extensions: Extensions{
		Typographer: Typographer{
			Disable:          false,
			LeftSingleQuote:  "‘",
			RightSingleQuote: "’",
			LeftDoubleQuote:  "“",
			RightDoubleQuote: "”",
			EnDash:           "–",
			EmDash:           "—",
			Ellipsis:         "…",
			LeftAngleQuote:   "«",
			RightAngleQuote:  "»",
			Apostrophe:       "’",
		},
		Footnote:        true,
		DefinitionList:  true,
		Table:           true,
		Strikethrough:   true,
		Linkify:         true,
		LinkifyProtocol: "https",
		TaskList:        true,
		CJK: CJK{
			Enable:                   false,
			EastAsianLineBreaks:      false,
			EastAsianLineBreaksStyle: "simple",
			EscapedSpace:             false,
		},
		Passthrough: Passthrough{
			Enable: false,
			Delimiters: DelimitersConfig{
				Inline: [][]string{},
				Block:  [][]string{},
			},
		},
	},
	Renderer: Renderer{
		Unsafe: false,
	},
	Parser: Parser{
		AutoHeadingID:                      true,
		AutoHeadingIDType:                  AutoHeadingIDTypeGitHub,
		WrapStandAloneImageWithinParagraph: true,
		Attribute: ParserAttribute{
			Title: true,
			Block: false,
		},
	},
}

Default holds the default Goldmark configuration.

Functions

This section is empty.

Types

type CJK added in v0.118.0

type CJK struct {
	// Whether to enable CJK support.
	Enable bool

	// Whether softline breaks between east asian wide characters should be ignored.
	EastAsianLineBreaks bool

	// Styles of Line Breaking of EastAsianLineBreaks: "simple" or "css3draft"
	EastAsianLineBreaksStyle string

	// Whether a '\' escaped half-space(0x20) should not be rendered.
	EscapedSpace bool
}

type Config

type Config struct {
	Renderer               Renderer
	Parser                 Parser
	Extensions             Extensions
	DuplicateResourceFiles bool
	RenderHooks            RenderHooks
}

Config configures Goldmark.

type DelimitersConfig added in v0.122.0

type DelimitersConfig struct {
	// The delimiters to use for inline passthroughs. Each entry in the list
	// is a size-2 list of strings, where the first string is the opening delimiter
	// and the second string is the closing delimiter, e.g.,
	//
	// [["$", "$"], ["\\(", "\\)"]]
	Inline [][]string

	// The delimiters to use for block passthroughs. Same format as Inline.
	Block [][]string
}

type Extensions

type Extensions struct {
	Typographer    Typographer
	Footnote       bool
	DefinitionList bool
	Passthrough    Passthrough

	// GitHub flavored markdown
	Table           bool
	Strikethrough   bool
	Linkify         bool
	LinkifyProtocol string
	TaskList        bool
	CJK             CJK
}

type ImageRenderHook added in v0.123.0

type ImageRenderHook struct {
	// Enable the default image render hook.
	// We need to know if it is set or not, hence the pointer.
	EnableDefault *bool
}

ImageRenderHook contains configuration for the image render hook.

func (ImageRenderHook) IsEnableDefault added in v0.123.0

func (h ImageRenderHook) IsEnableDefault() bool

type LinkRenderHook added in v0.123.0

type LinkRenderHook struct {
	// Disable the default image render hook.
	// We need to know if it is set or not, hence the pointer.
	EnableDefault *bool
}

LinkRenderHook contains configuration for the link render hook.

func (LinkRenderHook) IsEnableDefault added in v0.123.0

func (h LinkRenderHook) IsEnableDefault() bool

type Parser

type Parser struct {
	// Enables custom heading ids and
	// auto generated heading ids.
	AutoHeadingID bool

	// The strategy to use when generating heading IDs.
	// Available options are "github", "github-ascii".
	// Default is "github", which will create GitHub-compatible anchor names.
	AutoHeadingIDType string

	// Enables custom attributes.
	Attribute ParserAttribute

	// Whether to wrap stand-alone images within a paragraph or not.
	WrapStandAloneImageWithinParagraph bool
}

type ParserAttribute added in v0.81.0

type ParserAttribute struct {
	// Enables custom attributes for titles.
	Title bool
	// Enables custom attributes for blocks.
	Block bool
}

type Passthrough added in v0.122.0

type Passthrough struct {
	// Whether to enable the extension
	Enable bool

	// The delimiters to use for inline and block passthroughs.
	Delimiters DelimitersConfig
}

Passthrough hold passthrough configuration. github.com/hugoio/hugo-goldmark-extensions/passthrough

type RenderHooks added in v0.123.0

type RenderHooks struct {
	Image ImageRenderHook
	Link  LinkRenderHook
}

RenderHooks contains configuration for Goldmark render hooks.

type Renderer

type Renderer struct {
	// Whether softline breaks should be rendered as '<br>'
	HardWraps bool

	// XHTML instead of HTML5.
	XHTML bool

	// Allow raw HTML etc.
	Unsafe bool
}

type Typographer added in v0.112.0

type Typographer struct {
	// Whether to disable typographer.
	Disable bool

	// Value used for left single quote.
	LeftSingleQuote string
	// Value used for right single quote.
	RightSingleQuote string
	// Value used for left double quote.
	LeftDoubleQuote string
	// Value used for right double quote.
	RightDoubleQuote string
	// Value used for en dash.
	EnDash string
	// Value used for em dash.
	EmDash string
	// Value used for ellipsis.
	Ellipsis string
	// Value used for left angle quote.
	LeftAngleQuote string
	// Value used for right angle quote.
	RightAngleQuote string
	// Value used for apostrophe.
	Apostrophe string
}

Typographer holds typographer configuration.

Jump to

Keyboard shortcuts

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