diff options
Diffstat (limited to 'scanner.go')
| -rw-r--r-- | scanner.go | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -7,13 +7,14 @@ package main */ import "C" import ( + "html/template" "log" "strings" ) type Link struct { - Url string - Text string + Url template.URL + Text template.HTML IsDir bool } @@ -29,16 +30,16 @@ func getToken(input string) []Link { if token == C.TOKEN_URL { // flex reads the href attr - l.Url = C.GoString(C.yylval) + l.Url = template.URL(C.GoString(C.yylval)) - if strings.HasSuffix(l.Url, "/") { + if strings.HasSuffix(C.GoString(C.yylval), "/") { l.IsDir = true } } else if token == C.TOKEN_TEXT { // flex reads the link description - l.Text = C.GoString(C.yylval) + l.Text = template.HTML(C.GoString(C.yylval)) ls = append(ls, l) l = Link{} } else { |
