diff options
Diffstat (limited to 'scanner.go')
| -rw-r--r-- | scanner.go | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -6,13 +6,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 } @@ -28,16 +29,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 { |
