If you want to set a cover for a specific Recipe, you need to add a cover_url attribute in its Recipe source code. It can be a local file (if it's a relative directory, it's relative to the KindleEar application directory) or a web image, for example:
cover_url = '/temp/mycover.jpg'
cover_url = 'application/images/mycover.jpg'
cover_url = 'https://www.google.com/mycover.jpg'
cover_url = False #no cover image
Additionally, if you want to customize the masthead, add a masthead_url attribute, which has the same format as cover_url.
What if I forget my password?
KindleEar does not store passwords in plain text and cannot retrieve them. If login fails due to password verification, a "Forgot Password?" link is provided. Click on this link to reset your password using the email address registered when creating your account.
If your application is deployed on the Google Cloud Platform (GAE), KindleEar also provides an additional email service xxx@appid.appspotmail.com. After deploying KindleEar, you automatically have countless EMAIL email addresses in the format: xxx@appid.appspotmail.com, where xxx is any legal string and appid is your application name.
- To use this feature, you need to add whitelist items firstly. If it's ‘*', it allows all emails. Otherwise, the format is ‘xx@xx.xx' or ‘@xx.xx' (without single quotes).
- This service will send the contents of received emails as email attachments to your registered kindle email address. If there are only links in the email (multiple links are one per line), KindleEar will fetch the web page content and create an e-book, then send it.
- If the subject of the email is followed by the identifier !links, KindleEar will only extract the links from the email regardless of its content, then fetch the web pages and send them to your Kindle. This feature is best for directly sending serialized web pages to Kindle for viewing.
- If the subject of the email is followed by the identifier !article, all links will be ignored, and the content will be directly converted into an e-book and sent.
- By default, it's sent to the email registered by the administrator. If you want to send it to another user's email, use the format: username__xxx@appid.appspotmail.com. (Note the double underscore)
- If you send the download link of an e-book to book@appid.appspotmail.com or username__book@appid.appspotmail.com, KindleEar will directly download the corresponding e-book archive and forward it to the registered email address. (Note: GAE has restrictions on file extensions that can be emailed and cannot send file extensions that may have security risks such as exe, zip files can be sent, but zip files cannot contain files with potential security risks.) GAE's list of email-able file extensions: Mail Python API Overview (book/file/download email addresses reserved for downloading e-books)
- Sending to trigger@appid.appspotmail.com or username__trigger@appid.appspotmail.com triggers a manual delivery. If the subject is empty or all, it's exactly the same as the "Deliver Now" button on the webpage. If you need to push specific books, write the book name in the subject, separated by commas.
- Emails sent to debug@appid.appspotmail.com directly extract the links from the email and send HTML files directly to the administrator's email instead of the Kindle email.
What if some websites require login to read articles?
Some websites require registering an account and logging in to read and download articles. For such websites, you can add an attribute in the Recipe source code:
needs_subscription = True
Then, after subscribing, you can select "Website Login Information" from the corresponding Recipe's popup menu to enter your login account and password.
- Websites that require executing JavaScript or entering a captcha are not supported.
- For some sufficiently special and complex websites, you may need to override the get_browser() function in the book subclass.
- The password you enter is encrypted and saved, with a unique 8-character random string key for each account, which has a certain level of security. I try my best to take care of your password security. You can delete the saved password information at any time, and the password is also deleted immediately after unsubscribing from the book. However, because the key is also saved in database, the security cannot be guaranteed to be very high. Please understand and be willing to bear the risks involved.
What's the difference between "Subscribe" and "Subscribe (Deliver Separately)"?
"Subscribe" is for combined delivery, which combines all Recipes and custom RSS feeds subscribed to with this option into one file for delivery. "Subscribe (Deliver Separately)" creates a separate file for this Recipe for delivery, which is more suitable for Recipes that generate large file or have special delivery times.
The book failed to be pushed due to it is too large?
Each send mail service provider has limitations on the size of individual emails. For example, GAE restricts it to 31.5MB, while Mailjet currently allows 15MB only. If the attachment exceeds this limit, it will result in a failed push.
- Set the "Device Type" to "Kindle", all image files will be resized to below 525x640 pixels.
- Subscribe some recipes by using the "Subscribe (Deliver Separately)" button to split a large file into several smaller ones.
- Create additional accounts, and push different recipes with different accounts to reduce the size of individual files.
- Set the "Oldest article" option smaller to avoid including unnecessary articles.
Where is the book translation function and how do I use it?
KindleEar has ported the "Ebook Translator" plugin from calibre, which can translate foreign language news while fetching, making it convenient to learn foreign languages and also have a wider range of news sources.
The feature translation is disabled by default and needs to be enabled for each Recipe individually, with each Recipe having different settings.
After subscribing to a recipe, click the floating button on the right and select the "Translator" button to enter settings page.
- Translation position: Left-right two-columns layouts are only suitable for tablets or computers, and sometimes may cause layout issues. E-readers generally choose top-bottom layouts.
- Original/Translated text style: You can input any standard CSS text style, such as:
color:#123456;font-style:italic
.
How to Use Bookmarklet?
At the bottom of the "Feeds" page, you'll find several bookmarklet links, which offer some convenient functions.
To use them, simply drag and drop the links to your browser's bookmark bar.
Each user of KindleEar has their own unique Bookmarklet links, and the ones you see currently apply only to your logged-in account.
- Send to Kindle:
- While browsing other websites on your computer, if you prefer to read some articles on your Kindle, simply click this Bookmarklet. KindleEar will then grab the current webpage and create an eBook to send to your Kindle email.
- Some web pages may have complex article structures, and due to a limit of readability algorithm, the formatting on Kindle might not be optimal or some content might be lost. In such cases, you can first select the desired article content (which may include image files) and then click this Bookmarklet.
- For books on gitbooks.io, KindleEar will grab the entire book's content and send it as an eBook.
-
Subscribe with KindleEar: This function is for conveniently subscribing to RSS links. When you open the corresponding RSS link on your computer and click this Bookmarklet, the current URL and title will be filled into the text field under "Custom RSS" in KindleEar. It saves you a couple of copy-paste actions - perfect for lazy people.
- Kindleify Selection: Exclusive to the GAE platform, as only the GAE platform has inbound email feature.
You should select some webpage's contents, then click this Bookmarklet. It will open a small Gmail window for sending an email, automatically filling the selected article content into the body of the email. Then, just send it to xxx@appid.appspotmail.com for pushing it to Kindle.
What do the sup text of the Recipe mean?
- Emb: Content embedded, indicates that the full article content is embedded within the XML file for full-text RSS.
- Upl: Uploaded recipe, denotes a recipe uploaded by the user. If this icon is absent, it signifies a built-in recipe.
- Sep: Separated, indicates that this recipe will be pushed as a separate file.
- Log: Login required, indicates that the source website of this recipe requires subscription and login to fetch its content. If this icon appears, login information needs to be configured, otherwise the fetch will fail.
- You can write ‘#removeall#' in the "Title" field, then click "Add" to delete all custom RSS feeds at once.
How to save new recipe files to the builtin recipe library?
KindleEar provides a feature to upload recipe files through the web page.
However, if you wish to merge recipe files into the built-in library,
for example, when a new version of Calibre is released and there may be some updated recipes included, you can merge the recipes as follows:
- Copy the recipe files to the application/recipes directory. There is no need to delete builtin_recipes.zip/builtin_recipes.xml unless you want to create a brand new built-in library containing only the recipes you have selected.
- Run tools/archive_builtin_recipes.py.
- Delete the recipe files.
I have more questions, where can I ask?
If you have more questions, you can submit an issue at https://github.com/cdhigh/KindleEar/issues and wait for a reply. Before submitting a question, it's recommended to search for previously submitted issues first. Maybe someone has already submitted a similar issue? If no one has submitted a similar issue, when you submit a new one, it's recommended to attach the Logs information of GAE backend or the platform you deployed to for problem location, which can also get you a faster reply.
2013-2024, cdhigh Revision
f7d3c0c