aboutsummaryrefslogtreecommitdiff
path: root/elvi/wikiquote
diff options
context:
space:
mode:
Diffstat (limited to 'elvi/wikiquote')
-rwxr-xr-xelvi/wikiquote48
1 files changed, 48 insertions, 0 deletions
diff --git a/elvi/wikiquote b/elvi/wikiquote
new file mode 100755
index 0000000..6e91ffb
--- /dev/null
+++ b/elvi/wikiquote
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+# elvis: wikiquote -- Search literary/film quotations on wikiquote.org
+
+. surfraw || exit 1
+
+default_lang="en"
+
+w3_config_hook() {
+ def SURFRAW_wikiquote_language "$SURFRAW_lang"
+}
+
+w3_usage_hook() {
+ cat <<EOF
+Usage: $w3_argv0 [options] [search words]...
+Description:
+ Surfraw search quotations on wikiquote.org
+Local options:
+ -language=ISOCODE | -l=ISOCODE Two letter language code (resembles ISO country codes)
+ Default: $default_lang
+ Environment: SURFRAW_wikiquote_language, SURFRAW_lang
+EOF
+ w3_global_usage
+}
+
+w3_parse_option_hook() {
+ opt="$1"
+ optarg="$2"
+ case "$opt" in
+ -l*=*) SURFRAW_wikiquote_language="$optarg" ;;
+ *) return 1 ;;
+ esac
+ return 0
+}
+
+w3_config
+w3_parse_args "$@"
+
+[ -z "$SURFRAW_wikiquote_language" ] && \
+ SURFRAW_wikiquote_language="$default_lang"
+
+url="https://${SURFRAW_wikiquote_language}.wikiquote.org"
+if ! null "$w3_args"; then
+ url="$url/w/index.php"
+ url="$url?search=$( w3_url_of_arg $w3_args )"
+ url="$url&title=Special%3ASearch&fulltext=Search&ns0=1"
+fi
+w3_browse_url "$url"