💾 Archived View for tilde.team › ~rami › epy.gmi captured on 2024-12-17 at 11:35:27. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
רמי
SUBJECT: Epy: Консольное средство для чтения электронных изданий
AUTHOR: Rami Rosenfeld
DATE: 24/10/24
TIME: 01.00
LANG: ru, en
LICENSE: GNU FDL 1.3
TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, epub, fb2, epy, book, reader, console, terminal
С поддержкой чтения электронных изданий в GNU/Linux дело обстоит следующим образом:
1) Стандартное средство GNOME - Evince - позволяет открывать только pdf и djvu (запрос на обработку epub открыт несколько лет назад, но так и остался неудовлетворенным);
2) Стандартное средство MATE - Atrill (форк Evince) - дополнительно позволяет открывать epub.
3) Неплохая по современности оформления и простоте программа Foliate (GNOME, MATE) обрабатывает epub и fb2, но крайне неуверенно чувствует себя на слабых машинах, зачастую не отображает "тяжелые" файлы.
4) Все остальные рассмотренные мною программы отличаются устаревшим интерфейсом и обилием ненужных опций.
По сравнению с вышеперечисленным, консольная программа Epy - верх изящества по простоте, легковесности (примерно 700 кб в развернутом виде) и удобству использования.
Epy работает со следующими типами файлов электронных книг:
- Epub (.epub, .epub3);
- FictionBook (.fb2);
- Mobi (.mobi);
- AZW3 (.azw, .azw3);
- а также обрабатывает URL (но не является браузером).
Возможности:
- отображение процента прочитанного текста;
- поддержка закладок;
- интеграция с внешним переводчиком (sdcv, dict или wkdict);
- отображение полужирного и курсивного начертания шрифтов (зависит от терминала и возможностей шрифта);
- чтение голосовым движком;
- отображение двух страниц (разворота);
- "бесшовное" отображение текста.
Epy устанавливается различными способами:
pip3 install epy-reader
pip3 install git+https://github.com/wustho/epy
Но лично я не доверяю хранилищу pip (памятуя об инцидентах, связанных с безопасностью), поэтому выбрал и рекомендую следущий способ:
1) скачать исходный код из официального репозитория Github;
2) распаковать архив;
3) переименовать полученный каталог в .epy
4) переместить его в ~/
5) переименовать файл epy.py в epy
6) при необходимости - сделать этот файл исполнимым.
~/.epy/./epy /path/to/your/book/book_name.epub
ВАЖНО! Предупреждение разработчика: не используйте пробелы в именах файлов и пути к ним. Примечание от Рами: да и вообще это дурной тон!
Для удобства - создайте в .bashrc следующий алиас:
alias book='~/.epy/./epy'
В момент первого запуска программы или алиаса, должен быть указан путь к файлу книги. Впоследствии, достаточно набрать только команду или алиас - и программа откроет последнюю книгу в нужном месте. Кроме того, можно воспользоваться коллекцией закладок.
В процессе работы программа формирует "библиотеку" (по сути, это простой список ранее открытых книг). Epy не способна просканировать носитель или отдельный каталог на предмет нахождения на нем электронных изданий.
Быстрое перемещение по тексту весьма стандартно:
- клавишами "стрелка вниз/вверх" - построчное пролистывание текста;
- клавишами PgUp/PgDn - смена экрана (вверх/вниз).
- c - переключение цветового профиля;
- H - предыдущая глава;
- L - следующая глава;
- G - к концу главы;
- g - к началу главы;
- M - просмотр метадаты книги (выходных данных и т.п.);
- t - (содержание; при наличии);
- / - поиск
- b - добавление закладки;
- B - просмотр коллекции закладок;
- q - выход;
- - - уменьшение кегля текста;
- + - увеличение кегля текста;
- = - текст (колонка) по ширине экрана;
- o - открыть изображение;
- s - показать или скрыть индикатор прогресса чтения текста;
- c - быстрое переключение цветового оформления;
- R - режим "библиотека" "(список открытых ранее книг);
- D - переход в режим двустраничного просмотра ("разворот").
Примечание: Если после перехода в режим "разворот" и возврата обратно колонка левой страницы стала по ширине гораздо меньше экрана, выравняйте ее, нажав на клавишу "=".
- Левый клик (по правой части экрана) - следующая страница;
- Левый клик (по левой части экрана) - предшествующая страница;
- Правый клик - вызов оглавления (не всегда срабатывает; зависит от терминала);
- Прокрутка вверх - вверх;
- Прокрутка вниз - вниз;
- Ctrl + Прокрутка вверх - увеличить кегль шрифта;
- Ctrl + Прокрутка вниз - уменьшить кегль шрифта.
Конфигурационный файл расположен по адресу:
~/.config/epy
{
"Setting": {
"DefaultViewer": "auto",
"DictionaryClient": "auto",
"ShowProgressIndicator": true,
"PageScrollAnimation": true,
"MouseSupport": true,
"StartWithDoubleSpread": true,
"DefaultColorFG": -1,
"DefaultColorBG": -1,
"DarkColorFG": 252,
"DarkColorBG": 235,
"LightColorFG": 238,
"LightColorBG": 253,
"SeamlessBetweenChapters": false,
"PreferredTTSEngine": null,
"TTSEngineArgs": []
},
"Keymap": {
"ScrollUp": "k",
"ScrollDown": "j",
"PageUp": "h",
"PageDown": "l",
"NextChapter": "L",
"PrevChapter": "H",
"BeginningOfCh": "g",
"EndOfCh": "G",
"Shrink": "-",
"Enlarge": "+",
"SetWidth": "=",
"Metadata": "M",
"DefineWord": "d",
"TableOfContents": "t",
"Follow": "f",
"OpenImage": "o",
"RegexSearch": "/",
"ShowHideProgress": "s",
"MarkPosition": "m",
"JumpToPosition": "`",
"AddBookmark": "b",
"ShowBookmarks": "B",
"Quit": "q",
"Help": "?",
"SwitchColor": "c",
"TTSToggle": "!",
"DoubleSpreadToggle": "D",
"Library": "R"
}
}
Примечание: Подробнее карта цветов для персональной настройки интерфейса приведена на Github (см. ссылку ниже).
Дополнительно см.:
🄯 Rami Rosenfeld, 2024. GNU FDL 1.3.