最近のGoogle周りGreacemonkey
Google Reader用スタイル
なんかStylishで変更掛けてもJavaScriptで上書きされるのでこうするしかないぽい…
適当に
- Google Reader Minimalistic for Greasemonkey
からスクリプトぱくってほとんどデフォルトの状態に修正(面倒なので名前とかもそのまま)。
あとはサイドバー狭くしたりとか。
// ==UserScript== // @author Scott Cowan // @name Google Reader Minimalistic // @namespace http://google.com/reader/userscript // @description Removes all the whitespace from Google Reader and just gives you the news // @include http://www.google.tld/reader/* // @include https://www.google.tld/reader/* // @include http://reader.google.tld/reader/* // @include https://reader.google.tld/reader/* // ==/UserScript== // Google Reader Minimalistic // Scott Cowan http://userscripts.org/users/32932 (function() { //"logo-container","global-info","gbar","viewer-header","chrome-header","search", var ids = ["viewer-footer"]; function toggle_gr () { var length = ids.length; var is_visible = document.getElementById(ids[0]).style.display != "none"; for (var i=0; i<length; i++){ if(document.getElementById(ids[i]) != null) document.getElementById(ids[i]).style.display = is_visible?"none":"block"; } GM_addStyle(".gbh { display:none !important; }"); //Hide dividing line GM_addStyle("#entries .entry {padding-top: 2px}"); GM_addStyle(".card-common {margin: 0 2px}"); GM_addStyle(".entry .entry-source-title {font-size:110%;}"); GM_addStyle(".entry .entry-title {font-size:120%;}"); GM_addStyle(".card .card-content {padding: 2px 1px 2px 2px;}"); GM_addStyle("#current-entry .card .card-content {padding: 2px 1px 2px 2px;}"); GM_addStyle(".entry .entry-container {padding-bottom: 0;}"); GM_addStyle(".entry .entry-body {padding-top: 0;}"); GM_addStyle(".entry .entry-actions {padding: 2px;}"); GM_addStyle('#sub-tree { width: 195px ! important; }'); GM_addStyle('#nav { width: 200px ! important; }'); GM_addStyle('#chrome { margin-left: 222px ! important; } '); GM_addStyle('#search { left: 222px ! important; } '); GM_addStyle('#chrome-header { padding:0px 0px; } '); GM_addStyle('#viewer-top-controls { padding:0px 0px; } '); if(is_visible){ var logo = document.getElementById('main'); logo.style.top = '65px'; var logo = document.getElementById('chrome'); logo.style.paddingTop = '0'; var logo = document.getElementById('nav'); logo.style.paddingTop = '0'; } else { var logo = document.getElementById('main'); logo.style.top = '65px'; var logo = document.getElementById('chrome'); logo.style.paddingTop = '0'; var logo = document.getElementById('nav'); logo.style.paddingTop = '0'; } } function GRT_key(event) { element = event.target; elementName = element.nodeName.toLowerCase(); if (elementName == "input") { typing = (element.type == "text" || element.type == "password"); } else { typing = (elementName == "textarea"); } if (typing) return true; if (String.fromCharCode(event.which)=="W" && !event.ctrlKey && !event.altKey && !event.metaKey) { toggle_gr(); try { event.preventDefault(); } catch (e) { } return false; } return true; } document.addEventListener("keydown", GRT_key, false); toggle_gr(); var accountname = document.getElementById('email-address'); document.title = document.title + " | " + accountname.innerHTML + " | "; })();
Google検索Greacemonkey
ElementをdeleteするとGoogle検索ツールの挙動がおかしくなるので修正。
フィルタリングされたものはタイトルだけ表示するようにした。
あとは色とか薄くできたらなぁ…
// ==UserScript== // @name Google検索フィルタリング // @namespace http://d.hatena.ne.jp/kennak/ // @include http://www.google.co.jp/search?* // ==/UserScript== (function(){ var menu = 0; //xpathで指定された箇所に属性としてstyleを追加 function addAttribute(xpath,style){ var node = document.evaluate(xpath,document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null ); var count = 0; if(node.snapshotLength){ //console.log(node.snapshotLength + 'find'); for (var i = 0; i < node.snapshotLength; i++) { //console.log(node.snapshotItem(i)); //node.snapshotItem(i).parentNode.removeChild(node.snapshotItem(i)); node.snapshotItem(i).setAttribute("style", style); } count++; }else{ //console.log('none:' + xpath); } return count; } //xpathで指定された箇所を削除 function deleteItem(xpath){ var node = document.evaluate(xpath,document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null ); var count = 0; if(node.snapshotLength){ for (var i = 0; i < node.snapshotLength; i++) { node.snapshotItem(i).parentNode.removeChild(node.snapshotItem(i)); } count++; }else{ //console.log('none:' + xpath); } return count; } //xpathで指定された箇所にtxtを追加 function addText(xpath,txt){ var node = document.evaluate(xpath,document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null ); var count = 0; if(node.snapshotLength){ if(menu == 0){ menu = node.snapshotItem(0).textContent } node.snapshotItem(0).textContent = menu + txt; }else{ //console.log('none:' + xpath); } //console.log('find:' + count + ':' +xpath); return count; } //指定された単語でフィルタ function searchBlockWord(word){ //var count = deleteItem('/html/body/div/div/div/ol/li/h3/a[contains(@href,"' + word + '")]/../..'); //var count = deleteItem('/html/body/div/div/div/ol/li/h3/a[contains(@href,"' + word + '")]/../../div[@class="s"]','color: #fff;'); // var count = addAttribute('/html/body/div/div/div/ol/li/h3/a[contains(@href,"' + word + '")]/../..//*','display: none;'); //詳細を隠す var count = addAttribute('/html/body/div/div/div/ol/li/h3/a[contains(@href,"' + word + '")]/../../div[@class="s" or @class="s hc"]','display: none;'); //GoogleFXの画像を隠す addAttribute('/html/body/div/div/div/ol/li/h3/a[contains(@href,"' + word + '")]/../../a[@class="tn"]','display: none;'); //liクラス縮小 addAttribute('/html/body/div/div/div/ol/li[h3/a[contains(@href,"' + word + '")]]','min-height: 10px;'); //タイトルを隠す //addAttribute('/html/body/div/div/div/ol/li/h3/a[contains(@href,"' + word + '")]','display: none;'); return count; } var f = function(doc){ //フィルタリングするサイト var BLOCK_WORD=[ '/t/', '2ch', '2nn', 'bookmark', 'buzzurl', '/clips/', 'clipp', 'mixi', 'oshiete', 'keyword', 'search', 'twitter', 'tag', 'wassr', 'b.hatena.ne.jp', 'clip.livedoor.com', 'clip.nifty.com', 'faq.tabitama.co.jp', 'faves.com', 'feed.designlinkdatabase.net', 'flog.jp', 'gaia.luna.tv', 'ikubon.com', 'i.pecipeci.net', 'laszlo.jp', 'kizasi.jp', 'mag2qa.com', 'mark.jolt.jp', 'okyuu.com', 'okwave.jp', 'pookmark.jp', 'questionbox.jp.msn.com', 'qa.moonstar.co.jp', 'renai.sunmarie.com', 's.phpspot.org', 'sqa.scienceportal.jp', 'swik.net', 'tbp.jp', 'tech.newzia.jp', 'wiki.livedoor.com', 'youtube.com', 'ziddy.japan.zdnet.com', '210.132.71.11' ]; //フィルタ実行 var count = 0; for(var i = 0;i < BLOCK_WORD.length;i++){ count += searchBlockWord(BLOCK_WORD[i]); } addText('//*[@id="ssb"]/p',' - ' + count + '件削除しました') } f(document); if (window.AutoPagerize) { boot(); } else { window.addEventListener('GM_AutoPagerizeLoaded',boot,false); } function boot(){ window.AutoPagerize.addFilter(function(docs){ docs.forEach(f); }); } })();