diff options
Diffstat (limited to 'scripts/conky-rss.sh')
-rwxr-xr-x | scripts/conky-rss.sh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/scripts/conky-rss.sh b/scripts/conky-rss.sh new file mode 100755 index 0000000..92375b5 --- /dev/null +++ b/scripts/conky-rss.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# RSS Display Script by Bill Woodford (admin@sdesign.us) v1.0 +# +# This script is designed to output story titles for most any RSS Feed. +# +# This script depends on curl. Please ensure it is installed and in your $PATH +# Gentoo: emerge -av net-misc/curl +# Debian: apt-get install curl +# Homepage: http://curl.haxx.se/ +# +# Usage: +# .conkyrc: ${execi [time] /path/to/script/conky-rss.sh URI LINES TITLENUM} +# URI = Location of feed, ex. http://www.gentoo.org/rdf/en/glsa-index.rdf +# LINES = How many titles to display (default 5) +# TITLENUM = How many times the title of the feed itself is specified, usually 1 or 2 (default 2) +# +# Usage Example +# ${execi 300 /home/youruser/scripts/conky-rss.sh http://www.foxnews.com/xmlfeed/rss/0,4313,1,00.rss 4 2} + +#RSS Setup - Don't change unless you want these values hard-coded! +uri=$1 #URI of RSS Feed +lines=$2 #Number of headlines +titlenum=$3 #Number of extra titles +if [ -n $4 ]; then + width=$4 +else + width=1024 +fi + +#Script start +#Require a uri, as a minimum +if [[ "$uri" == "" ]]; then + echo "No URI specified, cannot continue!" >&2 + echo "Please read script for more information" >&2 +else + #Set defaults if none specified + if [[ $lines == "" ]]; then lines=5 ; fi + if [[ $titlenum == "" ]]; then titlenum=2 ; fi + + #The actual work + curl -s --connect-timeout 30 $uri |\ + sed -e 's/<\/title>/\n/g' |\ + grep -o '<title>.*' |\ + sed -e 's/<title>//' |\ + head -n $(($lines + $titlenum)) |\ + tail -n $(($lines)) | \ + fmt -t -w $width +fi |