kindle-send icon indicating copy to clipboard operation
kindle-send copied to clipboard

Reintroduction of -title and -file in Version 2.0

Open volkerwestphal opened this issue 1 year ago • 0 comments

Is your feature request related to a problem? Please describe.

Yes, I think that Kindle-send 2.0 misses important features that makes it kind of incomplete, even in comparison to its predecessor Kindle-send 1.0.

Kindle-send 2.0 introduced actions (send, download, ...) but stripped away the old parameters -file and -title. Both parameters have been replaced by an autodetection mechanism, at least according to the documentation.

This autodetection is perfectly fine for new users or the occasional upload of a single webpage. But it is insufficient for a robust integration in scripted workflows and more advanced use cases.

For example, let's say we collected a large number of urls, sorted by topic in multiple files. Using Kindle-send 2.0, it is currently impossible ...

  • to specify the title of resulting epub. It depends on the first url's title. No way to say "My physics textbooks".
  • to specify the file name of resulting epub. The epub name is basically random, which is unscriptable.

This is still all possible using Kindle-send 1.0.

Describe the solution you'd like

I suggest to add these optional parameters:

  • --title Adding this parameter implictly adds a build-in html page as the first url. It acts as a cover page. A very simple draft is included below. Using templating, the String {{title}} gets displayed as a book cover headline. The {{author}} string is "Powered by kindle-send" by default. Because why not.
  • --author This overrides the {{author}} string.
  • --file Save the epub using the name specified here.

The strings {{title}} and {{author}} could also go into epub metadata. The cover page would ideally be linked in the epub's ToC as Cover.

The minimal cover page has advantages:

  • It presents documents generated by kindle-send in a clean and consistent way on the e-reader device's library.
  • User-definable metadata makes the document clearly identifiable on the Kindle device and in Calibre.
  • Looks nice.

The minimal cover page has some disadvantages:

  • More user input, more code. Strings need sanitizing and html escaping.
  • Might give somebody the idea to request a more fancy cover page, art work etc.

Describe alternatives you've considered

It is perfectly possible to reintroduce the formerly existing parameters without adding a cover page. However, at least for me, the additional cover page seems to fit nicely into the title-autodetection mechanism that was introduced in v2.0.

As a side note, it would probably make kindle-send even be able to send a epub that consists just of a cover page: kindle-send --title "cover only" send ... or maybe not.

**Cover html draft **:

<!DOCTYPE html>
<html>
<head>
  <style>
    body { font-family: Helvetica, sans-serif; }
    h1, p { text-align: center; }
    h1 { padding: 200px 0 0; }
  </style>
  <meta charset="utf-8">
  <meta name="author" content="{{param.author}}">
  <title>{{param.title}}</title>
</head>
<body>
  <h1>{{param.title}}</h1>
  <p>{{param.author}}</p>
</body>
</html>

volkerwestphal avatar Aug 20 '23 17:08 volkerwestphal