package main import ( "html/template" "log" "strings" "github.com/PuerkitoBio/goquery" ) type Link struct { Url template.URL Text template.HTML IsDir bool } func getToken(input string) []Link { var links []Link var link Link html_code := strings.NewReader(input) doc, err := goquery.NewDocumentFromReader(html_code) if err != nil { log.Fatal(err) } doc.Find("a").Each(func(i int, s *goquery.Selection) { url, ok := s.Attr("href") if !ok { log.Fatal("Fehler beim URL parsen") } link.Url = template.URL(url) if strings.HasSuffix(url, "/") { link.IsDir = true } else { link.IsDir = false } link.Text = template.HTML(s.Text()) links = append(links, link) }) return links }