GithubHelp home page GithubHelp logo

holehole5566 / kepubify Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pgaskin/kepubify

0.0 0.0 0.0 9.21 MB

Fast, standalone EPUB to Kobo EPUB conversion tool.

Home Page: https://pgaskin.net/kepubify

License: MIT License

Shell 0.10% Go 99.90%

kepubify's Introduction

kepubify

Kepubify converts EPUBs to Kobo EPUBs.

Website   Download   Documentation   Web Version   pkg.go.dev

About

Kepubify is standalone (it also works as a library or a webapp), converts most books in a fraction of a second (40-80x faster than Calibre), handles malformed HTML/XHTML without causing further issues, has multiple optional conversion options (punctuation smartening, custom CSS, text replacement, and more), has a full test suite, is interoperable with other applications, and is safe to use with untrusted books.

Two additional standalone utilities are included with kepubify. covergen pre-generates cover images to speed up library browsing on Kobo eReaders while providing higher-quality resizing. seriesmeta scans for EPUBs and KEPUBs, and updates the Kobo database with the Calibre or EPUB3 series metadata.

See the releases page for pre-built binaries for Windows, Linux, and macOS. See the website for more documentation, pre-built binaries for Windows, Linux, and macOS, and a web version.

Building

Kepubify requires Go 1.16 or later. To install kepubify directly, run go install github.com/pgaskin/kepubify@latest. To build from source, clone this repository, and run go build ./cmd/kepubify.

On Go 1.17 or later, additional optimizations are automatically used to significantly improve kepubify's performance by preventing unchanged files from being re-compressed. To use a backported version of these optimizations on Go 1.16, add the option -tags zip117 to the build/install command. If you are using kepubify as a library in another application with -tags zip117 enabled on Go 1.16, it must also use the backported package when passing a *zip.Reader to (*kepub.Converter).Transform.

To build seriesmeta, a C compiler must be installed and CGO must be enabled.

Note that kepubify uses a custom fork of golang.org/x/net/html. This fork provides additional options used by kepubify to allow reading malformed HTML/XHTML and to produce polyglot HTML/XHTML output for maximum compatibility. Previously, kepubify replaced it using a replace directive in go.mod, but since the fork is now a standalone package, this is not necessary anymore, and will no longer cause conflicts if used as a dependency in applications requiring golang.org/x/net/html directly.

Branches

This repository contains multiple main branches with code used by kepubify.

Branch Description Status
master Kepubify, seriesmeta, and covergen (this branch). kepubify
gh-pages Kepubify website and JS/WASM library. website
forks/html Fork of golang.org/x/net/html with additional features and modifications required by kepubify. forks - html
forks/go116-zip.go117 Fork of archive/zip from Go 1.17 backported to Go 1.16 for performance improvements. forks - go116-zip.go117

kepubify's People

Contributors

pgaskin avatar commitay avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.