From 93e25520db6d3c4dc51d4ade037527ffc6c11cf3 Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Fri, 13 Jan 2012 10:46:56 -0800 Subject: [PATCH] Adding Tumblr to share menu. --- media/css/reader.css | 13 ++++++++++++ media/img/reader/tumblr.png | Bin 0 -> 1938 bytes media/js/newsblur/reader.js | 25 ++++++++++++++++++++++-- media/js/newsblur/reader_preferences.js | 4 ++++ 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 media/img/reader/tumblr.png diff --git a/media/css/reader.css b/media/css/reader.css index dbc76fb29..86a2b0e95 100644 --- a/media/css/reader.css +++ b/media/css/reader.css @@ -4349,6 +4349,9 @@ background: transparent; .NB-menu-manage .NB-menu-manage-story-thirdparty .NB-menu-manage-thirdparty-readitlater { background: transparent url('/media/embed/reader/readitlater.png') no-repeat 0 0; } +.NB-menu-manage .NB-menu-manage-story-thirdparty .NB-menu-manage-thirdparty-tumblr { + background: transparent url('/media/embed/reader/tumblr.png') no-repeat 0 0; +} .NB-menu-manage .NB-menu-manage-story-thirdparty .NB-menu-manage-thirdparty-pinboard { background: transparent url('/media/embed/reader/pinboard.png') no-repeat 0 0; } @@ -4389,6 +4392,13 @@ background: transparent; .NB-menu-manage .NB-menu-manage-story-thirdparty.NB-menu-manage-highlight-readitlater .NB-menu-manage-thirdparty-readitlater { opacity: 1; } +.NB-menu-manage .NB-menu-manage-story-thirdparty.NB-menu-manage-highlight-tumblr .NB-menu-manage-image, +.NB-menu-manage .NB-menu-manage-story-thirdparty.NB-menu-manage-highlight-tumblr .NB-menu-manage-thirdparty-icon { + opacity: .2; +} +.NB-menu-manage .NB-menu-manage-story-thirdparty.NB-menu-manage-highlight-tumblr .NB-menu-manage-thirdparty-tumblr { + opacity: 1; +} .NB-menu-manage .NB-menu-manage-story-thirdparty.NB-menu-manage-highlight-pinboard .NB-menu-manage-image, .NB-menu-manage .NB-menu-manage-story-thirdparty.NB-menu-manage-highlight-pinboard .NB-menu-manage-thirdparty-icon { opacity: .2; @@ -5630,6 +5640,9 @@ background: transparent; .NB-modal-preferences .NB-preference-story-share label[for=NB-preference-story-share-readitlater] { background: transparent url('/media/embed/reader/readitlater.png') no-repeat 0 0; } +.NB-modal-preferences .NB-preference-story-share label[for=NB-preference-story-share-tumblr] { + background: transparent url('/media/embed/reader/tumblr.png') no-repeat 0 0; +} .NB-modal-preferences .NB-preference-story-share label[for=NB-preference-story-share-pinboard] { background: transparent url('/media/embed/reader/pinboard.png') no-repeat 0 0; } diff --git a/media/img/reader/tumblr.png b/media/img/reader/tumblr.png new file mode 100644 index 0000000000000000000000000000000000000000..bce5f71a6be582dcae6ee4bc7499d22cec561215 GIT binary patch literal 1938 zcmZ8h2{aq%7ET%^B5L1;Az~{fv6qNgVvAa0soIH%NQtP#OSD?sm}lRWYNe*07Adto zYiX_RJY`<1Xyw(?64bMdt;`rR(dqQO^Zs-0|KI( zlbt936hASrAb(fc`JDg&fRrg%EFOo&!timl2ud^w0AK;rz2~AP@Y2UKq{^m+Y!q2S z7!z3-6Yj;p-f54z)IH|^(X>O=>GpkUV8w{~`i&-`x7jq*F!N_2%%KqUZ5r)bk?4pt z;oxBg++`o$%D!#vs^tah`qVRbxM8lfyck?{c*TE08Yw1y(aU{!;Am)3dTtvStb{#x z6zQ7%y{xmQqqW#XOTuRB&Kc#AXvPL@j&n?$tSE&_Y$?I|N=$~}3w~9Uz}F0^`Kip! zN&}ODF&Db;0|8+bvKft-vXGOjb~D1*#JWOwKxo(&b)nPRtei5xBl>1MMS4+7v#tn{ zjpo>UBA3GLTcG<}D)hANkfz#_)!Plr;dfXRNV5cyu4&dOL{ z(+|}qH*Ck$8znS*mp2%c@^w;0nV+_#hLZZ@Fz-gAXbMjRlv%->Sl`7LHQhCSVr=BM z^I;udDzIiSytjYBVYjb^uYx4Kzl05`ndPgUR>5vLebV*n{w{tZa@*rhs#|Y zyRSAl#PqNNIoYP>DTSY%FSLacDu_e%2QIP-aOZ!#qAgF zSavUAc4>>BAk>Z#>rjnX=m5B2}T76i=wBj#)V0wRBsN$`Jv39A_;x zI|Y;e<(}#>9dF7j@G3is7x~GsWJBX`lD^RHhg-o1I?)jKbh&}DC$FE6&o)SmCSTFT zaM)gBBmdQS7Eh*QfOklV9QRNd+`>cfO|&@u=QxP24hYt;t+YdsT%-S?WWmgIA__AT@3r4(A4 z`6}X>+&~8D4%b>VNPHz!S z7WwO-cCV=*9wmfszM~Vns`%UB8shv#!C-}_FX;%mDx>&C;ikl3-8C7m3Yy)KTxh{1 zHds;#-Psr)4wr!lPzLshaVGEnR6qG{c`-?ZRedB_rv{lC_#woQ|6qh;o&4wkfQZzI z0Ra_vj?I`wo? zSL$U>bF!yqOfy}>3~>>>v7Oml0w9c2aNL~bGW*(w$-Ych&C!cGtxRv;WBnTIP5It{ zPasgoBlKM3C7<@b#BRM$DwRRwau?`@Z^YZC^nZB{Ozju1!RM*oaob7V-)qT%=8t#z zSNU;-1agehf!v>0stergtdmyP?+U=JjW4G(+iI)0P5%H@5j4Jc|0!=%6A_}ju=HNk zh3D{c^=iS;fb%Jnl2Q2)$lbogIW4pV{#I{ z-Bc|bo8L%tWc76C)%{46&r)CLehrZk0fQCABR{6UO@ueU*JhQ}mb}+3$4Why)-5-b zZL@Ru&Zp%RT>Sd!6zyp7!Xcso*v7*C370)G-5~g}5+QR&lstUh$bJO~8m!VVZXdna zW>J~Ecs#~o^|mFimAQQgr~y(6#7a16Vd#;kpvx&Uq0@RZX}Oh_=xfKPI8jk%^m`eD z>Bc%s-`Y{+q%UpevYSVCyUw8s$34g(jzd@nGfA~U@%jDYTGQyZhgWiPNnoX`gHfdE zcGc45?}JG`w15eA+rpbYW{bz+m27}}b>?e7Yyt51%BGpna_DYQ&+%;Iao~Z-uTvHM TQRm6=Cw~FX-p#JjHZ=7Q$V*aG literal 0 HcmV?d00001 diff --git a/media/js/newsblur/reader.js b/media/js/newsblur/reader.js index 8aa84849d..d6ca2ad8c 100644 --- a/media/js/newsblur/reader.js +++ b/media/js/newsblur/reader.js @@ -1714,6 +1714,7 @@ $('.task_view_page', this.$s.$taskbar).removeClass('NB-disabled'); $('.task_view_page', this.$s.$taskbar).removeClass('NB-task-return'); this.hide_content_pane_feed_counter(); + // $('.feed_counts_floater').remove(); if (this.flags['showing_feed_in_tryfeed_view']) { this.hide_tryfeed_view(); @@ -2727,6 +2728,20 @@ this.mark_story_as_read(story_id); }, + send_story_to_tumblr: function(story_id) { + var story = this.model.get_story(story_id); + var url = 'http://www.tumblr.com/share'; + var tumblr_url = [ + url, + '?v=3&u=', + encodeURIComponent(story.story_permalink), + '&t=', + encodeURIComponent(story.story_title) + ].join(''); + window.open(tumblr_url, '_blank'); + this.mark_story_as_read(story_id); + }, + send_story_to_readability: function(story_id) { var story = this.model.get_story(story_id); var url = 'https://readability.com/save'; @@ -4345,6 +4360,11 @@ }, this)).bind('mouseleave', _.bind(function(e) { $(e.target).siblings('.NB-menu-manage-title').text('Email story').parent().removeClass('NB-menu-manage-highlight-readitlater'); }, this))), + (NEWSBLUR.Preferences['story_share_tumblr'] && $.make('div', { className: 'NB-menu-manage-thirdparty-icon NB-menu-manage-thirdparty-tumblr'}).bind('mouseenter', _.bind(function(e) { + $(e.target).siblings('.NB-menu-manage-title').text('Tumblr').parent().addClass('NB-menu-manage-highlight-tumblr'); + }, this)).bind('mouseleave', _.bind(function(e) { + $(e.target).siblings('.NB-menu-manage-title').text('Email story').parent().removeClass('NB-menu-manage-highlight-tumblr'); + }, this))), (NEWSBLUR.Preferences['story_share_pinboard'] && $.make('div', { className: 'NB-menu-manage-thirdparty-icon NB-menu-manage-thirdparty-pinboard'}).bind('mouseenter', _.bind(function(e) { $(e.target).siblings('.NB-menu-manage-title').text('Pinboard').parent().addClass('NB-menu-manage-highlight-pinboard'); }, this)).bind('mouseleave', _.bind(function(e) { @@ -4377,6 +4397,8 @@ this.send_story_to_twitter(story.id); } else if ($target.hasClass('NB-menu-manage-thirdparty-readitlater')) { this.send_story_to_readitlater(story.id); + } else if ($target.hasClass('NB-menu-manage-thirdparty-tumblr')) { + this.send_story_to_tumblr(story.id); } else if ($target.hasClass('NB-menu-manage-thirdparty-readability')) { this.send_story_to_readability(story.id); } else if ($target.hasClass('NB-menu-manage-thirdparty-pinboard')) { @@ -5139,10 +5161,9 @@ this.socket = this.socket || io.connect('http://' + window.location.hostname + ':8888'); // this.socket.refresh_feeds = _.debounce(_.bind(this.force_feeds_refresh, this), 1000*10); - console.log(["Connecting to pubsub", this.socket]); this.socket.on('connect', _.bind(function() { var active_feeds = _.compact(_.map(this.model.feeds, function(feed) { return feed.active && feed.id; })); - console.log(["Connecting to pubsub", this.socket, active_feeds.length]); + console.log(["Connected to pubsub", this.socket, active_feeds.length]); this.socket.emit('subscribe:feeds', active_feeds); this.socket.on('feed:update', _.bind(function(feed_id, message) { console.log(['Feed update', feed_id, message]); diff --git a/media/js/newsblur/reader_preferences.js b/media/js/newsblur/reader_preferences.js index 04ae5728b..d24328ec8 100644 --- a/media/js/newsblur/reader_preferences.js +++ b/media/js/newsblur/reader_preferences.js @@ -424,6 +424,10 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, { $.make('div', { className: 'NB-preference-option', title: 'Read It Later' }, [ $.make('input', { type: 'checkbox', id: 'NB-preference-story-share-readitlater', name: 'story_share_readitlater' }), $.make('label', { 'for': 'NB-preference-story-share-readitlater' }) + ]), + $.make('div', { className: 'NB-preference-option', title: 'Tumblr' }, [ + $.make('input', { type: 'checkbox', id: 'NB-preference-story-share-tumblr', name: 'story_share_tumblr' }), + $.make('label', { 'for': 'NB-preference-story-share-tumblr' }) ]) ]), $.make('div', { className: 'NB-preference-label'}, [