33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package parser
 | |
| 
 | |
| import (
 | |
| 	"github.com/gomarkdown/markdown/ast"
 | |
| )
 | |
| 
 | |
| // Flags control optional behavior of parser.
 | |
| type Flags int
 | |
| 
 | |
| // Options is a collection of supplementary parameters tweaking the behavior of various parts of the parser.
 | |
| type Options struct {
 | |
| 	ParserHook    BlockFunc
 | |
| 	ReadIncludeFn ReadIncludeFunc
 | |
| 
 | |
| 	Flags Flags // Flags allow customizing parser's behavior
 | |
| }
 | |
| 
 | |
| // Parser renderer configuration options.
 | |
| const (
 | |
| 	FlagsNone        Flags = 0
 | |
| 	SkipFootnoteList Flags = 1 << iota // Skip adding the footnote list (regardless if they are parsed)
 | |
| )
 | |
| 
 | |
| // BlockFunc allows to registration of a parser function. If successful it
 | |
| // returns an ast.Node, a buffer that should be parsed as a block and the the number of bytes consumed.
 | |
| type BlockFunc func(data []byte) (ast.Node, []byte, int)
 | |
| 
 | |
| // ReadIncludeFunc should read the file under path and returns the read bytes,
 | |
| // from will be set to the name of the current file being parsed. Initially
 | |
| // this will be empty. address is the optional address specifier of which lines
 | |
| // of the file to return. If this function is not set no data will be read.
 | |
| type ReadIncludeFunc func(from, path string, address []byte) []byte
 | 
