]> gitweb.fluxo.info Git - feeds.git/commitdiff
Feat: OPML including all other OPML files
authorSilvio Rhatto <rhatto@riseup.net>
Sat, 23 Nov 2024 22:34:16 +0000 (19:34 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sat, 23 Nov 2024 22:34:16 +0000 (19:34 -0300)
README.md
all.opml [new file with mode: 0644]
compile [new file with mode: 0755]

index 532c6998439c13e45f31ce52edf83ad66435c5e5..cef933f17495e7a9fd6346a65ebef9ac79dfa4a5 100644 (file)
--- a/README.md
+++ b/README.md
@@ -58,6 +58,11 @@ the canonical URL:
 
 Copy `sample.opml` to a new file and edit to include your own set of feeds!
 
+## Development
+
+Use the [compile](compile) script to build an OPML including all other
+OPML files.
+
 ## References
 
 * For the OPML spec, check http://dev.opml.org
diff --git a/all.opml b/all.opml
new file mode 100644 (file)
index 0000000..9c8b949
--- /dev/null
+++ b/all.opml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<opml version="1.0">
+  <head>
+    <title>All Feeds</title>
+  </head>
+  <body>
+    <outline type="include" xmlUrl="./essential.opml"/>
+    <outline type="include" xmlUrl="./brasil.opml"/>
+    <outline type="include" xmlUrl="./analysis.opml"/>
+    <outline type="include" xmlUrl="./hardware.opml"/>
+    <outline type="include" xmlUrl="./software.opml"/>
+    <outline type="include" xmlUrl="./telecom.opml"/>
+    <outline type="include" xmlUrl="./hacker.opml"/>
+    <outline type="include" xmlUrl="./incoming.opml"/>
+    <outline type="include" xmlUrl="./space.opml"/>
+    <outline type="include" xmlUrl="./comics.opml"/>
+    <outline type="include" xmlUrl="./investigative.opml"/>
+    <outline type="include" xmlUrl="./brasil/ngo.opml"/>
+    <outline type="include" xmlUrl="./brasil/saopaulo/weather.opml"/>
+    <outline type="include" xmlUrl="./brasil/saopaulo/culture.opml"/>
+    <outline type="include" xmlUrl="./brasil/saopaulo/news.opml"/>
+    <outline type="include" xmlUrl="./brasil/analysis.opml"/>
+    <outline type="include" xmlUrl="./brasil/hacker.opml"/>
+    <outline type="include" xmlUrl="./brasil/investigative.opml"/>
+    <outline type="include" xmlUrl="./brasil/internet.opml"/>
+    <outline type="include" xmlUrl="./brasil/left.opml"/>
+    <outline type="include" xmlUrl="./brasil/jobs.opml"/>
+    <outline type="include" xmlUrl="./brasil/tech.opml"/>
+    <outline type="include" xmlUrl="./brasil/foss.opml"/>
+    <outline type="include" xmlUrl="./brasil/surveillance.opml"/>
+    <outline type="include" xmlUrl="./brasil/science.opml"/>
+    <outline type="include" xmlUrl="./brasil/news.opml"/>
+    <outline type="include" xmlUrl="./brasil/movements.opml"/>
+    <outline type="include" xmlUrl="./internet.opml"/>
+    <outline type="include" xmlUrl="./misc.opml"/>
+    <outline type="include" xmlUrl="./coins.opml"/>
+    <outline type="include" xmlUrl="./bsd.opml"/>
+    <outline type="include" xmlUrl="./illuminati.opml"/>
+    <outline type="include" xmlUrl="./data.opml"/>
+    <outline type="include" xmlUrl="./sample.opml"/>
+    <outline type="include" xmlUrl="./left.opml"/>
+    <outline type="include" xmlUrl="./drupal.opml"/>
+    <outline type="include" xmlUrl="./security.opml"/>
+    <outline type="include" xmlUrl="./tech.opml"/>
+    <outline type="include" xmlUrl="./development.opml"/>
+    <outline type="include" xmlUrl="./geek.opml"/>
+    <outline type="include" xmlUrl="./foss.opml"/>
+    <outline type="include" xmlUrl="./literature.opml"/>
+    <outline type="include" xmlUrl="./surveillance.opml"/>
+    <outline type="include" xmlUrl="./science.opml"/>
+    <outline type="include" xmlUrl="./news.opml"/>
+    <outline type="include" xmlUrl="./movements.opml"/>
+    <outline type="include" xmlUrl="./humanitarian.opml"/>
+    </outline>
+  </body>
+</opml>
diff --git a/compile b/compile
new file mode 100755 (executable)
index 0000000..899a761
--- /dev/null
+++ b/compile
@@ -0,0 +1,40 @@
+#!/usr/bin/env sh
+#
+# Compile an OPML including all other OPML files.
+#
+
+# Parameters
+BASENAME="`basename $0`"
+DIRNAME="`dirname $0`"
+OUT="$DIRNAME/all.opml"
+
+# Header
+cat <<-EOF > $OUT
+<?xml version="1.0"?>
+<opml version="1.0">
+  <head>
+    <title>All Feeds</title>
+  </head>
+  <body>
+EOF
+
+# Contend
+find $DIRNAME -name '*.opml' | while read item; do
+  name="`basename $item .opml`"
+  base="`dirname $item`"
+
+  # Avoid recursion
+  if [ "$name" = "all" ]; then
+    continue
+  fi
+
+  #echo "    <outline type=\"include\" xmlUrl=\"${item}\" title=\"${base}/${name}\"/>" >> $OUT
+  echo "    <outline type=\"include\" xmlUrl=\"${item}\"/>" >> $OUT
+done
+
+# Footer
+cat <<-EOF >> $OUT
+    </outline>
+  </body>
+</opml>
+EOF