Greasemonkey script for quotations and line-height
// May 28th, 2010 // Code
It’s been bothering me for such a long time that so many sites have forgotten/ignored to set their line-height which makes their sites unreadable. After some googling I found an excellent typography script by Josefec.
It didn’t include line-height to paragraphs and, god forbid, div’s (text should be in p tags, not div tags!). Here is my modified version of it.
function getElementsByClass(tag,theClass) { var allTags = document.getElementsByTagName(tag); var classArray = []; for(var k=0;k"/g,">“"); tag = tag.replace(/\n"/g,"\n“"); tag = tag.replace(/([^ >\n])"/g,"$1”"); tag = tag.replace(/"/g,"“"); if (tag.search(/'/)==0) {tag = tag.replace(/'/,'‘'); } tag = tag.replace(/='([^']*)'/g,"=\\$1\\"); tag = tag.replace(/ '/g,' ‘'); tag = tag.replace(/'s/g,'’s'); tag = tag.replace(/' /g,'’ '); tag = tag.replace(/\('/g,'(‘'); tag = tag.replace(/>'/g,'>‘'); tag = tag.replace(/\n'/g,'\n‘'); tag = tag.replace(/([^ >\n])'/g,'$1’'); tag = tag.replace(/=\\([^\\]*)\\/g,"='$1'"); for (l=0;tag.search(/=×([^×§]*)§([^×§]*)§([^×]*)×/)!=-1;l++) { tag = tag.replace(/=×([^×§]*)§([^×§]*)§([^×]*)×/g,"=×$1'$2'$3×"); } for (m=0;tag.search(/=×([^×]*)×/)!=-1;m++) { tag = tag.replace(/=×([^×]*)×/g,"=\"$1\""); } tags[i].innerHTML = tag; } } function set_line_height(tags) { for(var i=0; i < tags.length; i++) { tags[i].style.lineHeight = '1.5em'; } } var title = document.getElementsByTagName('title'); var ps = document.getElementsByTagName('p'); var lis = document.getElementsByTagName('li'); var dls = document.getElementsByTagName('dl'); var h1s = document.getElementsByTagName('h1'); var h2s = document.getElementsByTagName('h2'); var h3s = document.getElementsByTagName('h3'); var as = document.getElementsByTagName('a'); var spans = document.getElementsByTagName('span'); var divs = document.getElementsByTagName('div'); var tds = document.getElementsByTagName('td'); var is = document.getElementsByTagName('i'); var blockquotes = document.getElementsByTagName('blockquote'); var tdsMboxText = getElementsByClass('td','mbox-text'); var dablink = getElementsByClass('div','dablink'); repair(title); repair(ps); repair(lis); repair(dls); repair(h1s); repair(h2s); repair(h3s); repair(as); repair(spans); repair(tds); repair(is); repair(blockquotes); repair(tdsMboxText); repair(dablink); set_line_height(ps); set_line_height(divs);
Install and enjoy.
