aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2019-10-13 01:09:56 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2019-10-13 01:24:02 +0530
commit2f413f80596f3946ab700189aaed7c07943ba253 (patch)
tree01f11166ddaf84d319d76bbdd40db14728df2912
parent262c94f696aa3407bd8378cc525faeb655f27f8f (diff)
downloadnnn-2f413f80596f3946ab700189aaed7c07943ba253.tar.gz
Plugin to browse, download, read from Project Gutenberg
-rw-r--r--plugins/README.md1
-rwxr-xr-xplugins/gutenread35
2 files changed, 36 insertions, 0 deletions
diff --git a/plugins/README.md b/plugins/README.md
index a8e28ad..6109d98 100644
--- a/plugins/README.md
+++ b/plugins/README.md
@@ -16,6 +16,7 @@ The currently available plugins are listed below.
| drop-file | sh | [dragon](https://github.com/mwh/dragon) | Drag and drop files into nnn |
| fzy-open | sh | fzy, xdg-open | Fuzzy find a file in dir subtree and edit or xdg-open |
| getplugs | sh | curl | Update plugins |
+| gutenread | sh | curl, unzip, w3m | Browse, download, read from Project Gutenberg |
| hexview | sh | xxd | View a file in hex in `$PAGER` |
| imgresize | sh | [imgp](https://github.com/jarun/imgp) | Resize images in dir to screen resolution |
| imgur | bash | - | Upload an image to imgur (from [imgur-screenshot](https://github.com/jomo/imgur-screenshot)) |
diff --git a/plugins/gutenread b/plugins/gutenread
new file mode 100755
index 0000000..40ef2ac
--- /dev/null
+++ b/plugins/gutenread
@@ -0,0 +1,35 @@
+#!/usr/bin/env sh
+
+# Description: Browse Project Gutenberg catalogue by popularity, then download
+# and read a book of your choice.
+#
+# Details: Set the variable EBOOK_ID to download in html format and read in w3m.
+# Clear EBOOK_ID to browse available ebooks by popularity and set it to
+# the ID once you find an interesting one.
+#
+# For example:
+# Wuthering Heights by Emily Brontë is at https://www.gutenberg.org/ebooks/768
+# So EBOOK_ID would be 768
+#
+# Shell: POSIX compliant
+# Author: Arun Prakash Jana
+
+EBOOK_ID=
+DIR=${XDG_CACHE_HOME:-$HOME/.cache}/nnn/gutenbooks/"$EBOOK_ID"
+BROWSE_LINK="http://www.gutenberg.org/ebooks/search/?sort_order=downloads"
+BROWSER=w3m
+
+if [ ! -z "$EBOOK_ID" ]; then
+ if [ ! -e $DIR ]; then
+ mkdir -p $DIR
+ cd $DIR
+ curl -L -O "https://www.gutenberg.org/files/"$EBOOK_ID"/"$EBOOK_ID"-h.zip"
+ unzip "$EBOOK_ID"-h.zip
+ fi
+
+ if [ -d $DIR ]; then
+ "$BROWSER" $DIR/"$EBOOK_ID"-h/"$EBOOK_ID"-h.htm
+ fi
+else
+ "$BROWSER" $BROWSE_LINK
+fi