diff options
Diffstat (limited to 'oh-my-zsh/plugins/rand-quote/rand-quote.plugin.zsh')
-rw-r--r-- | oh-my-zsh/plugins/rand-quote/rand-quote.plugin.zsh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/rand-quote/rand-quote.plugin.zsh b/oh-my-zsh/plugins/rand-quote/rand-quote.plugin.zsh new file mode 100644 index 0000000..23c21dc --- /dev/null +++ b/oh-my-zsh/plugins/rand-quote/rand-quote.plugin.zsh @@ -0,0 +1,23 @@ +if ! (( $+commands[curl] )); then + echo "rand-quote plugin needs curl to work" >&2 + return +fi + +function quote { + setopt localoptions nopromptsubst + + # Get random quote data + local data + data="$(command curl -s --connect-timeout 2 "http://www.quotationspage.com/random.php" \ + | iconv -c -f ISO-8859-1 -t UTF-8 \ + | command grep -a -m 1 'dt class="quote"')" + + # Exit if could not fetch random quote + [[ -n "$data" ]] || return 0 + + local quote author + quote=$(sed -e 's|</dt>.*||g' -e 's|.*html||g' -e 's|^[^a-zA-Z]*||' -e 's|</a..*$||g' <<< "$data") + author=$(sed -e 's|.*/quotes/||g' -e 's|<.*||g' -e 's|.*">||g' <<< "$data") + + print -P "%F{3}${author}%f: â%F{5}${quote}%fâ" +} |