Merge pull request #121 from theSuess/master
feat: allow for custom link resolving
This commit is contained in:
commit
6d8701e84d
2 changed files with 5 additions and 1 deletions
|
@ -29,6 +29,7 @@ type Configuration struct {
|
||||||
DefaultSettings map[string]string // Default values for settings that are overriden by setting the same key in BufferSettings.
|
DefaultSettings map[string]string // Default values for settings that are overriden by setting the same key in BufferSettings.
|
||||||
Log *log.Logger // Log is used to print warnings during parsing.
|
Log *log.Logger // Log is used to print warnings during parsing.
|
||||||
ReadFile func(filename string) ([]byte, error) // ReadFile is used to read e.g. #+INCLUDE files.
|
ReadFile func(filename string) ([]byte, error) // ReadFile is used to read e.g. #+INCLUDE files.
|
||||||
|
ResolveLink func(protocol string, description []Node, link string) Node
|
||||||
}
|
}
|
||||||
|
|
||||||
// Document contains the parsing results and a pointer to the Configuration.
|
// Document contains the parsing results and a pointer to the Configuration.
|
||||||
|
@ -93,6 +94,9 @@ func New() *Configuration {
|
||||||
},
|
},
|
||||||
Log: log.New(os.Stderr, "go-org: ", 0),
|
Log: log.New(os.Stderr, "go-org: ", 0),
|
||||||
ReadFile: ioutil.ReadFile,
|
ReadFile: ioutil.ReadFile,
|
||||||
|
ResolveLink: func(protocol string, description []Node, link string) Node {
|
||||||
|
return RegularLink{protocol, description, link, false}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -329,7 +329,7 @@ func (d *Document) parseRegularLink(input string, start int) (int, Node) {
|
||||||
if len(linkParts) == 2 {
|
if len(linkParts) == 2 {
|
||||||
protocol = linkParts[0]
|
protocol = linkParts[0]
|
||||||
}
|
}
|
||||||
return consumed, RegularLink{protocol, description, link, false}
|
return consumed, d.ResolveLink(protocol, description, link)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Document) parseTimestamp(input string, start int) (int, Node) {
|
func (d *Document) parseTimestamp(input string, start int) (int, Node) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue