November 3rd, 2012
Ever since Apple introduced the Reader feature to Safari, I've been forced to engage in the same ritual after every update to Safari. The thing is, Reader does quite a good job of rendering a cluttered web page readable, but it insists on doing it using justified text, which looks hideous. The (not very user-friendly) way to fix this was to find the Reader.html file buried inside the Safari application package and add a simple text-align: left; to the CSS embedded in that file and save it. Problem solved, except that after each Safari update you'd almost certainly have to repeat the trick. Better still, in some updates Apple changed the location of the damned file so you'd have to figure out where it lived now before you could apply the fix.
After the update to Safari 6 I found the latest home of the Reader.html file and applied my customary edit, but for some reason Safari ignored the revised CSS and kept on rendering justified text in Reader. In searching for hints as to why this might be happening, I came across a much better answer: CustomReader:
With CustomReader, you can change pretty much any aspect of Safari Reader's appearance. CustomReader's settings panel has a graphical user interface that lets you edit a few basic settings, like body font and background color, with a few clicks. But the true power of CustomReader lies in the Advanced tab, where you can directly edit the custom stylesheet that the extension inserts into Safari Reader. By editing this stylesheet, you can override any of Safari Reader's built-in styles with one of your own.
CustomReader has another feature that may be of interest to some. If you find yourself frequently invoking Safari Reader on a certain kind of page at a specific site – for instance, articles on the New York Times website – you can have CustomReader automatically enter the reader whenever you open that kind of page.
It works!1 And with any luck it'll keep working after the next Safari update.
- I do have one small quibble. That 'invoke Reader automatically if you visit a specific site' option requires you to enter an escaped version of the site's address: not www.independent.co.uk/, but //www\.independent\.co\.uk/.+. I understand why it's doing that – using a regexp allows for more flexibility in choosing which subsections of a site should trigger Reader – but surely there could be a simple 'trigger-for-this-entire-domain' option that would do the job for 95% of prospective users. But then, probably 98% of Safari users either don't care about text justification badly enough to see this as a problem that needs resolving, or else wouldn't want to touch the CSS for Reader anyway. ↩