From: Sergey Matveev Date: Sun, 3 Jan 2021 12:14:12 +0000 (+0300) Subject: urls export support X-Git-Url: http://www.git.stargrave.org/?p=linksexp.git;a=commitdiff_plain;h=e546208d84c0c241b16503539dc9070814d063c4 urls export support --- diff --git a/README b/README index b612add..d786a04 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -linksexp -- Texinfo/XBEL/OPML autogeneration from recfile bookmark. +linksexp -- Texinfo/XBEL/OPML/urls autogeneration from recfile bookmark. Given recfile (https://www.gnu.org/software/recutils/) bookmark file, this program can generate (export links): @@ -6,3 +6,4 @@ this program can generate (export links): * either part of Texinfo source code output * or XBEL (http://xbel.sourceforge.net/, https://en.wikipedia.org/wiki/XBEL) * or OPML (http://dev.opml.org/, https://en.wikipedia.org/wiki/OPML) +* or "urls" file for newsboat (https://newsboat.org/) 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 { diff --git a/opml.go b/opml.go index 498ca56..6a17baa 100644 --- a/opml.go +++ b/opml.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 diff --git a/xbel.go b/xbel.go index 6db0db2..591bb39 100644 --- a/xbel.go +++ b/xbel.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