From 39c3d23a79705caa7441a3cce47ed26ff9d7599b Mon Sep 17 00:00:00 2001 From: JJfutbol Date: Thu, 9 Jul 2009 01:51:25 +0000 Subject: - updated css, deployed readability on lab.arc90.com had some changes not included - added user font size and family styles to print css - added twitter link to index page and styles to css - updated readability-start.js to now use a dynamic lookup of the baseHref - added check for console object, creates blank object if not defined - this way we can hold onto the current debugging for now safely git-svn-id: http://arc90labs-readability.googlecode.com/svn/trunk@60 d4e419ec-0920-11de-bbfd-a7c1bc4c261e --- css/readability-home.css | 364 +++++++++++++++++++++--------------------- css/readability-print.css | 49 +++++- css/readability.css | 395 ++++++++++++++++++++++------------------------ index.htm | 204 +++++++++++++----------- js/readability-start.js | 21 +-- js/readability.js | 65 ++++---- 6 files changed, 559 insertions(+), 539 deletions(-) diff --git a/css/readability-home.css b/css/readability-home.css index ac6fe5c..935d750 100755 --- a/css/readability-home.css +++ b/css/readability-home.css @@ -1,186 +1,178 @@ -@charset "utf-8"; -/* CSS Document */ - -body { - background: #1E4E74; - color: #ddd; -} - -img { -border: none; -} - -#container { - margin-top: 10px; - margin-right:auto; - margin-left:auto; - width: 980px; - height: 1125px; - padding: 10px; - background: url(../images/readability.png) no-repeat; - overflow: hidden; -} -#footer { - margin-top: 46px; - text-align: right; -} -#footer * { - float: right; -} -#arcLinks { - margin-left: 140px; -} -#kindlingAd { - width: 250px; -} -#kindlingAd a { - color: #fff; - font-size: 12px; - text-decoration: none; - display: block; -} -#kindlingAd p { - margin: 4px 40px 0 0; -} - -a.www-link { - margin: 0 8px 0 30px; -} - -#arc90 { - display: block; - text-align: right; - margin-top: 60px; -} - -#settings { - margin-top: 193px; - padding: 0 1.5em; - display: block; - width: 900px; - height: 160px; -} - -div.settings-box, div#bookmarklet { - float: left; -} -div#bookmarklet { - width: 200px; - margin-top: 24px; - margin-left: 140px; - text-align: center; -} - -div#style { - width: 175px; - margin-left: 20px; -} -div#size { - width: 165px; -} -div#margin { - width: 160px; -} - -.settings-box label { - margin-left: .5em; - cursor: pointer; -} -.settings-box p { - margin: .1em 0; -} -#readHiddenContent { - display: none; -} -#example { - display: block; - margin-left: 30px; - margin-top: 24px; - width: 888px; - height: 454px; - left: 30px; - padding: 1em 2em; - overflow: auto; -} -#articleContent { - text-align: left; - line-height: 1.4em; - margin: 1em auto; -} -/* ---------------- USER-CONFIGURABLE STYLING --------------------- */ -/* ---------------- USER-CONFIGURABLE STYLING --------------------- */ -/* Size options */ -.size-small { - font-size: 12px; -} -.size-medium { - font-size: 18px; -} -.size-large { - font-size: 26px; -} -.size-x-large { - font-size: 34px; -} - -/* Style options */ -.style-novel { - font-family:"Palatino Linotype", "Book Antiqua", Palatino, serif; - background: #F4F3DB; - color: #222; -} - -.style-ebook { - font-family:Arial, Helvetica, sans-serif; - background: #eee; - color: #333; -} -.style-ebook h1 { - font-family: "Arial Black", Gadget, sans-serif; - font-weight: normal; -} - -.style-newspaper { - font-family:"Times New Roman", Times, serif; - background: #F7F7F7; - color: #222; -} -.style-newspaper h1 { - text-transform:capitalize; - font-family: Georgia, "Times New Roman", Times, serif; -} - -.style-terminal { - font-family: "Lucida Console", Monaco, monospace; - background: #1D4E2C; - color: #C6FFC6; -} - -/* Margin Options */ -.margin-x-wide { - width: 35%; -} -.margin-wide { - width: 55%; -} -.margin-medium { - width: 75%; -} -.margin-narrow { - width: 95%; -} -/* ---------------- USER-CONFIGURABLE STYLING --------------------- */ -/* ---------------- USER-CONFIGURABLE STYLING --------------------- */ - - - -/* LOCK IN H1 SIZING */ -#articleContent h1 { - font-size: 1.2em !important; - display: block; - text-transform:capitalize; -} -#articleContent { - line-height: 1.4em; -} - +@charset "utf-8"; + +body { + background: #1E4E74; + color: #ddd; +} +img { + border: none; +} +#container { + background: url(../images/readability.png) no-repeat; + height: 1125px; + margin: 10px auto 0 auto; + overflow: hidden; + padding: 10px; + width: 980px; +} +#footer { + margin-top: 46px; + text-align: right; +} +#footer * { + float: right; +} +#arcLinks { + margin-left: 140px; +} +#kindlingAd { + width: 250px; +} +#kindlingAd a { + color: #fff; + display: block; + font-size: 12px; + text-decoration: none; +} +#kindlingAd p { + margin: 4px 40px 0 0; +} +a.www-link { + margin: 0 8px 0 30px; +} +#arc90 { + display: block; + margin-top: 60px; + text-align: right; +} +#arc90 img { + margin-right: 10px; +} +#arc90 a.twitter { + border-bottom: 1px solid #fff; + color: #ddd; + font-size: .8em; + font-weight: bolder; + margin-top: 10px; + text-decoration: none; +} +#settings { + display: block; + height: 160px; + margin-top: 162px; + padding: 0 1.5em; + width: 900px; +} +div.settings-box, div#bookmarklet { + float: left; +} +div#bookmarklet { + margin-left: 140px; + margin-top: 24px; + text-align: center; + width: 200px; +} +div#style { + margin-left: 20px; + width: 175px; +} +div#size { + width: 165px; +} +div#margin { + width: 160px; +} +.settings-box label { + cursor: pointer; + margin-left: .5em; +} +.settings-box p { + margin: .1em 0; +} +#readHiddenContent { + display: none; +} +#example { + display: block; + height: 455px; + left: 30px; + margin-left: 30px; + margin-top: 28px; + overflow: auto; + padding: 1em 2em; + width: 888px; +} +#articleContent { + line-height: 1.4em; + margin: 1em auto; +} +/* LOCK IN H1 SIZING */ +#articleContent h1 { + display: block; + font-size: 1.2em !important; + text-transform: capitalize; +} + + +/* ---------------- USER-CONFIGURABLE STYLING --------------------- */ + +/* ------ Size Options ------- */ + +.size-small { + font-size: 12px; +} +.size-medium { + font-size: 18px; +} +.size-large { + font-size: 26px; +} +.size-x-large { + font-size: 34px; +} + +/* ------ Style Options ------- */ + +.style-novel { + background: #F4F3DB; + color: #222; + font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif; +} +.style-ebook { + background: #EEE; + color: #333; + font-family: Arial, Helvetica, sans-serif; +} +.style-ebook h1 { + font-family: "Arial Black", Gadget, sans-serif; + font-weight: normal; +} +.style-newspaper { + background: #F7F7F7; + color: #222; + font-family: "Times New Roman", Times, serif; +} +.style-newspaper h1 { + font-family: Georgia, "Times New Roman", Times, serif; + text-transform: capitalize; +} +.style-terminal { + background: #1D4E2C; + color: #C6FFC6; + font-family: "Lucida Console", Monaco, monospace; +} + +/* ------ Margin Options ------- */ + +.margin-x-wide { + width: 35%; +} +.margin-wide { + width: 55%; +} +.margin-medium { + width: 75%; +} +.margin-narrow { + width: 95%; +} \ No newline at end of file diff --git a/css/readability-print.css b/css/readability-print.css index a4c8cb3..855e827 100755 --- a/css/readability-print.css +++ b/css/readability-print.css @@ -1,7 +1,44 @@ -#readInner { - width: 100% !important; - font-size: 12pt; -} -#readTools { - display: none; +#readInner { + width: 100% !important; +} +#readTools { + display: none; +} + +/* ------ Size Options ------- */ + +.size-small { + font-size: 12px; +} +.size-medium { + font-size: 18px; +} +.size-large { + font-size: 26px; +} +.size-x-large { + font-size: 34px; +} + +/* ------ Style Options ------- */ + +.style-novel { + font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif; +} +.style-ebook { + font-family: Arial, Helvetica, sans-serif; +} +.style-ebook h1 { + font-family: "Arial Black", Gadget, sans-serif; + font-weight: normal; +} +.style-newspaper { + font-family: "Times New Roman", Times, serif; +} +.style-newspaper h1 { + font-family: Georgia, "Times New Roman", Times, serif; + text-transform: capitalize; +} +.style-terminal { + font-family: "Lucida Console", Monaco, monospace; } \ No newline at end of file diff --git a/css/readability.css b/css/readability.css index 0d3367e..d990766 100755 --- a/css/readability.css +++ b/css/readability.css @@ -1,206 +1,191 @@ -@charset "utf-8"; -/* CSS Document */ -#readOverlay { - display: block; - left: 0; - position: absolute; - top: 0; - width: 100%; -} -#readInner { - line-height: 1.4em; - margin: 1em auto; - max-width: 800px; - text-align: left; - width: 800px; -} -#readInner a { - color: blue; - text-decoration: underline; -} -#readInner pre { - white-space: pre-wrap; -} -#readOverlay #readInner pre.normalPre { - font-size: 14px; - line-height: 1.4em; - overflow: auto; - white-space: pre-wrap; -} -/* custom - PRE content (will revisit) -#readInner code, #readInner pre { - font-family: "Courier New", Courier, monospace; -} -#readInner pre { - background-color: #FFF; - border: #000 1px inset; - font-size: 110%; - max-height: 250px; - overflow: auto; - margin: 0; - padding: 6px 0; - overflow-x: auto; - width: 100%; -} -*/ -#readInner * { - background: none; - border: none; - margin-bottom: 16px; - text-align: left; -} -#readInner h1 { - border-bottom: 1px solid #333; - display: block; - font-size: 1.2em; - width: 100%; -} -#readInner blockquote { - margin-left: 3em; - margin-right: 3em; -} -#readFooter { - border-top: 1px solid #333; -} -#readFooter, #readFooter div, #readFooter a { - margin: 0; - padding: 0; - text-align: center; -} -#readability-version { - font-size: 12px; - font-weight: bold; -} - -/* Article Tools */ -#readTools { - height: 150px; - left: 10px; - position: fixed; - top: 10px; - width: 34px; - z-index: 100; -} -#readTools a { - display: block; - filter: alpha(opacity=40); - height: 34px; - margin-bottom: 8px; - opacity: .4; - overflow: hidden; - text-indent: -99999px; -} - -#email-page { - background: url(http://lab.arc90.com/experiments/readability/images/read-email.png) no-repeat left top; -} -#reload-page { - background: url(http://lab.arc90.com/experiments/readability/images/read-refresh.png) no-repeat left top; -} -#print-page { - background: url(http://lab.arc90.com/experiments/readability/images/read-print.png) no-repeat left top; -} -#readTools a:hover { - filter: alpha(opacity=100); - opacity: 1; -} - - -/* ---------------- USER-CONFIGURABLE STYLING --------------------- */ - -/* ------ Size Options ------- */ - -.size-small { - font-size: 12px; -} -.size-medium { - font-size: 18px; -} -.size-large { - font-size: 26px; -} -.size-x-large { - font-size: 34px; -} - -/* ------ Style Options ------- */ - -.style-novel { - background: #F4F3DB; - color: #222; - font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif; -} -.style-ebook { - background: #EEE; - color: #333; - font-family: Arial, Helvetica, sans-serif; -} -.style-ebook h1 { - font-family: "Arial Black", Gadget, sans-serif; - font-weight: normal; -} -.style-newspaper { - background: #FFF; - color: #222; - font-family: "Times New Roman", Times, serif; -} -.style-newspaper h1 { - font-family: Georgia, "Times New Roman", Times, serif; - text-transform: capitalize; -} -.style-terminal { - background: #1D4E2C; - color: #C6FFC6; - font-family: "Lucida Console", Monaco, monospace; -} - -/* ------ Margin Options ------- */ - -.margin-x-wide { - width: 35%; -} -.margin-wide { - width: 55%; -} -.margin-medium { - width: 75%; -} -.margin-narrow { - width: 95%; -} - -/* ---------------- END USER-CONFIGURABLE STYLING --------------------- */ - - -/* ---------------- DEBUG --------------------- */ - -.bug-green { - background: #BBF9B0; - border: 4px solid green; -} -.bug-red { - background: red; -} -.bug-yellow { - background: #FFFF8E; -} -.bug-blue { - background: #BFDFFF; -} - - -/* ---------------- EMAIL POP UP --------------------- */ - -#email-container { - background-color: #fff; - border: solid 3px #666; - height: 490px; - left: 50%; - margin: 0 0 0 -240px; - overflow: hidden; - padding: 0; - position: fixed; - top: 60px; - width: 500px; - z-index: 100 !important; +@charset "utf-8"; + +#readOverlay { + display: block; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +#readInner { + line-height: 1.4em; + margin: 1em auto; + max-width: 800px; + text-align: left; + width: 800px; +} +#readInner a { + color: blue; + text-decoration: underline; +} +/* custom - PRE content (will revisit) */ +/* +#readInner pre { + white-space: pre-wrap; +} +#readOverlay #readInner pre.normalPre { + font-size: 14px; + line-height: 1.4em; + overflow: auto; + white-space: pre-wrap; +} +#readInner code, #readInner pre { + font-family: "Courier New", Courier, monospace; +} +#readInner pre { + background-color: #FFF; + border: #000 1px inset; + font-size: 110%; + max-height: 250px; + overflow: auto; + margin: 0; + padding: 6px 0; + overflow-x: auto; + width: 100%; +} +*/ +#readInner * { + background: none; + border: none; + margin-bottom: 16px; + text-align: left; +} +#readInner h1 { + border-bottom: 1px solid #333; + display: block; + font-size: 1.2em; + width: 100%; +} +#readInner p img { + float: left; + margin-right: 12px; + margin-bottom: 12px; +} +#readInner blockquote { + margin-left: 3em; + margin-right: 3em; +} +/* ToolBar */ +#readTools { + height: 150px; + left: 10px; + position: fixed; + top: 10px; + width: 34px; + z-index: 100; +} +#readTools a { + display: block; + filter: alpha(opacity=40); + height: 34px; + margin-bottom: 8px; + opacity: .4; + overflow: hidden; + text-indent: -99999px; +} +#email-page { + background: url(http://lab.arc90.com/experiments/readability/images/read-email.png) no-repeat left top; +} +#reload-page { + background: url(http://lab.arc90.com/experiments/readability/images/read-refresh.png) no-repeat left top; +} +#print-page { + background: url(http://lab.arc90.com/experiments/readability/images/read-print.png) no-repeat left top; +} +#readTools a:hover { + filter: alpha(opacity=100); + opacity: 1; +} +/* Footer */ +#readFooter { + border-top: 1px solid #333; +} +#readFooter, #readFooter div, #readFooter a { + margin: 0; + padding: 0; + text-align: center; +} +#readability-version { + font-size: 12px; + font-weight: bold; +} + + +/* ---------------- USER-CONFIGURABLE STYLING --------------------- */ + +/* ------ Size Options ------- */ + +.size-small { + font-size: 12px; +} +.size-medium { + font-size: 18px; +} +.size-large { + font-size: 26px; +} +.size-x-large { + font-size: 34px; +} + +/* ------ Style Options ------- */ + +.style-novel { + background: #F4F3DB; + color: #222; + font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif; +} +.style-ebook { + background: #EEE; + color: #333; + font-family: Arial, Helvetica, sans-serif; +} +.style-ebook h1 { + font-family: "Arial Black", Gadget, sans-serif; + font-weight: normal; +} +.style-newspaper { + background: #FFF; + color: #222; + font-family: "Times New Roman", Times, serif; +} +.style-newspaper h1 { + font-family: Georgia, "Times New Roman", Times, serif; + text-transform: capitalize; +} +.style-terminal { + background: #1D4E2C; + color: #C6FFC6; + font-family: "Lucida Console", Monaco, monospace; +} + +/* ------ Margin Options ------- */ + +.margin-x-wide { + width: 35%; +} +.margin-wide { + width: 55%; +} +.margin-medium { + width: 75%; +} +.margin-narrow { + width: 95%; +} + +/* ---------------- EMAIL POP UP --------------------- */ + +#email-container { + background-color: #fff; + border: solid 3px #666; + height: 490px; + left: 50%; + margin: 0 0 0 -240px; + overflow: hidden; + padding: 0; + position: fixed; + top: 60px; + width: 500px; + z-index: 100 !important; } \ No newline at end of file diff --git a/index.htm b/index.htm index ae258f1..95aed0b 100755 --- a/index.htm +++ b/index.htm @@ -1,91 +1,113 @@ - - - - Readability - An Arc90 Lab Experiment - - - - - - - -
-

Readability

-

READABILITY is a simple tool that makes reading on the Web more enjoyable by removing the clutter around what you’re reading. Follow the steps below to install READABILITY in your Web browser.

-
-
-
- Arc90 -
-
-
-
-

-

-

-

-
-
-

-

-

-

-
-
-

-

-

-

-
-
- Readability -
-
-
-
-
-

Compelling Content Worth Reading

-
-

One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed in his bed into a horrible vermin. He lay on his armour-like back, and if he lifted his head a little he could see his brown belly, slightly domed and divided by arches into stiff sections.

-

The bedding was hardly able to cover it and seemed ready to slide off any moment. His many legs, pitifully thin compared with the size of the rest of him, waved about helplessly as he looked. "What's happened to me? " he thought. It wasn't a dream.

-

His room, a proper human room although a little too small, lay peacefully between its four familiar walls. A collection of textile samples lay spread out on the table - Samsa was a travelling salesman - and above it there hung a picture that he had recently cut out of an illustrated magazine and housed in a nice, gilded frame.

-

It showed a lady fitted out with a fur hat and fur boa who sat upright, raising a heavy fur muff that covered the whole of her lower arm towards the viewer. Gregor then turned to look out the window at the dull weather. Drops of rain could be heard hitting the pane, which made him feel quite sad.

-

"How about if I sleep a little bit longer and forget all this nonsense", he thought, but that was something he was unable to do because he was used to sleeping on his right, and in his present state couldn't get into that position. However hard he threw himself onto his right, he always rolled back to where he was.

-

He must have tried it a hundred times, shut his eyes so that he wouldn't have to look at the floundering legs, and only stopped when he began to feel a mild, dull pain there that he had never felt before. "Oh, God", he thought, "what a strenuous career it is that I've chosen! Travelling day in and day out. Doing business like this takes much more effort than doing your own business at home, and on top of that there's the curse of travelling, worries about making train connections, bad and irregular food, contact with different people all the time so that you can never get to know anyone or become friendly with them. It can all go to Hell! " He felt a slight itch

-
- -
- - - + + + +Readability - An Arc90 Lab Experiment + + + + + + + + +
+ +

Readability

+ +

READABILITY is a simple tool that makes reading on the Web more enjoyable by removing the clutter around what you’re reading. Follow the steps below to install READABILITY in your Web browser.

+ +
+ +
+ + + +
+
+
+

+

+

+

+
+
+

+

+

+

+
+
+

+

+

+

+
+
+ Readability Beta +
+
+
+ +
+
+

Compelling Content Worth Reading

+
+

One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed in his bed into a horrible vermin. He lay on his armour-like back, and if he lifted his head a little he could see his brown belly, slightly domed and divided by arches into stiff sections.

+

The bedding was hardly able to cover it and seemed ready to slide off any moment. His many legs, pitifully thin compared with the size of the rest of him, waved about helplessly as he looked. "What's happened to me? " he thought. It wasn't a dream.

+

His room, a proper human room although a little too small, lay peacefully between its four familiar walls. A collection of textile samples lay spread out on the table - Samsa was a travelling salesman - and above it there hung a picture that he had recently cut out of an illustrated magazine and housed in a nice, gilded frame.

+

It showed a lady fitted out with a fur hat and fur boa who sat upright, raising a heavy fur muff that covered the whole of her lower arm towards the viewer. Gregor then turned to look out the window at the dull weather. Drops of rain could be heard hitting the pane, which made him feel quite sad.

+

"How about if I sleep a little bit longer and forget all this nonsense", he thought, but that was something he was unable to do because he was used to sleeping on his right, and in his present state couldn't get into that position. However hard he threw himself onto his right, he always rolled back to where he was.

+

He must have tried it a hundred times, shut his eyes so that he wouldn't have to look at the floundering legs, and only stopped when he began to feel a mild, dull pain there that he had never felt before. "Oh, God", he thought, "what a strenuous career it is that I've chosen! Travelling day in and day out. Doing business like this takes much more effort than doing your own business at home, and on top of that there's the curse of travelling, worries about making train connections, bad and irregular food, contact with different people all the time so that you can never get to know anyone or become friendly with them. It can all go to Hell! " He felt a slight itch

+
+
+ + + +
+ + + \ No newline at end of file diff --git a/js/readability-start.js b/js/readability-start.js index 4263ab2..3d6d654 100755 --- a/js/readability-start.js +++ b/js/readability-start.js @@ -1,25 +1,24 @@ -var defaultMargin = "margin-wide"; -var defaultSize = "size-large"; -var defaultStyle = "style-newspaper"; +var margin = "margin-wide"; +var size = "size-large"; +var style = "style-newspaper"; var baseHref = window.location.toString().match(/.*\//); var linkStart = "javascript:(function(){"; -var linkEnd = "var elements=document.getElementsByTagName('HEAD');var headElement;if(elements.length>=1){headElement=elements[0];}else{headElement=document.createElement('HEAD');document.documentElement.appendChild(headElement);}_readability_script=document.createElement('SCRIPT');_readability_script.type='text/javascript';_readability_script.src='" + basehref + "js/readability.js?x='+(Math.random());headElement.insertBefore(_readability_script,headElement.firstChild);_readability_css=document.createElement('LINK');_readability_css.rel='stylesheet';_readability_css.href='" + basehref + "css/readability.css';_readability_css.type='text/css';headElement.insertBefore(_readability_css,headElement.firstChild);_readability_print_css=document.createElement('LINK');_readability_print_css.rel='stylesheet';_readability_print_css.href='" + basehref + "css/readability-print.css';_readability_print_css.media='print';_readability_print_css.type='text/css';headElement.insertBefore(_readability_print_css,headElement.firstChild);})();"; +var linkEnd = "var elements=document.getElementsByTagName('HEAD');var headElement;if(elements.length>=1){headElement=elements[0];}else{headElement=document.createElement('HEAD');document.documentElement.appendChild(headElement);}_readability_script=document.createElement('SCRIPT');_readability_script.type='text/javascript';_readability_script.src='" + baseHref + "js/readability.js?x='+Math.random();headElement.insertBefore(_readability_script,headElement.firstChild);_readability_css=document.createElement('LINK');_readability_css.rel='stylesheet';_readability_css.href='" + baseHref + "css/readability.css';_readability_css.type='text/css';headElement.insertBefore(_readability_css,headElement.firstChild);_readability_print_css=document.createElement('LINK');_readability_print_css.rel='stylesheet';_readability_print_css.href='" + baseHref + "css/readability-print.css';_readability_print_css.media='print';_readability_print_css.type='text/css';headElement.insertBefore(_readability_print_css,headElement.firstChild);})();"; $(document).ready(function() { - // load example with defaults - applyChange("margin", defaultMargin); - applyChange("size", defaultSize); - applyChange("style", defaultStyle); + // load example with defaults at first + applyChange("margin", margin); + applyChange("size", size); + applyChange("style", style); // helper that takes the user input and customizes the bookmarklet source function applyChange(property, value) { var example = document.getElementById("example"); var article = document.getElementById("articleContent"); - var size, style, margin; // determine the property that is being changed switch (property) @@ -49,10 +48,6 @@ $(document).ready(function() applyChange(this.name, this.value); }); - $("#settings input").bind("click", function(){ - applyChange(this.name, this.value); - }); - // the user needs to drag the bookmarklet link to their bookmarks bar, but // if they don't notify them what to do (unique case for IE) $("#bookmarkletLink").bind("click", function(){ diff --git a/js/readability.js b/js/readability.js index 5619c38..ce8fb52 100755 --- a/js/readability.js +++ b/js/readability.js @@ -1,8 +1,19 @@ -var readabilityVersion = "v1.0.0.1"; +var readabilityVersion = "1.0.0.1"; var emailSrc = "http://proto1.arc90.com/readability/email.php"; var highestScore = -1; var malformedContent = false; +// for now we want to hold on to our debugging, but if a browser doesn't +// support it, we'll create a console.log() method that does nothing +if (typeof console == 'undefined') +{ + var console = {}; + + console.log = function(msg) { + return; + }; +} + (function(){ // some sites use plugins (jCarousel) that when Readability removes scripts // or does something funky it causes an alert to appear every few seconds, @@ -141,36 +152,8 @@ function determineContentScore(score, parent, element) function parseContent() { - // replace all doubled-up
tags with

tags, and remove fonts - //var pattern = new RegExp("
[ \r\n\s]*
", "gi"); - //document.body.innerHTML = document.body.innerHTML.replace(pattern, "

").replace(/<\/?font[^>]*>/gi, ""); - document.body.innerHTML = document.body.innerHTML.replace(/\s*/gi, "

").replace(/<\/?font[^>]*>/gi, ""); - - /* - - // was part of the PRE based content parsing but tweaking below - // could resolve the bad regex above replacing double br tags - // with an empty paragraph - - var html = document.body.innerHTML; - var firstTime = true; - - while (html.indexOf('\n\n') >= 0) - { - if (firstTime) - { - html = html.replace('\n\n', '

'); // first item - firstTime = false; - } - - if (html.indexOf('\n\n') == html.lastIndexOf('\n\n')) - html = html.replace('\n\n', '

'); // last item - else - html = html.replace('\n\n', '

'); // every item in between - } - - document.body.innerHTML = html; - */ + // replace all doubled-up
tags with

tags, and remove inline fonts + document.body.innerHTML = document.body.innerHTML.replace(/]*>\s*]*>/gi, "

").replace(/<\/?font[^>]*>/gi, ""); var articleContent = document.createElement("DIV"); var paragraphs = document.getElementsByTagName("P"); @@ -615,7 +598,8 @@ function normalize(text) */ function removeBreaks(element) { - element.innerHTML = element.innerHTML.replace(/(]*\/?>(\s| ?)*){1,}/gi, "
"); + // FIXME: the regex doesn't seem to pick up consecutive br tags, need to revisit + element.innerHTML = element.innerHTML.replace(/((]*>)[\s]*(]*>)){1,}/gi, "
"); } /** @@ -681,15 +665,16 @@ function removeStyles() { var style = styleTags[j]; - // TODO: need to verify that clearing out innerText works in IE - // might want to consider removing from parent if (style.textContent) { style.textContent = ""; } else { - style.innerText = ""; + // most browsers support textContent but IE has its own way but it + // seems that Firefox supports both, check link for last example + // http://www.phpied.com/the-star-hack-in-ie8-and-dynamic-stylesheets/ + style.styleSheet.cssText = ""; } } } @@ -701,12 +686,16 @@ function removeStylesheets() { // TODO: need to do more research, not sure if disabling is enough // for cross browser compatibility, might consider removal via parent - // just as done in the removeScripts method + // just as done in the removeScripts method, but will need to retrieve + // all LINK tags and make sure rel attr is "stylesheet" or that its + // type attr is "text/css" for (var k = 0; k < document.styleSheets.length; k++) { - if (document.styleSheets[k].href != null && document.styleSheets[k].href.lastIndexOf("readability") == -1) + var styleSheet = document.styleSheets[k]; + + if (styleSheet.href != null && styleSheet.href.lastIndexOf("readability") == -1) { - document.styleSheets[k].disabled = true; + styleSheet.disabled = true; } } } -- cgit v1.2.3