summaryrefslogtreecommitdiffstats
path: root/.local/bin/edit-bookmarks
blob: f030fd2a410e6493f992b7c7ab8a035e7aa8a279 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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