url2epub
readability
url2epub | readability | |
---|---|---|
8 | 52 | |
63 | 8,128 | |
- | 4.0% | |
7.8 | 6.3 | |
about 2 months ago | 4 days ago | |
Go | JavaScript | |
BSD 3-clause "New" or "Revised" License | 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.
url2epub
-
Show HN: CLI for generating beautiful PDF for offline reading
Somewhat similarly, I wrote a web app to generate epub (instead of pdf) out of urls and send to eink reader(s) directly (via a telegram bot) so I can read them. Currently it supports sending epub by email (for kindle) or uploading epub to dropbox (for kobo, etc.). It originally also supports reMarkable cloud but we can no longer make reMarkable cloud actually work. There's also a REST api to generate epub to be downloaded directly: https://github.com/fishy/url2epub/blob/main/REST.md
For e-ink readers epubs are generally better than PDFs for urls anyways, as epubs are basically packed htmls, and also the flow text works better on smaller screens.
- Omnivore โ free, open source, read-it-later App
-
Ask HN: Tell us about your project that's not done yet but you want feedback on
I wrote a service (Google Cloud Run as the backend, with Telegram bot as the frontend) to generate readable ePub from URLs and send directly to e-ink readers. It was originally wrote for reMarkable 2 (using reMarkable cloud), I recently added support for Kindle (by using the send-to-kindle emails). The code is at https://github.com/fishy/url2epub and I blogged about the recently added kindle support at https://b.yuxuan.org/url2epub-kindle.
I'm open to suggestions on what other e-ink platforms to add, as long as they have a reasonable cloud API. I'm also looking for a good e-ink platform to move to personally, as it becomes apparent that reMarkable really doesn't want third parties to use their proprietary cloud "API".
-
ReMarkable 2
2. It's a relatively open system (compared to other e-ink readers), so it's pretty fun in terms of hackability.
I did get the forever free subscription which helps, but I also totally understand why they would want to charge for that, and I think the new $3/month is a pretty reasonable price for it.
Regarding instapaper use case and also hackability, shameless plug: I wrote https://github.com/fishy/url2epub for my own use case, so instead of relying on a third party service and manually sync stuff to reMarkable 2, I just send the link to the telegram bot (I picked telegram bot so that I can easily send links from my phone, not only desktops), and the epub will be auto synced to my reMarkable cloud account (they did made some changes to the cloud api causing I have to manually open their official mobile or desktop app to sync once before the reMarkable 2 itself would accept the new epub I uploaded through url2epub, haven't figured out how to avoid that yet, but it's still mostly automated).
- Instructions on how to send articles from your iPhone to reMarkable
-
Zenreader: A 4.7 Inches E-Ink RSS Reader Powered by ESP32
For reMarkable, I also wrote a Telegram bot to convert http url into ePub and send to reMarkable directly: https://github.com/fishy/url2epub
(if you don't like telegram or don't use reMarkable, it also comes with a public rest API to generate epub out of urls)
-
Show HN: Epub.to โ ePub to pdf, ePub to mobi, ePub to kindle, and an ePub API
Shameless plug and this is only loosely related: Over the last holiday season I wrote a backend (written in Go and running on App Engine) to convert http url into epub. The frontend is a telegram bot that sends the epub to your reMarkable account directly, but it also has rest api to download the epub file: https://github.com/fishy/url2epub/blob/main/REST.md
-
Show HN: Create ePub Out of URL
With the purchase of reMarkable 2, I have this need to easily send web articles to my reMarkable 2 from my phone, while officially they only provided a Chrome extension, which can only be used on desktops.
As a result I wrote some go code (https://github.com/fishy/url2epub) for the past 2 days, to generate ePub from URL. I also implemented reMarkable API to send them to reMarkable tablets directly.
The current UI for it is implemented as a Telegram bot (https://t.me/url2rM_bot?start=1), running on AppEngine (code: https://github.com/fishy/url2epub/tree/main/appengine). I initially considered making an Android app for the UI, but decided that Telegram bot is less work for me, and works good enough for this use case (sorry for people who don't use Telegram, but this also means that people on iOS, desktop, etc. will be able to use it).
For the future, I might do:
- Expand the URLs supported (currently it only supports URLs with an AMP version provided, and the AMP version does have article tag inside)
readability
-
2markdown โ Transform Websites into Markdown
Why not just use something like https://github.com/mozilla/readability
And not pay $0.01 per request?
Thereโs a node version too https://www.npmjs.com/package/@mozilla/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?
https://github.com/mozilla/readability
-
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:
https://github.com/dankito/Readability4J
-
Seeking a tool or method to convert webpages into Q&A format using NLP
Use Mozilla's Readability to extract that sweet, sweet text content from webpages.
-
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; */ })
- Any js packages to only scrape relevant content from a webpage?
What are some alternatives?
M5Paper_FactoryTest
parser - ๐ Extract meaningful content from the chaos of a web page
lines-are-beautiful - C++ File API for the reMarkable tablet
koreader - An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices
KindleUnpack - python based software to unpack Amazon / Kindlegen generated ebooks
hn-search - Hacker News Search
seleneCMSBundle - Add CMS functionality to your Symfony Apps
readability.php - PHP port of Mozilla's Readability.js
is - an inspector for your environment
rssguard - Feed reader (and podcast player) which supports RSS/ATOM/JSON and many web-based feed services.
golang-samples - Sample apps and code written for Google Cloud in the Go programming language.
SponsorBlock - Skip YouTube video sponsors (browser extension)