3 ms·
> If there are more text-only versions of sites I might have a reason to install lynx again.
by akira2501 9y ago
> If there are more text-only versions of sites
I might have a reason to install lynx again.
- ComputerGuru 9y agoUgh. I literally just spent several hours adding a workaround to fish shell that addresses a bug in Lynx that’s been around forever that randomly makes html content unreadable [0]. And that was only possible after a lot of research and digging! How hard do you have to try to screw up the rendering of text only HTML? It turns out that lynx applies styles (foreground color + optional background color + optional underline) to rendered documents (so you can tell where a link is, mainly) by calculating the hash of the (HTML element name, class) tuple of each DOM member (probably supporting just one class per element). It turns out that the insanely popular `<div class="contents"></div>` element has a hash that collides with that of `em.a` (a link in emphasized text) which styles the link to become readable in the default styling applied to `em`... but due to that collision, `<div class="contents"></div>` elements, not having the default <em> styling applied to them, become entirely unreadably (black on dark blue). Lynx uses a very primitive hashing function (with a very small address space), and then (out of negligence or in the name of performance? Who knows!) doesn't check if the the (element, class) tuple (not its hash, but the actual tuple) matches that defined in the stylesheet... To make matters worse, doxygen (arguably the most popular open source documentation generation software) generates the HTML versions of its output with all the content in a div assigned a class called.... yup, you guessed it, `contents`. And that's where fish and my workaround came in :) [0]: https://github.com/fish-shell/fish-shell/pull/4428 https://github.com/fish-shell/fish-shell/pull/4428