-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KindleGen is no longer available for download #363
Comments
Upstream issue: tdtds/kindlegen#42, though I doubt anything can be done here. |
I have opened a support case with Amazon to see if something can be done. Not much faith, but who knows... |
After some calls and couple of mails I just got a dismissive "thanks for your feedback and using Amazon products. We will pass those suggerences to the development team". 🤷♂️ |
Thanks for trying. |
Let's make it clear. Current workaround for Windows and MacOS is to:
Current workaround for Linux is:
|
Meanwhile, I've started development of a Ruby library that will (hopefully) be capable of reading/writing Mobi files: https://github.com/slonopotamus/dyck It isn't clear how much time and effort it will require yet. If this library ends up in something usable, Asciidoctor EPUB3 will use it to produce Mobi files. |
A bit of a status report: Dyck is currently capable of producing MOBI6 files that properly work in Calibre/Okular/Kindle Previewer. It's still missing some bits that allow KF8 to render, I'm working on that. |
Yep. There are at least three incomplete (to a certain degree) implementations I am aware of: Calibre, libmobi and mobi.rb. Both libmobi and mobi.rb mostly do reading, not writing. And Calibre is too much to depend on. There's also (again, incomplete) reverse-engineered format documentation. Combining all these together + some trial and error allows me to move forward :) A bit of current status: I already have proper data structures to read KF8 produced by KindleGen, now need some code to write these structures back to files. Index records are pain. |
A possibly better option: use a dockerised version of kindlegen: https://github.com/koenrh/docker-kindlegen This also works fine on 64 bit OSes such as Mac Catalina, which kindlegen can't run on natively (as it's only 32 bit). |
@jcdarwin technically yes, but I have legal concerns. The kindlegen binary is propietary software, so only the owner (Amazon) should provide binary distributions. |
@jcdarwin If it was legally OK to redistribute KindleGen, it would simply be bundled in |
I'm wondering if we actually need to convert from the epub format to mobi any more. I was just experimenting with Kindle Previewer 3.49 (latest available release) and it no longer loads the previously generated .mobi files (it did previously for the same file(s)). However, it does load the
This would suggest that epub is now the format that should be used even for Kindle. I'm wondering if the most appropriate format for distribution to Kindle is now the |
Although it seems that Kindle Previewer screws up SVG images in documents it imports (loses text from the SVGs). The |
All this terminology is kinda confusing, let's make it clear:
So. Kindlegen is a EPUB3 -> MOBI6+KF8 converter. Kindle Previewer also can do EPUB3 -> KF10 (supposedly, combined with MOBI6/KF8, I didn't check). Now, what does "this file doesn't support Enhanced Typesetting" mean? It means that file is not a KF10 and not a EPUB3, so Kindle Previewer cannot convert it to KF10. Kindle Previewer doesn't have KF8 -> KF10 converter. Problems with Kindlegen:
Problems with Kindle Previewer:
As I already said above, I've started writing a library that aims to be EPUB3 -> MOBI6 + KF8 converter. It already can do MOBI6 and almost can do KF8. I had little spare time last year to finish KF8 part, that will hopefully happen early this year. When it's done, asciidoctor-epub3 will be to produce KF8 files without any Kindlegen. After that, we could possibly work on adding KF10 support, though it might be harder because KF10 was not reverse-engineered/documented yet (or I just didn't find that info yet). The overall goal is to be able to
|
Interesting, I didn't notice this when was reading your comment innitially. It is true, Amazon dropped KF8 support from Kindle Previewer: http://kindlepreviewer.s3.amazonaws.com/UG_ReleaseNotes_EN.txt
|
Thanks for that. There's also this just a little further down in the release notes too:
So it basically seems like Kindle Previewer now only opens the latest KF10 format. |
Thanks @slonopotamus and team for all your efforts. I, too, am stymied at how this entire process appears to have been forced to pivot in recent months thanks to slim information from Amazon. I am in the midst of trying to roll out my latest tech book, and am getting confusing stuff from Kindle Previewer 3 (3.50.0). I tried opening the Two different pages, that appear structurally identical get rendered VERY differently by Kindle Previewer 3. <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="application/xml+xhtml; charset=UTF-8"/>
<title>Foreword</title>
<link rel="stylesheet" type="text/css" href="styles/epub3.css"/>
<link rel="stylesheet" type="text/css" href="styles/epub3-css3-only.css" media="(min-device-width: 0px)"/>
</head>
<body>
<section class="chapter" title="Foreword" epub:type="chapter" id="hacking-with-spring-boot-classic-foreword">
<header>
<div class="chapter-header">
<h1 class="chapter-title"><small class="subtitle"><b>Foreword</b></small></h1>
</div>
</header>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis quis fringilla ex. Curabitur ornare ac lorem ac ullamcorper. Suspendisse blandit accumsan risus a consequat. Quisque sagittis cursus lacus. Curabitur fermentum volutpat malesuada. Aliquam sagittis ex at dolor tincidunt, eu ultrices nisl iaculis. Donec cursus, metus et aliquam pulvinar, mauris quam dignissim dolor, ullamcorper tristique leo elit quis augue. Etiam ultricies ante vitae enim molestie eleifend. Maecenas volutpat ante et ligula ornare mattis. Nam id luctus felis, at faucibus mi. Suspendisse eget erat sem. Aliquam orci elit, vestibulum eu aliquet non, commodo ut urna. Quisque fermentum magna sit amet eros interdum egestas. Mauris ullamcorper rhoncus neque, at consectetur turpis sollicitudin et. Duis semper quam felis, eu imperdiet sapien ultrices non.</p>
<p>Etiam quam dolor, gravida ac tincidunt nec, facilisis eu nunc. Maecenas porta fringilla metus, vitae finibus enim blandit vel. Pellentesque cursus orci eu eros fermentum, non pellentesque leo suscipit. Vivamus eleifend neque nec interdum finibus. Nullam in ante vel urna gravida venenatis at eget augue. Sed tempor quis arcu sed tempus. Suspendisse in felis ultricies, ornare mi et, tempor tortor. Pellentesque quis quam risus. Duis laoreet convallis mollis.</p>
<p>Phasellus pretium ultricies eros quis lacinia. Cras tempus aliquet tellus, id lacinia enim rutrum ac. Nunc consectetur at tortor quis lobortis. Donec dui mauris, venenatis sit amet tellus ac, tempor dictum lectus. Ut dui mauris, tempus et maximus et, blandit non risus. Donec sed lacus non ante ultrices maximus in vel metus. Phasellus nisi lorem, porttitor eu massa sit amet, vehicula dictum lectus. Phasellus ornare felis massa. Nam eu iaculis libero.</p>
<p> — <strong>Dr. Dave Syer</strong><br/>
<em>Senior Consulting Engineer and co-founder of Spring Boot</em></p>
</section>
</body>
</html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="application/xml+xhtml; charset=UTF-8"/>
<title>About the Author</title>
<link rel="stylesheet" type="text/css" href="styles/epub3.css"/>
<link rel="stylesheet" type="text/css" href="styles/epub3-css3-only.css" media="(min-device-width: 0px)"/>
</head>
<body>
<section class="chapter" title="About the Author" epub:type="chapter" id="hacking-with-spring-boot-classic-about">
<header>
<div class="chapter-header">
<h1 class="chapter-title"><small class="subtitle"><b>About</b> <b>the</b> <b>Author</b></small></h1>
</div>
</header>
<p><strong>Greg L. Turnquist</strong> works on the Spring team as a principal developer at VMware. He is a committer to Spring HATEOAS, Spring Data, Spring Boot, R2DBC, and Spring Session for MongoDB. He wrote <em>Hacking with Spring Boot 2.3: Reactive Edition</em> as well as Packt’s best-selling title, <em>Learning Spring Boot 2.0 2nd Edition</em>. He co-founded the Nashville Java User Group in 2010 and hasn’t met a Java app (yet) that he doesn’t like.</p>
<p>Be sure to subscribe to <em>Spring Boot Learning</em>, the YouTube channel where you learn about Spring Boot and having fun doing it at <strong>YouTube.com/GregTurnquist</strong>.</p>
</section>
</body>
</html> I have opened a ticket with KDP tech support and am attempting to correspond with them about what's happening, and will gladly share any details I get back. At the same time, I'm happy to provide details to you if that would help resolve some of these issues. If there a better ticket (or a new ticket) to comment on, I'd be happy to contribute there as well. And if you need a reproducible build, I can generate that as well, if it's constructive to your coding process. |
This commit also drops support for Ruby < 2.4 This reverts commit 33e27ee.
This commit also drops support for Ruby < 2.4 This reverts commit 33e27ee.
This commit also drops support for Ruby < 2.4 This reverts commit 33e27ee.
This commit also drops support for Ruby < 2.4 This reverts commit 33e27ee.
This commit also drops support for Ruby < 2.4 This reverts commit 33e27ee.
This commit also drops support for Ruby < 2.4 This reverts commit 33e27ee.
This commit also drops support for Ruby < 2.4 This reverts commit 33e27ee.
This commit also drops support for Ruby < 2.4 This reverts commit 33e27ee.
This commit also drops support for Ruby < 2.4 This reverts commit 33e27ee.
This commit also drops support for Ruby < 2.4 This reverts commit 33e27ee.
This commit also drops support for Ruby < 2.4 This reverts commit 33e27ee.
This commit also drops support for Ruby < 2.4 This reverts commit 33e27ee.
@slonopotamus This can be unpinned I guess, as this is now resolved? |
Yep, done |
See #363 (comment) for possible workarounds.
The text was updated successfully, but these errors were encountered: