Before I begin, I have to emphasize that I have nothing against people who TyPe LyKk DiS.
None at all. But it makes for an unreadable web and I personally find that type of writing style detestable. No one reads that style of writing, and it detracts from any message you're trying to convey (and last I remember, "communication" was about getting your point across as clearly as possible ... unless you're a girl).
In any case, I needed a short break from working on tokki ... so I started joking around about my spell-checking post
earlier.
I was thinking how awesome it would be to apply a front-end filter that would allow you to "filter" through websites with unreadable text ...
My 10 minute attempt you can see
here. The original site is
here.
Ideally, this would be a client-side program (a plugin, perhaps) that could be installed on any browser. But for practical reasons, I'll discuss the more probable scenario: a front-end filter (set by an option) that would do a "front-end filter" on Tabulas sites.
It would have to do the following:
1.) Load up the page into memory.
2.) Locate the CSS file on the page
3.) This is kinda length. I've bolded the "cliff notes" version.
Step 1: Fix up ridiculously small font sizes
Go through the CSS file, locate instances of the font-size tag (in both shorthand font: notation and the full font-size notation). Any values under 11px would immediately be changed to 11px (ideally 12px, but this could be set on a per-font basis since certain fonts look like crap in 11px and vice versa).
Step 2: Fix up vertical spacing between lines of text
The secondary aspect of this CSS replacement would be to grab the line-height attribute. Too often we see people smooshing text with no vertical distance between lines. It would run a quick calculation (if line_height < (font_size * 1.5)) it would substitute the value of the line-height to something you could read.
Step 3: Unreadable text
The third attribute would be a bit more complex. It would take the background-color color and compare it to every color value. Of course, this is complex because certain aspects of the website defined in the stylesheet *should* be set to a really close color ... it would have to determine which tags were being used by primary fonts (perhaps by looking for a font attribute?). Converting the hex codes to decimal (not sure if this is necessary) the script would attempt to figure out if the colors are "too close." I've seen too many sites with white backgrounds and yellow text. The script would convert colors so that you could actually read them.
4.) Create a temp CSS file and link to it instead of the original CSS file.
5.)
REMOVE ALL INSTANCES OF MUSIC
ARGH I CANNOT STRESS THIS ENOUGH. I know you're just trying to be nice, pushing your Britney Spears on me when I'm trying to read your journal, but
I want to listen to Justin Timberlake, OK?! The script would automatically remove any music tags.
6.)
FiX WeIrD cAsInG lIke ThIS
I think by default the script would have to convert all casing to lower. Most people nowadays are unaware of the period (.) character so trying to figure out where a sentence began would be pointless. However, you would still build in the feature where the script locates sentences, converts it all ot lowercase, then uppercases the proper instances of casing (I think acronyms like PHP, XML, mySQL would suffer, but there will be some innocent casualties) such as "I" and the beginning of sentences.
I am personally guilty of never capitalizing anything, so this would be a huge boon to me.
7.)
Convert words
This is arguably the hardest portion of the script. It would have to loop through a long array of data to make substitutions. Since there seem to be a "set" list of common words that violate "properspeak" such as "lyk", "azN", "gurl", "u", etc.... it would be rather simple to go through and replace all instances of such words with their proper equivalents (like, Asian, girl, you).
So that would be my 7-step script that would get rid of horrid writing styles that have been popularized by Xanga. Even better would be to do this when you INPUT entries so they would forever be stored in their proper format,
but I don't believe in censorship.
I mean, it's not censorship when I just change the way the data is outputted via an option, right?