Google News Filter

Removes blacklisted articles and news sources from Google News.

当前为 2016-09-07 提交的版本,查看 最新版本

// ==UserScript==
// @name        Google News Filter
// @namespace   http://www.google-news-filter.com
// @description Removes blacklisted articles and news sources from Google News.
// @include     *//news.google.com/*
// @grant       none
// @version     1.0.5
// @require       http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js
// ==/UserScript==

$(function() {
// ADD NEW BLACKLIST TERMS HERE (CASE-INSENSITIVE, QUOTED, WITH COMMAS AFTER)
// (Note: "dumb" or straight quotes should be escaped with a backslash: \' or \";
// "smart" or curly quotes quotes can be typed normally: “‘ ’”)

var $blacklist = [
  'kardashian',
  'miley cyrus',
];
// end blacklist

// **************** //
// DON'T CHANGE ANYTHING BELOW THIS LINE!
// convert blacklist items to lowercase:
$blacklist = $.map( $blacklist, function(n,i) { return n.toLowerCase(); });

// declare variables
var $count = 0;
var $matched = '';
var $story = '';
// add statistics div:
$('#main-wrapper').prepend('<div style="position:fixed;top:0;right:0;padding:2px 6px 0 0;z-index:1000;cursor:pointer;" id="statistics"></div>');

// search for and remove blacklisted stories:
$('.titletext,.source-pref,.esc-lead-snippet-wrapper').each(function() {
  var $titletext = $(this).text().toLowerCase();
  for (var i=0; i < $blacklist.length; i++) {
    if ( $titletext.indexOf( $blacklist[i] ) > -1 ) {
      $(this).parents('.blended-wrapper,.small-story').remove();
      $count = $count + 1;
      $matched += $blacklist[i] +'<br>';
      break
    }
    $count == 1 ? $story = " story" : $story = " stories" ;
  }

// update statistics and add matched terms:
$('#statistics').text($count + $story +' removed').append('<p id="matched" style="display:none;background:white;margin:0;padding:0.5em;-moz-columns:2;columns:2;"><b>Matched terms:</b><br>'+$matched+'</p>');
});

// todo: if .al-attribution-source, remove .esc-extension-wrapper and append to story container
$('.al-attribution-source').each(function() {
  var $sourcetext = $(this).text().toLowerCase();
  var $parentContainer = $(this).parents('.esc-wrapper');
  var $related = $(this).parents('.esc-lead-article-source-wrapper')
                            .siblings('.esc-extension-wrapper');
  for (var i=0; i < $blacklist.length; i++) {
    if ( $sourcetext.indexOf( $blacklist[i] ) > -1 ) {
      $related.css('display','block').remove();
      $parentContainer.find('.esc-body').empty().append($related).prepend('<div  class="esc-lead-article-title-wrapper"><h2><span class="titletext">[ removed story source: '+$sourcetext+' ]</span></h2></div>');
      break
    }
//    if ( $count == 1 ) { $story = " story" } else { $story = " stories" } ;
  }
});

$('.esc-secondary-article-source').each(function() {
  var $sourcetext = $(this).text().toLowerCase();
  var $parentContainer = $(this).parents('.esc-secondary-article-wrapper');
  for (var i=0; i < $blacklist.length; i++) {
    if ( $sourcetext.indexOf( $blacklist[i] ) > -1 ) {
      $parentContainer.remove();
      break
    }
//    if ( $count == 1 ) { $story = " story" } else { $story = " stories" } ;
  }
});

// show/hide matched terms by clicking count div:
$('#statistics').on('click',function() {
	$('#matched').toggle(500,function(){
    $(this).toggleClass('visible');
  });
});
$('body').on('click',function() {
  if ( $('#matched').not(':animated').hasClass('visible') ) {
	  $('#matched').removeClass('visible').hide(500);
  };
});

});

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址