summaryrefslogtreecommitdiffstats
path: root/.local/bin/edit-bookmarks
diff options
context:
space:
mode:
authorJustin Gassner <justin.gassner@mailbox.org>2023-08-25 17:55:32 +0200
committerJustin Gassner <justin.gassner@mailbox.org>2023-09-18 12:39:47 +0200
commit159003fd48ef797dc9ef9d52fc753bec8d8ff72b (patch)
treeff542e87318854a46c93a73d3d1ce202929a1947 /.local/bin/edit-bookmarks
parentafb499d81dc22ccc00fbd999862360a3e6f16cdb (diff)
downloaddotfiles-159003fd48ef797dc9ef9d52fc753bec8d8ff72b.tar.zst
configx1
Diffstat (limited to '.local/bin/edit-bookmarks')
-rwxr-xr-x.local/bin/edit-bookmarks37
1 files changed, 37 insertions, 0 deletions
diff --git a/.local/bin/edit-bookmarks b/.local/bin/edit-bookmarks
new file mode 100755
index 0000000..f030fd2
--- /dev/null
+++ b/.local/bin/edit-bookmarks
@@ -0,0 +1,37 @@
+#!/usr/bin/bash
+
+bookmarks=/tmp/bookmarks.txt
+
+edit_bookmarks_pdf() {
+ # extract bookmarks
+ pdftk "$1" data_dump output $bookmarks
+
+ # edit bookmarks.txt
+ nvim $bookmarks
+
+ # set bookmarks back to document
+ pdftk "$1" update_info $bookmarks output "$1".new.pdf
+}
+
+edit_bookmarks_djvu() {
+ # extract bookmarks
+ djvused -e "print-outline" "$1" >$bookmarks
+
+ # edit bookmarks.txt
+ nvim $bookmarks
+
+ # set bookmarks back to document
+ djvused -s -e "set-outline $bookmarks" "$1"
+}
+
+case "$1" in
+ *.pdf)
+ edit_bookmarks_pdf "$1"
+ ;;
+ *.djvu)
+ edit_bookmarks_djvu "$1"
+ ;;
+ *)
+ echo "Not a pdf or djvu file."
+ ;;
+esac