Skip to content

fm39hz/Grimoire.NET

Repository files navigation

Grimoire

Ebook Editor & Publisher

Let's the magic flow through your books


Contributors Forks Stargazers Issues MIT License


Grimoire is a Digital Archiving & Publishing System designed to manage, edit, and publish digital books. Built with a local-first philosophy and a unified book-tree structure, Grimoire enables seamless organization and high-fidelity compilation of your manuscripts.


Table of Contents


About The Project

GRIMOIRE provides an elegant, structured environment for digital archives. Whether you manage a large digital library or compile individual novels, it delivers absolute precision from layout styling to metadata management.

Key Features

  • High-Fidelity Storage: Stores book structures (Series/Volume/Chapter) and content segments (Text/Image/Divider) with absolute precision.
  • Unified Book Tree: Structural management separated from heavy content payloads, utilizing fractional ordering algorithms for single-update insertions.
  • Scriban Templates: Fast, robust document packaging through the Scriban templating engine.
  • Masterful Binding: Packages multiple volumes and chapters into commercial-grade EPUB 3.3 formats (Kindle/Apple Books compatible) with full popup footnote support.
  • Flexible Storage: Local Storage or S3-compatible object storage (e.g., MinIO).

Built With

  • .NET 10
  • PostgreSQL
  • EF Core 10
  • Docker
  • Hangfire

Getting Started

Follow these steps to set up and run Grimoire on your local machine.

Prerequisites

Installation & Run

  1. Clone the repository:

    git clone https://github.com/fm39hz/Grimoire.NET.git
  2. Start the services using Docker Compose:

    docker compose up --build
  3. Access the OpenAPI Dashboard at:

    http://localhost:8080/scalar/v1
    

Usage

Grimoire structures your publishing workflows into three primary modules:

  • The Collector: Coordinates asset uploads (Covers, Content Images) and imports raw chapter data from scraper scripts.
  • The Librarian: Manages metadata for series (Authors, Artists, Description, Tags) and volumes (ISBN, Publication Date).
  • The Bindery: Compiles collections into beautiful digital books under background jobs.

For detailed API definitions, refer to the API Documentation.


Roadmap

  • Series/Volume/Chapter CRUD operations
  • S3 Storage & LocalStorage options
  • Scriban HTML/Markdown/EPUB Render Engine
  • Hangfire Background Export Jobs
  • Chapter Split & Merge APIs
  • AZW3 Export Implementation
  • Advanced Search & Tag Filter

See the Open Issues for a full list of proposed features.


Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  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.


Contact

Project Lead: FM39hz

Project Link: https://github.com/fm39hz/Grimoire.NET


Acknowledgments

  • VersOne.Epub - Outstanding EPUB parsing library.
  • Scriban - Extremely fast and lightweight templating tool.
  • Hangfire - Reliable background processing for .NET.

Back to top

About

Grimoire Api, a system to manage & publish ebook

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages