rand-quote.plugin.zsh 537 Bytes
Newer Older
1
if ! (( $+commands[curl] )); then
Eduardo San Martin Morote's avatar
Eduardo San Martin Morote committed
2
    echo "rand-quote plugin needs curl to work" >&2
3
    return
4
fi
5
6
7
8
9
10
11
12
13
14

function quote {
    emulate -L zsh
    Q=$(curl -s --connect-timeout 2 "http://www.quotationspage.com/random.php" | iconv -c -f ISO-8859-1 -t UTF-8 | grep -m 1 "dt ")

    TXT=$(echo "$Q" | sed -e 's/<\/dt>.*//g' -e 's/.*html//g' -e 's/^[^a-zA-Z]*//' -e 's/<\/a..*$//g')
    WHO=$(echo "$Q" | sed -e 's/.*\/quotes\///g' -e 's/<.*//g' -e 's/.*">//g')

    [[ -n "$WHO" && -n "$TXT" ]] && print -P "%F{3}${WHO}%f: “%F{5}${TXT}%f”"
}