aboutsummaryrefslogtreecommitdiff
path: root/.oh-my-zsh/plugins/rand-quote
diff options
context:
space:
mode:
authorMarvin Borner2019-03-05 01:09:01 +0100
committerMarvin Borner2019-03-05 01:09:01 +0100
commit55457187d18221e76bd12f0fb2cfab65c49b92fb (patch)
tree8db042d2d80710d54100c2709ad4332153ac848a /.oh-my-zsh/plugins/rand-quote
Initial commit
Diffstat (limited to '.oh-my-zsh/plugins/rand-quote')
-rw-r--r--.oh-my-zsh/plugins/rand-quote/README.md15
-rw-r--r--.oh-my-zsh/plugins/rand-quote/rand-quote.plugin.zsh14
2 files changed, 29 insertions, 0 deletions
diff --git a/.oh-my-zsh/plugins/rand-quote/README.md b/.oh-my-zsh/plugins/rand-quote/README.md
new file mode 100644
index 0000000..c387aaa
--- /dev/null
+++ b/.oh-my-zsh/plugins/rand-quote/README.md
@@ -0,0 +1,15 @@
+# rand-quote plugin
+
+Displays a random quote taken from [quotationspage.com](http://www.quotationspage.com/random.php)
+
+Created by [Eduardo San Martin Morote, aka Posva](https://posva.github.io)
+
+## Usage
+
+Add the plugin to the plugins array in your zshrc file and restart zsh:
+
+```zsh
+plugins=(... rand-quote)
+```
+
+Then, run `quote` to get a new random quote.
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..371b997
--- /dev/null
+++ b/.oh-my-zsh/plugins/rand-quote/rand-quote.plugin.zsh
@@ -0,0 +1,14 @@
+if ! (( $+commands[curl] )); then
+ echo "rand-quote plugin needs curl to work" >&2
+ return
+fi
+
+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”"
+}