Skip to content

xenycx/termtome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

17 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

TermTome โœจ๐Ÿ“š

A fast, feature-rich, and highly customizable Terminal User Interface (TUI) E-book reader built with Rust.

TermTome brings the joy of reading directly to your terminal. Whether you're a developer who never wants to leave their command line or someone who appreciates minimalistic, distraction-free environments, TermTome provides a robust reading experience with advanced features like in-book searching, progress tracking, and custom themes.

License Rust Status

Starter Guide

โœจ Features

TermTome is packed with everything you need for a comfortable reading experience in the terminal:

๐Ÿ“– Reading Experience

  • Broad Format Support: Seamlessly parse and read EPUB files.
  • Reading Preferences: Toggle between Light and Dark modes or create your own custom color schemes.
  • Adjustable Display: Dynamically adjust reading layouts, text sizing simulation, and window splitting.
  • Progress Tracking: Real-time stats on your chapter progress, time spent reading, and estimated reading speed (WPM).

๐Ÿ” Search & Navigation

  • In-Chapter Search: Quickly find text using the / command, complete with result highlighting and n/N navigation.
  • Table of Contents: Native TOC view to instantly jump between sections and chapters.
  • Smart Bookmarks: Remembers your last read position, time spent, and preferred settings per book.

๐Ÿ“š Library Management

  • Organize Your Collection: Support for categories, tags, and rich book metadata (Author, Title, Date, Description).
  • Library Filtering: Sort your books by name, date, or progress, and quickly filter your library.
  • Full Library Control: Import new books, delete old ones, and manage your collection directly from the TUI.

โŒจ๏ธ Controls & UI

  • Keyboard-First Design: Vim-like keybindings for fast and intuitive navigation.
  • Mouse Support: Built-in terminal mouse support for scrolling and clicking.
  • Responsive UI: Automatically handles terminal resizing and reflows text beautifully.

๐Ÿš€ Getting Started

Prerequisites

To build and run TermTome, you will need:

  • Rust (1.70 or newer recommended)
  • Cargo (comes with Rust)

Installation

  1. Clone the repository:

    git clone https://github.com/xenycx/termtome.git
    cd termtome
  2. Build the project:

    cargo build --release
  3. Install globally (Optional):

    cargo install --path .

    This allows you to run termtome from anywhere on your system.

Quick Start

Run the application directly using Cargo:

cargo run

Or, if installed globally, simply type the executable name in your terminal. You can pass the path to an EPUB file directly:

termtome path/to/your/book.epub

๐ŸŽฎ Keybindings & Controls

TermTome is designed to be fully navigable via keyboard. (Press ? inside the app to view the help menu anytime).

Key Action
j / Down Scroll Down
k / Up Scroll Up
h / Left Previous Chapter / Go Back
l / Right Next Chapter / Go Forward
/ Start Search
n / N Next/Previous Search Result
Tab Switch between Library and Reading view
q / Esc Quit Application

(Note: Mouse scrolling and clicking are also supported if your terminal emulator allows it.)

๐Ÿ’ฌ Command Palette

Press : at any time to open the command palette at the bottom of the screen.

Command Description
:import <path> Import an EPUB or TXT file into your library
:create <name> Create a new library category (folder)
:delete [book] Delete the selected book, or a specific book by name
:move <bk> <cat> Move a book to a different category
:dl or :downloader Open the online downloader pane
:theme [light|dark] Toggle the current theme or set it explicitly
:quit or :q Exit the application

๐Ÿ› ๏ธ Configuration & Data

By default, TermTome stores your imported books, reading progress, and configuration files in your system's standard user data directory.

  • Linux: ~/.local/share/termtome/
  • macOS: ~/Library/Application Support/termtome/
  • Windows: C:\Users\{User}\AppData\Roaming\termtome\

๐Ÿค Contributing

Contributions, issues, and feature requests are welcome! Feel free to check issues page.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ License

Distributed under the MIT License. See LICENSE for more information.

About

โœจ๐Ÿ“š A lightning-fast, distraction-free TUI E-book reader for your terminal. Built with Rust.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages