parser

package
v2.2.4+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BlockNodes

func BlockNodes(nodes []types.Node) []types.Node

nodeBlocks encapsulates all nodes of the same block into a new ListNode with its B field set to true. Nodes which are not blockSquashable remain as is.

func CompactNodes

func CompactNodes(nodes []types.Node) []types.Node

Although nodes slice is not modified, its elements are.

func Parse

func Parse(name string, r io.Reader, opts Options) (*types.Codelab, error)

Parse parses source r into a Codelab using a parser registered with the specified name.

func ParseFragment

func ParseFragment(name string, r io.Reader, opts Options) ([]types.Node, error)

ParseFragment parses a codelab fragment provided in r, using a parser registered with the specified name.

func Parsers

func Parsers() []string

Parsers returns a slice of all registered parser names.

func Register

func Register(name string, p Parser)

Register registers a new parser f under specified name. It panics if another parser is already registered under the same name.

Types

type MarkdownParser

type MarkdownParser int
const (
	Blackfriday MarkdownParser = iota
	Goldmark    MarkdownParser = iota
)

type Options

type Options struct {
	PassMetadata map[string]bool
	MDParser     MarkdownParser
}

Container for parsing options.

func NewOptions

func NewOptions(mdp MarkdownParser) *Options

type Parser

type Parser interface {
	// Parse parses source r into a Codelab for the specified environment env.
	Parse(r io.Reader, opts Options) (*types.Codelab, error)

	// ParseFragment is similar to Parse except it doesn't parse codelab metadata.
	ParseFragment(r io.Reader, opts Options) ([]types.Node, error)
}

Parser parses a codelab in specific resource format. Each parser needs to call Register to become a known parser.

Directories

Path Synopsis
Package md implements a parser for CLaaT. It expects, as input, the output of running a Markdown file through the Devsite Markdown processor.
Package md implements a parser for CLaaT. It expects, as input, the output of running a Markdown file through the Devsite Markdown processor.

Jump to

Keyboard shortcuts

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