X-Git-Url: http://www.git.stargrave.org/?p=linksexp.git;a=blobdiff_plain;f=main.go;h=9fb4e203d1c5b5786d87a26b509370b4fd9a645b;hp=0657c0a12783583a30ffd98c156a0d2b1247790a;hb=e546208d84c0c241b16503539dc9070814d063c4;hpb=1c3368b1198c782a9ecadf5ed060a0e3906bde90 diff --git a/main.go b/main.go index 0657c0a..9fb4e20 100644 --- a/main.go +++ b/main.go @@ -1,5 +1,5 @@ /* -linksexp -- Texinfo/XBEL/OPML autogeneration from recfile bookmark +linksexp -- Texinfo/XBEL/OPML/urls autogeneration from recfile bookmark Copyright (C) 2021 Sergey Matveev This program is free software: you can redistribute it and/or modify @@ -40,9 +40,32 @@ func (a ByTitle) Less(i, j int) bool { func main() { doXBEL := flag.Bool("xbel", false, "Make XBEL") doOPML := flag.Bool("opml", false, "Make OPML") + doURLS := flag.Bool("urls", false, "Make newsboat urls") flag.Parse() r := recfile.NewReader(os.Stdin) + + if *doURLS { + for { + m, err := r.NextMapWithSlice() + if err == io.EOF { + break + } + if err != nil { + panic(err) + } + if m["%rec"] != nil { + continue + } + sort.Strings(m["Category"]) + cats := strings.Join(m["Category"], " ") + for _, f := range m["Feed"] { + fmt.Println(f, cats) + } + } + os.Exit(0) + } + if *doOPML { data := make([]map[string][]string, 0) for {