bookme

CLI tool for tracking your books

Usage no npm install needed!

<script type="module">
  import bookme from 'https://cdn.skypack.dev/bookme';
</script>

README

bookme

Консольная утилита для управления книгами, которые вы читаете

Описание

Bookme в первую очередь создан, чтобы отслеживать сколько книг читается в данный момент и на каком этапе прочтения вы находитесь в каждой книге, а также хранить некий список "хочу прочитать, но пока не могу". Возможно для этого уже созданы какие то программы, но я не в курсе и хочу простую, понятную и для себя. В качестве "бонуса" я буду вести некий репозиторий книг, который буду пополнять по мере желания. Его целью не будет создание онлайн библиотеки. И книги в большинстве своем будут по программированию.

Установка

npm install -g bookme

Итак, все что вам надо знать для пользования, это прочитать мануал расположенный ниже

Как это работает

Чтобы посмотеть список книг, которые вы читаете используйте следующий синтаксис:

bookme list

Вы должны увидеть красивую табличку со списком книг и параметрами.

Чтобы добавить в список, который отныне будем иминовать "основным" введите:

bookme add --author="Stephen King" --title="The Stand" --category='horror' --done=50 --pages=750 --path=/mybooks/king/stand.pdf

Параметры author, title, path обязательны. За правильность параметров author, title, done, pages, category отвечаете только вы сами. В параметре path должна быть указана правильная ссылка на книгу на компьютере (будут проверено, что формат доступен). Можно указать в path веб ссылку, но за ее правильность bookme не отвечает. Pages - сколько всего страниц в книге, done - сколько страниц прочитано. Параметры на вашей совести, ведите их сами.

Наброски идей

bookme --list

Выводит список книг, которые я читаю в данный момент, с указанием автора, названия книги, прочитано/всего, прогресс в процентах, id книги

bookme --add -path="/book/path/mybook.pdf" -author="J.J. Abrams" -title="The Stand" [-pages="1000"] [-done 566]

Добавляет книгу в список сейчас читаемых, -done - сколько страниц прочитано в данный момент

bookme --change book_id [-pages="1000"] [-done 566]

Можно поменять сколько страниц всего и сколько прочитано

bookme --wishlist

Выводит список книг, которые я хочу прочитать, но не читаю в данный момент

bookme --add-wish -author="J.J. Abrams" -title="The Stand"

Добавляет книгу в список "wish"

bookme --migrate_to_list

Переносит книгу из списка желаний в сейчас читаемые

bookme --delete book_id

Удаляет книгу по ее id (из list или из wishlist)

bookme --remote-list

Показывает список книг, которые есть в репозитории

bookme --download_to_list [--download_to_wishlist] book_id

Скачивает книгу и добавляет в нужный список

bookme search [search-remote] params

Поиск книги локально или в репозитории

Книга в основном списке хранится со следующими полями:

  • Title - string [must]
  • Author - string [must]
  • Category - string [default: undefined] (example: programming/js)
  • Pages - number [default: undefined]
  • Done - number [default: undefined]
  • Tags - array of strings [default: []]
  • Path - string - абсолютный путь до файла с книгой [must]

! В wish списке тоже самое, только один параметр обязательный - title. Миграция в основной список возможна, только если есть поля title, author, path.

TODOS:

  • список прочитанных книг
  • полная очистка списка
  • ввести ограничение на типы файлов, которые считаются книгами
  • возможность хранить книгу удаленно (не отвечая при этом за доступность)