返回排行榜

every-day-things/citadel

TypeScript

Manage your ebook library without frustrations. Calibre compatible.

calibreebookebook-collectionebook-managerepub
Star 增长趋势
Star
1.1k
Forks
13
周增长
Issues
13
6008001k
2024年1月2024年10月2025年7月2026年5月
制品库npmnpm install citadel
README

Citadel

Quality checks Build

Manage your ebook library with Citadel. Backwards compatible with Calibre.

https://github.com/every-day-things/citadel/assets/17505728/a3879896-8404-4333-98cb-5e1e0060b42e

Citadel is early software; it is likely full of bugs and lacking features.

Project goals

  • Backwards compatible with Calibre: Calibre must be able to read any library that Citadel has edited.
  • Good UX: Citadel must be easy to use and look good.
  • Performant: Citadel must feel much faster than Calibre, and never slower.

Non-goals

  • Ebook reader: Citadel is not an ebook reader. There are already excellent ereader apps: Citadel will open your files in your default apps.
  • ...or editor: If you're editing ebook content (not metadata like titles), Citadel will not be a replacement for you.
  • 100% feature parity: Primarily around Plugins, but there are some advanced features of Calibre we'll likely never build.

Downloading

[!WARNING] Citadel is very early in development. It may crash, or be missing basic features. It may corrupt your ebook library.

Back up your Calibre library regularly if you use Citadel on it.

(Semi-) stable builds are available in Releases.

Development builds are available from GitHub actions.

Please report any issues or crashes you experience while using any version of Citadel!

Installing on macOS

Builds aren't signed (yet) — if you open Citadel.app directly, you'll get a warning that the file is "damaged".

Removing the Quarantine attribute from the file resolves this. For example,

xattr -d com.apple.quarantine /Applications/Citadel.app/

Developing

As a prerequisite, you'll need to install Bun, Node^1, and Rust.

Then, you can install the packages.

bun install

and start up the app like so:

bun run dev
# or just bun dev

Lint & Formatting

To lint all source code, run bun lint. To autoformat, run bun format.

Scope Action Command
All code Format bun format
All code Format (Check) bun format:check
All code Lint bun lint
Backend Format bun format:backend
Backend Lint bun lint:backend
Frontend Format bun format:web
Frontend Lint bun lint:web

App preview without backend

You can run just the frontend with this command, although you WILL see errors as the Rust backend will be missing but is assumed to exist:

bun dev:app

To run the backend in server mode for development, run

bun dev -- -- -- -- --server --calibre-library=/path/to/calibre/library

Yes, that is 4 pairs of --s. This is because Bun will pass the first pair to another bun run command, the second will go to tauri dev, the third will go to vite dev, and finally the last set will go to Cargo when running the backend. It's a mess!

To run the backend in server mode for production, run

/Applications/Citadel.app/Contents/MacOS/Citadel --server --calibre-library=/path/to/calibre/library

Building

To create a production version of Citadel, you'll need the development prereqs. Then:

bun install
bun run build

This project would not be possible without the north star created by Kovid Goyal, Calibre. Without his hard work building such an extensive and powerful tool, Citadel would not exist.

Huge thanks to Kemie Guaida, who created an excellent Calibre redesign Figma prototype, from which Citadel takes inspiration. Thank you, Kemie!

相关仓库
kovidgoyal/calibre

The official source code repository for the calibre ebook manager

PythonPyPIGNU General Public License v3.0ebook-managercalibre
calibre-ebook.com
25.4k2.6k
readest/readest

Readest is a modern, feature-rich ebook reader designed for avid readers offering seamless cross-platform access, powerful tools, and an intuitive interface to elevate your reading experience.

TypeScriptnpmGNU Affero General Public License v3.0ebookebook-reader
readest.com
22.6k1.4k
janeczku/calibre-web

:books: Web app for browsing, reading and downloading eBooks stored in a Calibre database

FluentGNU General Public License v3.0calibreepub
17.7k1.8k
crocodilestick/Calibre-Web-Automated

Calibre-Web but Automated and with tons of New Features! Fully automate and simplify your eBook set up!

JavaScriptnpmGNU General Public License v3.0automationcalibre
github.com/crocodilestick/Calibre-Web-Automated
6k473
lorenzodifuccia/safaribooks

Download and generate EPUB of your favorite books from O'Reilly Learning (aka Safari Books Online) library.

PythonPyPIDo What The F*ck You Want To Public Licensepythonepub
5.1k758
bookfere/Ebook-Translator-Calibre-Plugin

A Calibre plugin to translate ebook into a specified language.

PythonPyPIGNU General Public License v3.0calibretranslate
translator.bookfere.com
2.6k198
everydaythingssoftware/citadel

Manage your ebook library without frustrations. Calibre compatible.

Rustcrates.ioMIT Licensecalibreebook
citadel.page
1.3k18
Leseratte10/acsm-calibre-plugin

Calibre plugin for ACSM->EPUB and ACSM->PDF conversion.

PythonPyPIGNU General Public License v3.0epubacsm
mobileread.com/forums/showthread.php
1.2k72