TUI Ebook Reader
Project description
baca
: TUI Ebook Reader
Meet baca
, epy's lovely sister who lets you indulge
in your favorite e-books in the comfort of your terminal.
But with a sleek and contemporary appearance that's sure to captivate you!
Features
- Formats supported: Epub, Epub3, Mobi & Azw
- Remembers last reading position
- Scroll animations
- Clean & modern looks
- Lets you open images
- Text justification
- Dark & light colorscheme
- Regex search
- Hyperlinks
Requirements
python>=3.10
Installation
- Via pip:
pip install baca
- Via git:
pip install git+https://github.com/wustho/baca
Usage
# to read an ebook
baca path/to/your/ebook.epub
# to read your last read ebook, just run baca without any argument
baca
# to see your reading history use -r as an argument
baca -r
# say you want to read an ebook from your reading history,
# but you forgot the path to your ebook
# just type any words you remember about your ebook
# and baca will try to match it to path or title+author
baca doc ebook.epub
baca alice wonder lewis carroll
Opening an Image
To open an image, when you encounter some thing like this:
┌──────────────────────────────────────────────────────────────────────────────┐
│ IMAGE │
└──────────────────────────────────────────────────────────────────────────────┘
just click on it using mouse and it will open the image. Yeah, I know you want to use keyboard for this, me too, but bear with this for now.
Configurations
Configuration file available at ~/.config/baca/config.ini
for linux users. Here is the default:
[General]
# pick your favorite image viewer
PreferredImageViewer = auto
# int or css value string like 90%%
# (escape percent with double percent %%)
MaxTextWidth = 80
# 'justify', 'center', 'left', 'right'
TextJustification = justify
# currently using pretty=yes is slow
# and taking huge amount of memory
Pretty = no
PageScrollDuration = 0.2
[Color Dark]
Background = #1e1e1e
Foreground = #f5f5f5
Accent = #0178d4
[Color Light]
Background = #f5f5f5
Foreground = #1e1e1e
Accent = #0178d4
[Keymaps]
ToggleLightDark = c
ScrollDown = down,j
ScrollUp = up,k
PageDown = ctrl+f,pagedown,l,space
PageUp = ctrl+b,pageup,h
Home = home,g
End = end,G
OpenToc = tab
OpenMetadata = M
OpenHelp = f1
SearchForward = slash
SearchBackward = question_mark
NextMatch = n
PreviousMatch = N
Confirm = enter
CloseOrQuit = q,escape
Screenshot = f12
Known Limitations
-
When searching for specific phrases in
baca
, keep in mind that it may not be able to find them if they span across two lines, much like in the search behavior of editor vi(m).For example,
baca
won't be able to find the phrase"for it"
because it is split into two lines in this example.... she had forgotten the little golden key, and when she went back to the table for it, she found she could not possibly reach it: she could see it quite plainly ...
Additionally,
baca
may struggle to locate certain phrases due to adjustments made for text justification. See the example above,"see_it"
may become"see__it"
due to adjusted spacing between words. In this case, it may be more effective to use a regex search for"see +it"
or simply search for the word"see"
alone.Overall,
baca
's search feature is most effective for locating individual words rather than phrases that may be split across multiple lines or impacted by text justification. -
Compared to epy, currently
baca
has some missing features. But these are planned to be implemented tobaca
in the near future:- TODO Bookmarks
- TODO FictionBook support
- TODO URL reading support
Credits
- Thanks to awesome Textual Project
- Kindle Unpack
- And many others!
License
GPL-3
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.