koreader
readability
Our great sponsors
koreader | readability | |
---|---|---|
389 | 51 | |
15,126 | 7,973 | |
1.9% | 6.4% | |
9.7 | 6.3 | |
about 11 hours ago | 12 days ago | |
Lua | JavaScript | |
GNU Affero General Public License v3.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
koreader
-
KOReader Document Viewer for E Ink devices
The GitHub readme may have been a better link to use, it contains some more information: https://github.com/koreader/koreader
- portable: runs on embedded devices (Cervantes, Kindle, Kobo, PocketBook, reMarkable), Android and Linux computers. Developers can run a KOReader emulator in Linux and MacOS.
- multi-format documents: supports fixed page formats (PDF, DjVu, CBT, CBZ) and reflowable e-book formats (EPUB, FB2, Mobi, DOC, RTF, HTML, CHM, TXT). Scanned PDF/DjVu documents can also be reflowed with the built-in K2pdfopt library. ZIP files are also supported for some formats.
- full-featured reading: multi-lingual user interface with a highly customizable reader view and many typesetting options. You can set arbitrary page margins, override line spacing and choose external fonts and styles. It has multi-lingual hyphenation dictionaries bundled into the application.
- integrated with calibre (search metadata, receive ebooks wirelessly, browse library via OPDS), Wallabag, Wikipedia, Google Translate and other content providers.
- optimized for e-ink devices: custom UI without animation, with paginated menus, adjustable text contrast, and easy zoom to fit content or page in paged media.
- extensible: via plugins
- fast: on some older devices, it has been measured to have less than half the page-turn delay as the built in reading software.
- and much more: look up words with StarDict dictionaries / Wikipedia, add your own online OPDS catalogs and RSS feeds, over-the-air software updates, an FTP client, an SSH server, …
-
Majority of web apps could just run on a single server
Oh man I absolutely love the work that you guys do. I'm actually in the process of learning Ebook production using the 'Step by Step' guide on your website. I'm essentially learning it all from scratch as I have little to no programming/SWE experience (I learned a bit of Lua because of KOReader[1]) but the technical side of ebook production has always fascinated me enough to keep learning.
-
E-books are fast becoming tools of corporate surveillance
I read that KOreader is unstable on the Libra 2[0], so I haven’t installed it yet even though I would like to. What has been your experience running it?
-
Conversion from epub to kepub, and related Calibre use
I'm using Kobo Clara 2E (6" screen size), and it is unpleasant to read PDF and CBZ files (comic/manga) since Kobo only provides zoom and orientation mode. I installed KOReader on my Kobo. It has more setup to display those files way better. The views of PDF in KOReader and Comic in Koreader. I read Epub files in Koreader to maintain its original format.
I only read kepub files on my Kobo Clara 2E (kobo stock). I use KOReader to read PDF, CBZ (comic files) and epub.
-
Calibre – New in Calibre 7.0
It doesn't try to solve the same use cases that Calibre does, but I built an open source (EPUB only) manager / reader / statistics tracker called AnthoLume [0]. It mostly stemmed from me reading in KOReader [1] on my Kindle, and not having the ability to sync the progress to my iPhone / iPad.
It's got metadata matching, support for multiple users, and statistics tracking which allows me to have a "Leaderboard" that shows how fast you read (words per minute). Fun competition between my wife and I (that I'm 100% losing). It's a Progressive Web App and utilizes a Service Worker to support 100% offline reading as well.
There's a demo server [2] (creds are "demo" for both user & pass).
- I wanted to get the Libra 2 but is it good for reading manga without much hassle?
-
The Case Against AI Everything, Everywhere, All at Once
You can still choose automation. The easier route for me is to use wallabag to save the article. Then on my remarkable tablet I can grab a very readable document with https://github.com/koreader/koreader.
The other option is to use https://github.com/danburzo/percollate to convert a webpage to a nice document directly. I use both tools depending on my needs.
readability
- Mozilla: Readability.js
-
CSS for readability
I'm working with the Mozilla's readability library https://github.com/mozilla/readability to get the "readable" text from articles and now I want to style the extracted text in a readable way.
-
Building a Serverless Reader View with Lambda and Chrome
Do you remember the Firefox Reader View? It's a feature that removes all unnecessary components like buttons, menus, images, and so on, from a website, focusing on the readable content of the page. The library powering this feature is called Readability.js, which is open source.
-
Webrecorder: Capture interactive websites and replay them at a later time
I wonder if Firefox "reader mode as a utility" might be a viable alternative for Pinboard like "content oriented" archiving?
-
Creating an advanced search engine with PostgreSQL
Depending upon the type of content, one might want to look into using the Readability (Browder's reader view) to parse the webpage. It will give you all the useful info without the junk. Then you can put it in the DB as needed.
https://github.com/mozilla/readability
Btw, readability, is also available in few other languages like Kotlin:
-
I built a free prompt managing tool - Knit
Same as above but the ability to grab the entire article text (you can use the Readability library for that: https://github.com/mozilla/readability)
-
I need automatic source URLs when I paste any text onto a card or note, like on OneNote.
// Original script // https://gist.github.com/kepano/90c05f162c37cf730abb8ff027987ca3 // Bookmarklet Converter // https://caiorss.github.io/bookmarklet-maker/ // Libraries // https://github.com/mixmark-io/turndown // https://github.com/mozilla/readability javascript: Promise.all([import('https://unpkg.com/[email protected]?module'), import('https://unpkg.com/@tehshrike/[email protected]'), ]).then(async ([{ default: Turndown }, { default: Readability }]) => { /* Optional vault name */ const vault = ""; /* Optional folder name such as "Clippings/" */ const folder = "Clippings/"; /* Optional tags */ const tags = ""; function getSelectionHtml() { var html = ""; if (typeof window.getSelection != "undefined") { var sel = window.getSelection(); if (sel.rangeCount) { var container = document.createElement("div"); for (var i = 0, len = sel.rangeCount; i < len; ++i) { container.appendChild(sel.getRangeAt(i).cloneContents()); } html = container.innerHTML; } } else if (typeof document.selection != "undefined") { if (document.selection.type == "Text") { html = document.selection.createRange().htmlText; } } return html; } const selection = getSelectionHtml(); const { title, byline, content } = new Readability(document.cloneNode(true)).parse(); function getFileName(fileName) { var userAgent = window.navigator.userAgent, platform = window.navigator.platform, windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE']; if (windowsPlatforms.indexOf(platform) !== -1) { fileName = fileName.replace(':', '').replace(/[/\\?%*|"<>]/g, '-'); } else { fileName = fileName.replace(':', '').replace(/\//g, '-').replace(/\\/g, '-'); } return fileName; } const fileName = getFileName(title); if (selection) { var markdownify = selection; } else { var markdownify = content; } if (vault) { var vaultName = '&vault=' + encodeURIComponent(`${vault}`); } else { var vaultName = ''; } const markdownBody = new Turndown({ headingStyle: 'atx', hr: '---', bulletListMarker: '-', codeBlockStyle: 'fenced', emDelimiter: '*', }).turndown(markdownify); var date = new Date(); function convertDate(date) { var yyyy = date.getFullYear().toString(); var mm = (date.getMonth()+1).toString(); var dd = date.getDate().toString(); var mmChars = mm.split(''); var ddChars = dd.split(''); return yyyy + '-' + (mmChars[1]?mm:"0"+mmChars[0]) + '-' + (ddChars[1]?dd:"0"+ddChars[0]); } const today = convertDate(date); // This is the output template // It is similar to an Obsidian core template // except to insert a value we use: ${value} instead of {{value}} const fileContent =`--- type: clipping date_added: ${today} aliases: [] tags: [${tags}] --- author:: ${byline.toString().split('\n')[0].trim()} source:: [${title}](${document.URL}) ${markdownBody} `; // This copies your text to the clipboard navigator.clipboard.writeText(fileContent); // This creates a new document in Obsidian containing your clipping // I commented it out as this isn't what you asked for /* document.location.href = "obsidian://new?" + "file=" + encodeURIComponent(folder + fileName) + "&content=" + encodeURIComponent(fileContent) + vaultName; */ })
-
RSS meets GPT-3
So first part of the task is to "extract the text from URL", and that is achieved by using descendant of https://github.com/mozilla/readability library which can extract text of any URL.
-
Ask HN: Those making $0/month or less on side projects – Show and tell
- a collaborative visual bookmarking tool. It started as something comparable to a visual pinboard, but then I discovered https://github.com/mozilla/readability and it turned into a cross between pinboard and pocket
* Tendee https://tendee.co/ - an attendance tracking tool for recurring events (track a team over a sports season) with a wait-list option as well. Technically it can be used to fill the void between a calendar event, an evite and a Facebook event page, but that's such a narrow use case. This one is still very new.
-
Go Code Roast #2: readability.js port
In this video, I roast a port of a Mozilla Javascript library, readability.js (https://github.com/mozilla/readability) to Go (https://github.com/cixtor/readability).
What are some alternatives?
plato - Document reader
Tachiyomi - Free and open source manga reader for Android. [Moved to: https://github.com/tachiyomiorg/tachiyomi]
Kavita - Kavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.
koodo-reader - A modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux and Web
Calibre Web - :books: Web app for browsing, reading and downloading eBooks stored in a Calibre database
calibre - The official source code repository for the calibre ebook manager
kfmon - Kute File Monitor, an inotify-based Launcher for Kobo devices
awesome-reMarkable - A curated list of projects related to the reMarkable tablet
LibreraReader - Book Reader for Android
DeDRM_tools - DeDRM tools for ebooks
parser - 📜 Extract meaningful content from the chaos of a web page
KoboCloud - A set of scripts to synchronize a kobo reader with popular cloud services