Skip to content

Instantly share code, notes, and snippets.

@voidfiles
Created June 2, 2012 19:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save voidfiles/2859704 to your computer and use it in GitHub Desktop.
Save voidfiles/2859704 to your computer and use it in GitHub Desktop.
Instapaper's Bookmarklet as of June 2, 2010
// Bookmarklet portion
javascript: function iprl5() {
var d = document,
z = d.createElement('scr' + 'ipt'),
b = d.body,
l = d.location;
try {
if (!b) throw (0);
d.title = '(Saving...) ' + d.title;
z.setAttribute('src', l.protocol + '//www.instapaper.com/j/?u=' + encodeURIComponent(l.href) + '&t=' + (new Date().getTime()));
b.appendChild(z);
} catch(e) {
alert('Please wait until the page has loaded.');
}
}
iprl5();
void(0)
// The code that gets loaded in
// DEFLATE, base64 by Dan Kogai http://github.com/dankogai/
var s=null;
(function(){function y(b){for(var i="";b.length>0;)i+=String.fromCharCode.apply(String,b.splice(0,65536));return i}function da(b){return y(x(P(b)))}function n(b){return x(P(b))}function ea(b){return y(Q(P(b)))}function H(b){return y(Q(b))}function R(b){return y(V(b))}function fa(b){return S(P(b))}function Q(b){for(var i=[],j=0,l=b.length;j<l;j++){var h=b[j];if(h<128)i.push(h);else{var m=b[++j];if(h<224)i.push((h&31)<<6|m&63);else{var n=b[++j];i.push((h&15)<<12|(m&63)<<6|n&63)}}}return i}function x(b){for(var i=
[],j=0,l=b.length;j<l;j++){var h=b[j];h<128?i.push(h):h<2048?i.push(192|h>>>6,128|h&63):i.push(224|h>>>12&15,128|h>>>6&63,128|h&63)}return i}function V(b){for(var b=b.replace(/[^A-Za-z0-9+\/]+/g,""),i=[],j=b.length%4,l=0,h=b.length;l<h;l+=4){var m=(ga[b.charAt(l)]||0)<<18|(ga[b.charAt(l+1)]||0)<<12|(ga[b.charAt(l+2)]||0)<<6|(ga[b.charAt(l+3)]||0);i.push(m>>16,m>>8&255,m&255)}i.length-=[0,0,2,1][j];return i}function S(b){for(var i=0;b.length%3;)b.push(0),i++;for(var j=[],l=0,h=b.length;l<h;l+=3){var m=
b[l],n=b[l+1],x=b[l+2];if(m>=256||n>=256||x>=256)throw"unsupported character found";m=m<<16|n<<8|x;j.push(W[m>>>18],W[m>>>12&63],W[m>>>6&63],W[m&63])}for(;i--;)j[j.length-i-1]="=".charCodeAt(0);return y(j)}function P(b){for(var i=[],j=0,l=b.length;j<l;j++)i[j]=b.charCodeAt(j);return i}var W=function(){for(var b=[],i="A".charCodeAt(0),j="a".charCodeAt(0),l="0".charCodeAt(0),h=0;h<26;h++)b.push(i+h);for(h=0;h<26;h++)b.push(j+h);for(h=0;h<10;h++)b.push(l+h);b.push("+".charCodeAt(0));b.push("/".charCodeAt(0));
return b}(),ga=function(b){for(var i={},j=0,l=b.length;j<l;j++)i[b.charAt(j)]=j;return i}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/");if(window.btoa)var X=window.btoa,Y=function(b){return X(da(b))};else X=fa,Y=function(b){return S(n(b))};if(window.atob)var ha=window.atob,ia=function(b){return ea(ha(b))};else ha=R,ia=function(b){return H(V(b))};window.Base64={J:S,w:S,u:V,s:V,C:x,B:x,K:Q,z:Q,m:fa,v:R,M:function(b){return Q(P(b))},L:H,A:H,N:ea,H:n,G:n,D:function(b){return y(x(b))},
I:da,F:Y,t:ia,R:R,T:fa,atob:ha,btoa:X,U:da,r:ea,P:Y,Q:function(b){return Y(b).replace(/[+\/]/g,function(b){return b=="+"?"-":"_"}).replace(/=+$/,"")},O:function(b){return ia(b.replace(/[-_]/g,function(b){return b=="-"?"+":"/"}))}}})();
(function(){function y(){C>8?j(T):C>0&&l(T);C=T=0}function da(a,k){var c=0;do c|=a&1,a>>=1,c<<=1;while(--k>0);return c>>1}function n(a,k){C>16-k?(T|=a<<C,j(T),T=a>>16-C,C+=k-16):(T|=a<<C,C+=k)}function ea(a,k){var c,e=0,d=0,f=0,Aa=0,g,i;if(I!=0){do(e&7)==0&&(Aa=ra[f++]),c=Ba[e++]&255,(Aa&1)==0?b(c,a):(g=ma[c],b(g+256+1,a),i=Ca[g],i!=0&&(c-=Da[g],n(c,i)),c=Ea[d++],g=(c<256?Z[c]:Z[256+(c>>7)])&255,b(g,k),i=na[g],i!=0&&(c-=sa[g],n(c,i))),Aa>>=1;while(e<I)}b(256,a)}function H(a,k){Ba[I++]=k;a==0?D[k].a++:
(a--,D[ma[k]+256+1].a++,J[(a<256?Z[a]:Z[256+(a>>7)])&255].a++,Ea[ta++]=a,oa|=ua);ua<<=1;(I&7)==0&&(ra[Fa++]=oa,oa=0,ua=1);if($>2&&(I&4095)==0){var c=I*8,e=g-K,d;for(d=0;d<30;d++)c+=J[d].a*(5+na[d]);c>>=3;if(ta<parseInt(I/2)&&c<parseInt(e/2))return!0}return I==8191||ta==8192}function R(a){var k,c,e,d;d=g-K;ra[Fa]=oa;x(z);x(A);Q(D,z.c);Q(J,A.c);x(L);for(e=18;e>=3;e--)if(t[La[e]].b!=0)break;ja+=3*(e+1)+14;k=ja+3+7>>3;c=va+3+7>>3;c<=k&&(k=c);if(d+4<=k&&K>=0){n(0+a,3);y();j(d);j(~d);for(e=0;e<d;e++)l(f[K+
e])}else if(c==k)n(2+a,3),ea(M,aa);else{n(4+a,3);d=z.c+1;k=A.c+1;e+=1;n(d-257,5);n(k-1,5);n(e-4,4);for(c=0;c<e;c++)n(t[La[c]].b,3);fa(D,d-1);fa(J,k-1);ea(D,J)}P();a!=0&&y()}function fa(a,k){var c,e=-1,d,g=a[0].b,f=0,i=7,j=4;g==0&&(i=138,j=3);for(c=0;c<=k;c++)if(d=g,g=a[c+1].b,!(++f<i&&d==g)){if(f<j){do b(d,t);while(--f!=0)}else d!=0?(d!=e&&(b(d,t),f--),b(16,t),n(f-3,2)):f<=10?(b(17,t),n(f-3,3)):(b(18,t),n(f-11,7));f=0;e=d;g==0?(i=138,j=3):d==g?(i=6,j=3):(i=7,j=4)}}function Q(a,k){var c,e=-1,d,b=a[0].b,
f=0,g=7,i=4;b==0&&(g=138,i=3);a[k+1].b=65535;for(c=0;c<=k;c++)d=b,b=a[c+1].b,++f<g&&d==b||(f<i?t[d].a+=f:d!=0?(d!=e&&t[d].a++,t[16].a++):f<=10?t[17].a++:t[18].a++,f=0,e=d,b==0?(g=138,i=3):d==b?(g=6,i=3):(g=7,i=4))}function x(a){var k=a.e,c=a.f,e=a.g,d,b=-1,f=e;N=0;ka=573;for(d=0;d<e;d++)k[d].a!=0?(o[++N]=b=d,E[d]=0):k[d].b=0;for(;N<2;)d=o[++N]=b<2?++b:0,k[d].a=1,E[d]=0,ja--,c!=s&&(va-=c[d].b);a.c=b;for(d=N>>1;d>=1;d--)S(k,d);do d=o[1],o[1]=o[N--],S(k,1),c=o[1],o[--ka]=d,o[--ka]=c,k[f].a=k[d].a+k[c].a,
E[f]=E[d]>E[c]+1?E[d]:E[c]+1,k[d].b=k[c].b=f,o[1]=f++,S(k,1);while(N>=2);o[--ka]=o[1];f=a.e;d=a.i;var e=a.h,c=a.c,g=a.j,i=a.f,j,h,l,m,n=0;for(h=0;h<=15;h++)v[h]=0;f[o[ka]].b=0;for(a=ka+1;a<573;a++)if(j=o[a],h=f[f[j].b].b+1,h>g&&(h=g,n++),f[j].b=h,!(j>c))v[h]++,l=0,j>=e&&(l=d[j-e]),m=f[j].a,ja+=m*(h+l),i!=s&&(va+=m*(i[j].b+l));if(n!=0){do{for(h=g-1;v[h]==0;)h--;v[h]--;v[h+1]+=2;v[g]--;n-=2}while(n>0);for(h=g;h!=0;h--)for(j=v[h];j!=0;)if(d=o[--a],!(d>c)){if(f[d].b!=h)ja+=(h-f[d].b)*f[d].a,f[d].a=h;
j--}}V(k,b)}function V(a,b){var c=Array(16),e=0,d;for(d=1;d<=15;d++)e=e+v[d-1]<<1,c[d]=e;for(e=0;e<=b;e++)if(d=a[e].b,d!=0)a[e].a=da(c[d]++,d)}function S(a,b){for(var c=o[b],e=b<<1;e<=N;){e<N&&ia(a,o[e+1],o[e])&&e++;if(ia(a,c,o[e]))break;o[b]=o[e];b=e;e<<=1}o[b]=c}function P(){var a;for(a=0;a<286;a++)D[a].a=0;for(a=0;a<30;a++)J[a].a=0;for(a=0;a<19;a++)t[a].a=0;D[256].a=1;oa=I=ta=Fa=ja=va=0;ua=1}function W(a,b,c){var e,d,f;for(e=0;r!=s&&e<c;){d=c-e;if(d>r.d)d=r.d;for(f=0;f<d;f++)a[b+e+f]=r.l[r.k+f];
r.k+=d;r.d-=d;e+=d;if(r.d==0)d=r,r=r.next,d.next=ba,ba=d}if(e==c)return e;if(u<w){d=c-e;d>w-u&&(d=w-u);for(f=0;f<d;f++)a[b+e+f]=ca[u+f];u+=d;e+=d;w==u&&(w=u=0)}return e}function ga(a,b){var c;if(!Ga){if(!O){C=T=0;var e,d;if(aa[0].b==0){z.e=D;z.f=M;z.i=Ca;z.h=257;z.g=286;z.j=15;z.c=0;A.e=J;A.f=aa;A.i=na;A.h=0;A.g=30;A.j=15;A.c=0;L.e=t;L.f=s;L.i=Pa;L.h=0;L.g=19;L.j=7;for(d=e=L.c=0;d<28;d++){Da[d]=e;for(c=0;c<1<<Ca[d];c++)ma[e++]=d}ma[e-1]=d;for(d=e=0;d<16;d++){sa[d]=e;for(c=0;c<1<<na[d];c++)Z[e++]=
d}for(e>>=7;d<30;d++){sa[d]=e<<7;for(c=0;c<1<<na[d]-7;c++)Z[256+e++]=d}for(c=0;c<=15;c++)v[c]=0;for(c=0;c<=143;)M[c++].b=8,v[8]++;for(;c<=255;)M[c++].b=9,v[9]++;for(;c<=279;)M[c++].b=7,v[7]++;for(;c<=287;)M[c++].b=8,v[8]++;V(M,287);for(c=0;c<30;c++)aa[c].b=5,aa[c].a=da(c,5);P()}for(c=0;c<8192;c++)F[32768+c]=0;Ha=Ia[$].q;Ma=Ia[$].o;Na=Ia[$].p;K=g=0;q=ha(f,0,65536);if(q<=0)O=!0,q=0;else{for(O=!1;q<262&&!O;)X();for(c=G=0;c<2;c++)G=(G<<Ja^f[c]&255)&8191}r=s;u=w=0;$<=3?(B=2,p=0):(p=2,pa=0);wa=!1}Ga=!0;
if(q==0)return wa=!0,0}if((c=W(a,0,b))==b)return b;if(wa)return c;if($<=3)for(;q!=0&&r==s;){i();U!=0&&g-U<=32506&&(p=Y(U),p>q&&(p=q));if(p>=3)if(d=H(g-qa,p-3),q-=p,p<=Ha){p--;do g++,i();while(--p!=0);g++}else g+=p,p=0,G=f[g]&255,G=(G<<Ja^f[g+1]&255)&8191;else d=H(0,f[g]&255),q--,g++;d&&(R(0),K=g);for(;q<262&&!O;)X()}else for(;q!=0&&r==s;){i();B=p;Oa=qa;p=2;U!=0&&B<Ha&&g-U<=32506&&(p=Y(U),p>q&&(p=q),p==3&&g-qa>4096&&p--);if(B>=3&&p<=B){d=H(g-1-Oa,B-3);q-=B-1;B-=2;do g++,i();while(--B!=0);pa=0;p=2;
g++;d&&(R(0),K=g)}else pa!=0?H(0,f[g-1]&255)&&(R(0),K=g):pa=1,g++,q--;for(;q<262&&!O;)X()}q==0&&(pa!=0&&H(0,f[g-1]&255),R(1),wa=!0);return c+W(a,c+0,b-c)}function X(){var a,b,c=65536-q-g;if(c==-1)c--;else if(g>=65274){for(a=0;a<32768;a++)f[a]=f[a+32768];qa-=32768;g-=32768;K-=32768;for(a=0;a<8192;a++)b=F[32768+a],F[32768+a]=b>=32768?b-32768:0;for(a=0;a<32768;a++)b=F[a],F[a]=b>=32768?b-32768:0;c+=32768}O||(a=ha(f,g+q,c),a<=0?O=!0:q+=a)}function Y(a){var b=Na,c=g,e,d=B,i=g>32506?g-32506:0,h=g+258,j=
f[c+d-1],l=f[c+d];B>=Ma&&(b>>=2);do if(e=a,!(f[e+d]!=l||f[e+d-1]!=j||f[e]!=f[c]||f[++e]!=f[c+1])){c+=2;e++;do;while(f[++c]==f[++e]&&f[++c]==f[++e]&&f[++c]==f[++e]&&f[++c]==f[++e]&&f[++c]==f[++e]&&f[++c]==f[++e]&&f[++c]==f[++e]&&f[++c]==f[++e]&&c<h);e=258-(h-c);c=h-258;if(e>d){qa=a;d=e;if(e>=258)break;j=f[c+d-1];l=f[c+d]}}while((a=F[a&32767])>i&&--b!=0);return d}function ha(a,b,c){var e;for(e=0;e<c&&Ka<xa.length;e++)a[b+e]=xa.charCodeAt(Ka++)&255;return e}function ia(a,b,c){return a[b].a<a[c].a||a[b].a==
a[c].a&&E[b]<=E[c]}function b(a,b){n(b[a].a,b[a].b)}function i(){G=(G<<Ja^f[g+3-1]&255)&8191;U=F[32768+G];F[g&32767]=U;F[32768+G]=g}function j(a){a&=65535;u+w<8190?(ca[u+w++]=a&255,ca[u+w++]=a>>>8):(l(a&255),l(a>>>8))}function l(a){ca[u+w++]=a;if(u+w==8192&&w!=0){var b;ba!=s?(a=ba,ba=ba.next):a=new h;a.next=s;a.d=a.k=0;r==s?r=ya=a:ya=ya.next=a;a.d=w-u;for(b=0;b<a.d;b++)a.l[b]=ca[u+b];w=u=0}}function h(){this.next=s;this.d=0;this.l=Array(8192);this.k=0}function m(a,b,c,e){this.o=a;this.q=b;this.S=
c;this.p=e}function za(){this.i=this.f=this.e=s;this.c=this.j=this.g=this.h=0}function la(){this.b=this.a=0}var Ja=parseInt(5),ba,r,ya,Ga,ca=s,w,u,wa,f,Ea,Ba,F,T,C,K,G,U,Oa,pa,p,B,g,qa,O,q,Na,Ha,$,Ma,D,J,M,aa,t,z,A,L,v,o,N,ka,E,ma,Z,Da,sa,ra,I,ta,Fa,oa,ua,ja,va,xa,Ka,Ca=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],na=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Pa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],La=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Ia=
[new m(0,0,0,0),new m(4,4,8,4),new m(4,5,16,8),new m(4,6,32,32),new m(4,4,16,16),new m(8,16,32,32),new m(8,16,128,128),new m(8,32,128,256),new m(32,128,258,1024),new m(32,258,258,4096)];window.RawDeflate||(window.RawDeflate={});window.RawDeflate.n=function(a){var b;xa=a;Ka=0;typeof b=="undefined"&&(b=6);(a=b)?a<1?a=1:a>9&&(a=9):a=6;$=a;O=Ga=!1;if(ca==s){ba=r=ya=s;ca=Array(8192);f=Array(65536);Ea=Array(8192);Ba=Array(32832);F=Array(65536);D=Array(573);for(a=0;a<573;a++)D[a]=new la;J=Array(61);for(a=
0;a<61;a++)J[a]=new la;M=Array(288);for(a=0;a<288;a++)M[a]=new la;aa=Array(30);for(a=0;a<30;a++)aa[a]=new la;t=Array(39);for(a=0;a<39;a++)t[a]=new la;z=new za;A=new za;L=new za;v=Array(16);o=Array(573);E=Array(573);ma=Array(256);Z=Array(512);Da=Array(29);sa=Array(30);ra=Array(parseInt(1024))}for(var c=Array(1024),e=[];(a=ga(c,c.length))>0;){var d=Array(a);for(b=0;b<a;b++)d[b]=String.fromCharCode(c[b]);e[e.length]=d.join("")}xa=s;return e.join("")}})();window.jbs_deflate=function(y){return Base64.m(RawDeflate.n(unescape(encodeURIComponent(y))))};
var bodyipb951623, _greaderipb951623, btxTitleipb951623 = '', cancelipb951623 = 0, frameDidLoadipb951623 = 0, _ipDidSendipb951623 = 0;
if (document.title.substring(0, 12) == '(Saving...) ') document.title = document.title.substring(12);
function jbsipb951623(html)
{
if (html.length > 768000) return html; /* too big to deflate quickly */
return '<' + '![D[' + jbs_deflate(html);
}
function btx_singlePageURLipb951623(bodyNode)
{
var singlePageXPs = [];
for (var i = 0; i < singlePageXPs.length; i++) {
try {
var result = document.evaluate(singlePageXPs[i], bodyNode, null, XPathResult.FIRST_ORDERED_NODE_TYPE);
if (result.singleNodeValue) {
return (
result.singleNodeValue.nodeType == 1 && result.singleNodeValue.nodeName.toLowerCase() == 'a' ?
result.singleNodeValue.getAttribute('href') : result.singleNodeValue.textContent
);
}
} catch(e){ }
}
return false;
}
function btx_nextPageURLipb951623(bodyNode, currentURL)
{
if (currentURL.indexOf('#') >= 0) currentURL = currentURL.substr(0, currentURL.indexOf('#'));
var nextPageXPs = [];
for (var i = 0; i < nextPageXPs.length; i++) {
try {
var result = document.evaluate(nextPageXPs[i], bodyNode, null, XPathResult.FIRST_ORDERED_NODE_TYPE);
if (result.singleNodeValue) {
var candidate = (
result.singleNodeValue.nodeType == 1 && result.singleNodeValue.nodeName.toLowerCase() == 'a' ?
result.singleNodeValue.getAttribute('href') : result.singleNodeValue.textContent
);
if (candidate.indexOf('#') >= 0) candidate = candidate.substr(0, candidate.indexOf('#'));
if (candidate != currentURL) return candidate;
}
} catch(e){ }
}
var autoNextPageXPs = ['//a[(contains(@class, \'pag\') or contains(@id, \'pag\')) and contains(., \'ext\') and not(ancestor-or-self::*[contains(@class, \'comment\') or contains(@id, \'comment\')])]','//*[contains(@class, \'pag\') or contains(@id, \'pag\')]//a[contains(., \'ext\') and not(ancestor-or-self::*[contains(@class, \'comment\') or contains(@id, \'comment\')])]','//a[contains(., \'ext\') and not(ancestor-or-self::*[contains(@class, \'comment\') or contains(@id, \'comment\')])]'];
for (var i = 0; i < autoNextPageXPs.length; i++) {
try {
var result = document.evaluate(autoNextPageXPs[i], bodyNode, null, XPathResult.FIRST_ORDERED_NODE_TYPE);
if (result.singleNodeValue) {
var newURL = result.singleNodeValue.href;
var a = document.createElement('a'); a.href = newURL; newURL = a.href;
var poundPos = newURL.indexOf('#');
if (poundPos >= 0) newURL = newURL.substr(0, poundPos);
if (newURL == currentURL) continue;
var longNum = /[0-9]{5,}/.exec(newURL);
if (longNum && currentURL.indexOf(longNum) == -1) continue;
var c, maxLen = Math.max(newURL.length, currentURL.length);
for (c = 0; c < maxLen; c++) {
if (newURL.length < c || currentURL.length < c || newURL.charAt(c) != currentURL.charAt(c)) break;
}
if (maxLen - c < 20 || c / maxLen > 0.8) return newURL;
}
} catch(e){ }
}
return false;
}
function stripCommentsAndHiddenElements(node)
{
if (node.nodeType == 8 /* comment */) node.parentNode.removeChild(node);
else if (node.nodeType == 1 /* element */) {
if (node.style.display == 'none' || node.style.visibility == 'hidden') node.parentNode.removeChild(node);
else {
for (var c = 0; c < node.childNodes.length; c++) stripCommentsAndHiddenElements(node.childNodes[c]);
}
}
}
function addClassipb951623(el, className)
{
if (el.getAttribute('class')) el.setAttribute(el.getAttribute('class') + ' ' + className);
else el.setAttribute('class', className);
}
function btx_bodyipb951623(bodyNode)
{
try {
bodyNode = bodyNode.cloneNode(true);
var o;
if ( (o = bodyNode.getElementById('ovipb951623')) ) o.parentNode.removeChild(o);
var stripElements = [
'iframe', 'script', 'style', 'canvas', 'noscript', 'head',
'input', 'textarea', 'select', 'button'
];
for (var i in stripElements) {
var els = [], ns = bodyNode.getElementsByTagName(stripElements[i]);
for (var j = 0; j < ns.length; j++) els[els.length] = ns[j];
for (var j = 0; j < els.length; j++) {
els[j].parentNode.removeChild(els[j]);
}
}
stripCommentsAndHiddenElements(bodyNode);
} catch(e){ }
return bodyNode;
}
function _corsipb951623(method, url, postbody, completionFn, errorFn)
{
try {
if (window.XDomainRequest) {
var xdr = new XDomainRequest();
if (! xdr) throw(0);
xdr.onerror = errorFn;
xdr.ontimeout = errorFn;
xdr.onprogress = function(){};
xdr.onload = function(){ completionFn(xdr.responseText); };
xdr.open(method, url);
xdr.send(postbody);
} else if (window.XMLHttpRequest) {
var x = new XMLHttpRequest();
x.open(method, url, true);
x.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
x.onreadystatechange = function(){
try {
if (x.readyState != 4) return;
if (x.status != 200) throw(0);
completionFn(x.responseText);
} catch (e) { errorFn(); }
}
x.send(postbody);
} else {
errorFn();
}
} catch (e) { errorFn(); }
}
function _ipSendipb951623(href, title, from_greader)
{
if (cancelipb951623 || _ipDidSendipb951623) return;
_ipDidSendipb951623 = 1;
var tzd = '';
var d=document,
l=d.location,
e=window.getSelection,
k=d.getSelection,
x=d.selection,
s=String(e? e(): (k)? k(): (x?x.createRange().text: '')),
e=encodeURIComponent,
z=d.createElement('scr'+'ipt'),
p=(from_greader ? 'gr=1&' : '')+'a=&k=MxtGPCQwxkcH&u=' + e(href) + '&t=' + e(title) + '&s=' + e(s.length < 10240 ? s : '') + '&tzd=' + e(tzd);
var b = _greaderipb951623 ? '' : jbsipb951623(bodyipb951623);
if (b.length > 512000) b = '';
_corsipb951623(
'POST', 'http://www.instapaper.com/bookmarklet/post_v5',
"cors=&cu=171972&cp=q6C0QxQ3.YLIIZymVrenhA28EtbT748D&ch=8U9UqcnfTOiuJKD71EY1so7cPo&ce=1370201238&" +
p + "&b=" + e(b),
function() { _clipb951623_close(); },
function() {
var i=document.createElement('iframe');
i.setAttribute('name', 'ipb951623');
i.setAttribute('id', 'ipb951623');
i.setAttribute('allowtransparency', 'true');
i.setAttribute('style', 'border: 0; width: 1px; height: 1px; position: absolute; left: 0; top: 0;');
i.setAttribute('onload', 'frameDidLoadipb951623++; frameLoadedipb951623();');
document.body.appendChild(i);
p = e(p).replace(/'/g, '%27');
b = e(b).replace(/'/g, '%27');
window.frames['ipb951623'].document.write(
'<html><body style="background-color: transparent;">' +
'<form action="' + document.location.protocol + '//www.instapaper.com/bookmarklet/post_v5" method="post" id="f" accept-charset="utf-8">' +
'<input type="hidden" name="p" id="p" value=""/>' +
'<input type="hidden" name="b" id="b" value=""/>' +
'<input type="hidden" name="id" value="ipb951623"/>' +
'</form>' +
"<scr"+"ipt>var e=encodeURIComponent,w=window,d=document,f=d.getElementById('f');" +
"d.getElementById('b').value=decodeURIComponent('" + b + "');d.getElementById('p').value=decodeURIComponent('" + p + "');" +
"d.getElementById('f').submit();" +
"</scr"+"ipt></body></html>"
);
}
);
}
function updateOverlaySizeipb951623()
{
var o = document.getElementById('ovipb951623');
if (! o) return;
var pc = screen.width >= 1024, phone = screen.width <= 700, landscape = Math.abs(window.orientation) == 90;
var maxFontSize = pc ? 48 : 3600;
var maxFontRatio = phone ? (landscape ? 6 : 8) : (landscape ? 10 : 14);
o.style.fontSize = Math.min(maxFontSize, Math.floor(window.innerHeight / maxFontRatio)) + 'px';
o.style.paddingTop = Math.floor(window.innerHeight / 3) + 'px';
}
function updateOverlayTextipb951623(message, subtitle)
{
var om = document.getElementById('omipb951623');
var os = document.getElementById('osipb951623');
if (! om || ! os) return;
om.innerHTML = message;
if (subtitle != '-') os.innerHTML = subtitle.length ? subtitle : "\u00A0";
}
function overlayDoneipb951623(message, subtitle)
{
var o = document.getElementById('ovipb951623');
if (! o) return;
var d1 = document.getElementById('od1ipb951623');
var d2 = document.getElementById('od2ipb951623');
var d3 = document.getElementById('od3ipb951623');
var oc = document.getElementById('ocipb951623');
if (d1) d1.parentNode.removeChild(d1);
if (d2) d2.parentNode.removeChild(d2);
if (d3) d3.parentNode.removeChild(d3);
if (oc) oc.parentNode.removeChild(oc);
updateOverlayTextipb951623(message, subtitle);
setTimeout(removeOverlayipb951623, 750);
}
function removeOverlayipb951623()
{
var o = document.getElementById('ovipb951623');
if (o) {
setTimeout("document.getElementById('ovipb951623').style.opacity = 0.0;", 1);
setTimeout("document.getElementById('ovipb951623').parentNode.removeChild(document.getElementById('ovipb951623'));", 350);
}
}
var overlayAnimFrameipb951623 = 0;
function animateOverlayipb951623()
{
var d1 = document.getElementById('od1ipb951623');
var d2 = document.getElementById('od2ipb951623');
var d3 = document.getElementById('od3ipb951623');
if (! d1 || ! d2 || ! d3) return;
d1.style.color = '#555';
d2.style.color = '#555';
d3.style.color = '#555';
overlayAnimFrameipb951623 = (overlayAnimFrameipb951623 + 1) % 4;
if (overlayAnimFrameipb951623 == 1) d1.style.color = '#ccc';
else if (overlayAnimFrameipb951623 == 2) d2.style.color = '#ccc';
else if (overlayAnimFrameipb951623 == 3) d3.style.color = '#ccc';
setTimeout(animateOverlayipb951623, 250);
}
function _rlipb951623(){var title,d=document,l=d.location,href=l.href;
if (typeof iptstbt != 'undefined') { alert("The bookmarklet is correctly installed."); throw(0); }
/* Inspired by Pascal Laliberté's code */
if (/www\.google\.[^/]+\/reader/.test(d.location) && typeof(window.getPermalink) == 'function') {
_greaderipb951623 = true;
var l = getPermalink();
if (! l) { alert('Select an item to save before using the Read Later bookmark.'); throw(0); }
href = l.url;
title = l.title;
} else if (typeof NEWSBLUR != 'undefined') {
_greaderipb951623 = true;
if (
typeof NEWSBLUR.reader != 'undefined' &&
typeof NEWSBLUR.reader.active_story != 'undefined' &&
NEWSBLUR.reader.active_story
) {
href = NEWSBLUR.reader.active_story.story_permalink;
title = NEWSBLUR.reader.active_story.story_title;
} else {
alert('Select a story to save before using the Read Later bookmark.');
throw(0);
}
}
var o=document.createElement('div');
o.setAttribute('id', 'ovipb951623');
o.setAttribute('class', 'instapaper_ignore');
var textStyle =
"-webkit-text-size-adjust: none; " +
"font-family: Helvetica, Arial, sans-serif; font-weight: bold; " +
"line-height: 1.0; letter-spacing: normal; font-variant: normal; font-style: normal;"
;
o.setAttribute('style',
"position: fixed; z-index: 2147483647; left: 0; top: 0; width: 100%; height: 100%; font-size: 30px; " +
"opacity: 0; -webkit-transition: opacity 0.25s linear; text-align: center; " +
"padding: 200px 0 0 0; margin: 0; background-color: #000; color: #ccc; " +
textStyle
);
var o1 = document.createElement('span');
o1.setAttribute('id', 'omipb951623');
o1.setAttribute('style', textStyle);
o1.appendChild(document.createTextNode('Saving'));
o.appendChild(o1);
o1 = document.createElement('span');
o1.setAttribute('id', 'od1ipb951623');
o1.setAttribute('style', textStyle);
o1.appendChild(document.createTextNode('.'));
o.appendChild(o1);
o1 = document.createElement('span');
o1.setAttribute('id', 'od2ipb951623');
o1.setAttribute('style', textStyle);
o1.appendChild(document.createTextNode('.'));
o.appendChild(o1);
o1 = document.createElement('span');
o1.setAttribute('id', 'od3ipb951623');
o1.setAttribute('style', textStyle);
o1.appendChild(document.createTextNode('.'));
o.appendChild(o1);
o1 = document.createElement('div');
o1.setAttribute('id', 'osipb951623');
o1.setAttribute('style', textStyle + ' font-size: 0.5em; color: #aaa; margin-top: 0.5em;');
o1.appendChild(document.createTextNode("\u00A0"));
o.appendChild(o1);
o1 = document.createElement('div');
o1.setAttribute('id', 'ocipb951623');
o1.setAttribute('style', 'margin: 2em auto; width: 8em; font-size: 0.33em; padding: 0.5em 0.25em 0.25em 0.25em; color: #ccc; background-color: #111; background-image: -webkit-linear-gradient(#111, #000); border: 1px solid #aaa; border-radius: 1em; height: 1.2em;');
o1.setAttribute('onclick', 'cancelipb951623 = 1; _clipb951623_close(true); removeOverlayipb951623();');
o1.appendChild(document.createTextNode("Cancel"));
o.appendChild(o1);
document.body.appendChild(o);
setTimeout("document.getElementById('ovipb951623').style.opacity = 0.9;", 1);
updateOverlaySizeipb951623();
animateOverlayipb951623();
window.addEventListener("resize", updateOverlaySizeipb951623, false);
if ("onorientationchange" in window) window.addEventListener("orientationchange", updateOverlaySizeipb951623, false);
function ipMultiPageFetchCompletedipb951623()
{
if (cancelipb951623) return;
//console.log("[ipb951623] Got " + ipPageBodiesipb951623.length + " pages");
if (ipPageBodiesipb951623.length > 1) {
var jsonEsc = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
function jsonQuote(string) {
var subs = {
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
'\f': '\\f',
'\r': '\\r',
'"' : '\\"',
'\\': '\\\\'
};
jsonEsc.lastIndex = 0;
return jsonEsc.test(string) ?
'"' + string.replace(jsonEsc, function (a){
var c = subs[a];
return typeof c === 'string'
? c
: '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
}) + '"' :
'"' + string + '"'
;
}
bodyipb951623 = 'multipage:[';
for (var i = 0; i < ipPageBodiesipb951623.length; i++) {
bodyipb951623 +=
(i == 0 ? '' : ',') +
'[' + jsonQuote(ipPageURLsipb951623[i]) + ',' + jsonQuote('<div>' + ipPageBodiesipb951623[i] + '</div>') + ']'
;
}
bodyipb951623 += ']';
} else if (ipSinglePageCrawledipb951623) {
bodyipb951623 = 'singlepage:' + ipPageBodiesipb951623[0];
} else {
bodyipb951623 = ipPageBodiesipb951623[0];
}
//console.log('[ipb951623] Final body: ' + Math.floor(bodyipb951623.length / 1024) + ' KB');
_ipSendipb951623(document.location.href, btxTitleipb951623.length ? btxTitleipb951623 : document.title, false);
}
var ipPageBodiesipb951623 = [];
var ipPageURLsipb951623 = [];
var ipSinglePageCrawledipb951623 = 0;
function ipFetchNextPageipb951623(bodyNode, bodyURL)
{
if (cancelipb951623) return;
(function(DOMParser){"use strict";var DOMParser_proto=DOMParser.prototype,real_parseFromString=DOMParser_proto.parseFromString;try{if((new DOMParser).parseFromString("","text/html")){return;}}catch(ex){}DOMParser_proto.parseFromString=function(markup,type){if(/^\s*text\/html\s*(?:;|$)/i.test(type)){var doc=document.implementation.createHTMLDocument(""),doc_elt=doc.documentElement,first_elt;doc_elt.innerHTML=markup;first_elt=doc_elt.firstElementChild;if(doc_elt.childElementCount===1&&first_elt.localName.toLowerCase()==="html"){doc.replaceChild(first_elt,doc_elt);}return doc;}else{return real_parseFromString.apply(this,arguments);}};}(DOMParser));
var x, p, singlePageURL = (ipPageBodiesipb951623.length == 1 ? btx_singlePageURLipb951623(bodyNode) : 0), nextPageURL = (singlePageURL ? 0 : btx_nextPageURLipb951623(bodyNode, bodyURL));
if (ipPageBodiesipb951623.length < 30 &&
(singlePageURL || nextPageURL) &&
(x=window.XMLHttpRequest?new XMLHttpRequest():(window.ActiveXObject?new ActiveXObject('Microsoft.XMLHTTP'):0))
) {
try {
if (nextPageURL && ipPageURLsipb951623.indexOf(nextPageURL) != -1) throw(0);
//console.log('[ipb951623] crawling ' + (singlePageURL ? 'single-page' : 'next-page') + ' url: ' + (singlePageURL ? singlePageURL : nextPageURL));
updateOverlayTextipb951623('Saving', singlePageURL ? 'All pages\u2026' : (ipPageBodiesipb951623.length + 1) + ' page' + ((ipPageBodiesipb951623.length + 1) == 1 ? '' : 's'));
x.open('GET', singlePageURL ? singlePageURL : nextPageURL, true);
x.onreadystatechange = function(){
try {
if (x.readyState == 4) {
if (x.status == 200) {
var nextPageDoc = new DOMParser().parseFromString(x.responseText, 'text/html');
var nextPageBody = btx_bodyipb951623(nextPageDoc.body).innerHTML;
if (singlePageURL) ipSinglePageCrawledipb951623 = 1;
ipPageBodiesipb951623[singlePageURL ? 0 : ipPageBodiesipb951623.length] = nextPageBody;
ipPageURLsipb951623[singlePageURL ? 0 : ipPageURLsipb951623.length] = nextPageURL;
if (singlePageURL) throw(0); else ipFetchNextPageipb951623(nextPageDoc.body, nextPageURL);
} else throw(0);
}
} catch (e) { ipMultiPageFetchCompletedipb951623(); }
}
x.send();
} catch(e) {
ipMultiPageFetchCompletedipb951623();
}
} else {
ipMultiPageFetchCompletedipb951623();
}
}
if (_greaderipb951623) {
updateOverlayTextipb951623('Saving', title);
_ipSendipb951623(href, title, true);
} else {
ipPageBodiesipb951623[0] = btx_bodyipb951623(document.body).innerHTML;
ipPageURLsipb951623[0] = document.location.href;
ipFetchNextPageipb951623(document.body, document.location.href);
}
}_rlipb951623();void(0)
function frameLoadedipb951623(event)
{
if (frameDidLoadipb951623 == 2) _clipb951623_close();
}
function _clipb951623_close(cancel)
{
var f = document.getElementById('ipb951623');
if (f) {
f.style.display = 'none';
f.parentNode.removeChild(f);
}
if (! cancel) overlayDoneipb951623('Saved.', _greaderipb951623 ? '-' : btxTitleipb951623);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment