Categorygithub.com/cixtor/readability
modulepackage
1.0.0
Repository: https://github.com/cixtor/readability.git
Documentation: pkg.go.dev

# README

Readability

Readability is a library written in Go (golang) to parse, analyze and convert HTML pages into readable content. Originally an Arc90 Experiment, it is now incorporated into Safari’s Reader View.

Despite the ubiquity of reading on the web, readers remain a neglected audience. Much of our talk about web design revolves around a sense of movement: users are thought to be finding, searching, skimming, looking. We measure how frequently they click but not how long they stay on the page. We concern ourselves with their travel and participation–how they move from page to page, who they talk to when they get there–but forget the needs of those whose purpose is to be still. Readers flourish when they have space–some distance from the hubbub of the crowds–and as web designers, there is yet much we can do to help them carve out that space.

In Defense Of Readers, by Mandy Brown

Evolution of Readability Web Engines

ProductYearShutdown
Instapaper2008N/A
Arc90 Readability2009Sep 30, 2016
Apple Readability2010N/A
Microsoft Reading View2014N/A
Mozilla Readability2015N/A
Mercury Reader2016Apr 15, 2019

Reader Mode Parser Diversity

All modern web browsers, except for Google Chrome, include an option to parse, analyze, and extract the main content from web pages to provide what is commonly known as “Reading Mode”. Reading Mode is a separate web rendering mode that strips out repeated and irrelevant content, this allows the web browser to extract the main content and display it cleanly and consistently to the user.

VendorProductParserEnvironments
MozillaFirefoxMozilla ReadabilityDesktop and Android
GNOMEWebMozilla ReadabilityDesktop
VivaldiVivaldiMozilla ReadabilityDesktop
YandexBrowserMozilla ReadabilityDesktop
SamsungBrowserMozilla ReadabilityAndroid
AppleSafariSafari ReadermacOS and iOS
MaxthonMaxthonMaxthon ReaderDesktop
MicrosoftEdgeEdgeHTMLWindows and Windows Mobile
MicrosoftEdge MobileChrome DOM DistillerAndroid
GoogleChromeChrome DOM DistillerAndroid
PostlightMercury ReaderWeb ReaderWeb / browser extension
Instant PaperInstapaperInstaparserWeb / browser extension
MozillaPocketUnknownWeb / browser extension

Ref: https://web.archive.org/web/20150817073201/http://lab.arc90.com/2009/03/02/readability/

# Functions

New returns new Readability with sane defaults to parse simple documents.

# Structs

Article
Article represents the metadata and content of the article.
Readability is an HTML parser that reads and extract relevant content.