|
|
@ -132,7 +132,8 @@ func ParseLinks(blockId string, content string) ([]ParsedLink, error) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func ParseTags(content string) ([]string, error) {
|
|
|
|
func ParseTags(content string) ([]string, error) {
|
|
|
|
hrefRE := regexp.MustCompile(`(#\[\[\s*([^\]]+)\s*\]\])`)
|
|
|
|
linkRE := regexp.MustCompile(`(#\[\[\s*([^\]]+)\s*\]\])`)
|
|
|
|
|
|
|
|
tagRE := regexp.MustCompile(`#([^ ]+)`)
|
|
|
|
|
|
|
|
|
|
|
|
scanner := bufio.NewScanner(strings.NewReader(content))
|
|
|
|
scanner := bufio.NewScanner(strings.NewReader(content))
|
|
|
|
scanner.Split(bufio.ScanLines)
|
|
|
|
scanner.Split(bufio.ScanLines)
|
|
|
@ -141,13 +142,16 @@ func ParseTags(content string) ([]string, error) {
|
|
|
|
|
|
|
|
|
|
|
|
for scanner.Scan() {
|
|
|
|
for scanner.Scan() {
|
|
|
|
line := scanner.Text()
|
|
|
|
line := scanner.Text()
|
|
|
|
links := hrefRE.FindAllStringSubmatch(line, -1)
|
|
|
|
links := linkRE.FindAllStringSubmatch(line, -1)
|
|
|
|
for _, matches := range links {
|
|
|
|
for _, matches := range links {
|
|
|
|
link := matches[0]
|
|
|
|
linkText := matches[0]
|
|
|
|
link = strings.TrimPrefix(link, "#[[")
|
|
|
|
linkText = strings.TrimPrefix(linkText, "#[[")
|
|
|
|
link = strings.TrimSuffix(link, "]]")
|
|
|
|
linkText = strings.TrimSuffix(linkText, "]]")
|
|
|
|
link = strings.TrimSpace(link)
|
|
|
|
linkText = strings.TrimSpace(linkText)
|
|
|
|
result = append(result, link)
|
|
|
|
result = append(result, linkText)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
for _, matches := range tagRE.FindAllStringSubmatch(line, -1) {
|
|
|
|
|
|
|
|
result = append(result, matches[1])
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|