Greasy Fork is available in English.

SO-ify

Style SE sites like SO

Per 13-03-2018. Zie de nieuwste versie.

// ==UserScript==
// @name         SO-ify
// @namespace    http://tampermonkey.net/
// @version      2.3.4
// @description  Style SE sites like SO
// @author       amflare
// @include      https://*stackexchange.com
// @include      https://*stackexchange.com/*
// @exclude      https://chat.stackexchange.com/*
// @exclude      https://area51.stackexchange.com/*
// @exclude      https://data.stackexchange.com/*
// @exclude      https://stackexchange.com/
// @exclude      https://stackexchange.com/leagues/*
// @exclude      https://stackexchange.com/questions?tab=*
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function() {
  'use strict';
  var primaryCss = 'https://cdn.sstatic.net/Sites/stackoverflow/primary.css';
  var secondaryCss = 'https://cdn.sstatic.net/Sites/stackoverflow/secondary.css';
  var head = document.head || document.getElementsByTagName('head')[0];
  var regex = /\/(?!Shared)Sites\/(?!stackoverflow).*\.css/;

 // Alter various link tags
  var checkStyles = setInterval(function() {
    let sheets = document.getElementsByTagName("link");
    for (var i = 0; i <= sheets.length - 1; i++) {
      switch (true) {
        case (sheets[i].rel == 'shortcut icon'):
          sheets[i].href = 'https://cdn.sstatic.net/Sites/stackoverflow/img/favicon.ico';
        break;
        case (sheets[i].rel === 'stylesheet' && regex.test(sheets[i].href)):
          sheets[i].remove();
          clearInterval(checkStyles);
        break;
      }
    }
  }, 100);

  // Add SO Style Sheet
  let primary = document.createElement('link');
  primary.rel = 'stylesheet';
  primary.href = primaryCss;
  head.appendChild(primary);

  // Add secondary stylesheet
  let secondary = document.createElement('link');
  secondary.rel = 'stylesheet';
  secondary.href = secondaryCss;
  document.head.appendChild(secondary);

  // Remove Site Logo From Top Bar
  var checkLogo= setInterval(function() {
    let logo = document.querySelector('.-logo svg');
    if (logo !== null) {
      logo.remove();
      clearInterval(checkLogo);
    }
  }, 100);

  // Change Site Name in Browser Tab
  if (window.location.pathname == '/') {
    document.getElementsByTagName('title')[0].innerText = 'Stack Overflow - Where Developers Learn, Share, & Build Careers';
  } else {
    var title = document.getElementsByTagName('title')[0].innerText.split(" - ");
    if (title.length > 2) {
      document.getElementsByTagName('title')[0].innerText = title[0] +' - '+ title[1] +' - Stack Overflow';
    } else {
      document.getElementsByTagName('title')[0].innerText = title[0] + ' - Stack Overflow';
    }
  }

  // Change Site Name In Search Placeholder
  var checkSearch= setInterval(function() {
    let search = document.querySelector('input[name="q"]');
    if (search !== null) {
      search.placeholder = 'Search on Stack Overflow...';
      clearInterval(checkSearch);
    }
  }, 100);

  // Fix font issue
  var addCss = setInterval(function() {
    let body = document.getElementsByTagName("body")[0];
    if (typeof body != "undefined") {
      body.style.fontFamily = 'Arial,"Helvetica Neue",Helvetica,sans-serif';
      body.style.fontSize = '13px';
      body.style.lineHeight = '1.26666667';
      body.style.color = '#242729';
      clearInterval(addCss);
    }
  }, 100);

  // Re-add css files to cache bust
  setTimeout(function(){
    let reLink = document.createElement('link');
    reLink.rel = 'stylesheet';
    reLink.href = primaryCss;
    head.appendChild(reLink);
    reLink = document.createElement('link');
    reLink.rel = 'stylesheet';
    reLink.href = secondaryCss;
    document.head.appendChild(reLink);
    // remove originals because we can
    primary.remove();
    secondary.remove();
  }, 20);
})();