]> Sergey Matveev's repositories - nnn.git/commitdiff
gutenread: support epub
authorArun Prakash Jana <engineerarun@gmail.com>
Sun, 13 Oct 2019 05:41:39 +0000 (11:11 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Sun, 13 Oct 2019 06:36:32 +0000 (12:06 +0530)
plugins/README.md
plugins/gutenread

index 6109d9861416a664c7e0359cb8e8001f5ee0c7da..8995979b4ad24464a39563befefc093bd31c567a 100644 (file)
@@ -16,7 +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 |
+| gutenread | sh | curl, unzip, w3m<br>[epr](https://github.com/wustho/epr) (optional)| 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)) |
@@ -24,7 +24,7 @@ The currently available plugins are listed below.
 | kdeconnect | sh | kdeconnect-cli | Send selected files to an Android device |
 | mediainf | sh | mediainfo | Show media information |
 | moclyrics | sh | [ddgr](https://github.com/jarun/ddgr), [moc](http://moc.daper.net/) | Show lyrics of the track playing in moc |
-| mocplay | sh | [moc](http://moc.daper.net/) | Appends (and plays, see script) selection/dir/file in moc|
+| mocplay | sh | [moc](http://moc.daper.net/) | Append (and/or play) selection/dir/file in moc|
 | ndiff | sh | vimdiff | Diff for selection (limited to 2 for directories) |
 | nmount | sh | pmount, udisks2 | Toggle mount status of a device as normal user |
 | notes | sh | - | Open a quick notes file/dir in `$EDITOR` |
index 40ef2acf6f59e525751b3f1be8ebe14f314a7a77..c1ff6ba1146bc5b3c4ad91f8a126ee0c3c361903 100755 (executable)
@@ -6,11 +6,15 @@
 # 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.
+#          To dowload and read in epub format set READER to an epub reader like
+#          epr: https://github.com/wustho/epr
 #
-#          For example:
+#          More on EBOOK_ID:
 #          Wuthering Heights by Emily Brontë is at https://www.gutenberg.org/ebooks/768
 #          So EBOOK_ID would be 768
 #
+#          Downloaded ebooks are at ${XDG_CACHE_HOME:-$HOME/.cache}/nnn/gutenbooks/
+#
 # Shell: POSIX compliant
 # Author: Arun Prakash Jana
 
@@ -18,17 +22,27 @@ 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
+READER=
 
 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
+
+        if [ -z "$READER" ]; then
+            curl -L -O "https://www.gutenberg.org/files/"$EBOOK_ID"/"$EBOOK_ID"-h.zip"
+            unzip "$EBOOK_ID"-h.zip
+        else
+            curl -L -o "$EBOOK_ID".epub "http://www.gutenberg.org/ebooks/"$EBOOK_ID".epub.noimages"
+        fi
     fi
 
     if [ -d $DIR ]; then
-        "$BROWSER" $DIR/"$EBOOK_ID"-h/"$EBOOK_ID"-h.htm
+        if [ -z "$READER" ]; then
+            "$BROWSER" $DIR/"$EBOOK_ID"-h/"$EBOOK_ID"-h.htm
+        else
+            "$READER" $DIR/"$EBOOK_ID".epub
+        fi
     fi
 else
     "$BROWSER" $BROWSE_LINK