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 000000000..bce5f71a6 Binary files /dev/null and b/media/img/reader/tumblr.png differ 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'}, [