您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Paint editors posts in yellow, futile posts in pink, add "PAID" stamp to companies posts on habrahabr.ru/geektimes.ru
- // ==UserScript==
- // @name PaintMyHabr
- // @description Paint editors posts in yellow, futile posts in pink, add "PAID" stamp to companies posts on habrahabr.ru/geektimes.ru
- // @namespace riot26.ru
- // @author riot26
- // @license WTFPL (http://www.wtfpl.net/txt/copying)
- // @include http://geektimes.ru/*
- // @include https://geektimes.ru/*
- // @include http://habrahabr.ru/*
- // @include https://habrahabr.ru/*
- // @exclude http://geektimes.ru/post/*
- // @exclude https://geektimes.ru/post/*
- // @exclude http://habrahabr.ru/post/*
- // @exclude https://habrahabr.ru/post/*
- // @version 2.01
- // @grant none
- // ==/UserScript==
- var css = document.createElement('style');
- css.type = 'text/css';
- css.media = 'screen';
- css.innerHTML = '.post {padding:10px !important; position:relative !important;}'
- +'.yellow {background-color:#FFFFE5 !important;}'
- +'.pink {background-color:#FFF3F9 !important; background-image:url(https://i.imgur.com/74u5ZhC.jpg);}'
- +'.paid_stamp {position:absolute; width:130px; height:75px; background:url(https://i.imgur.com/xcyAC4P.png); top:2px; right:2px;}'
- +'.buttons {padding:20px 0 20px 0 !important;}'
- +'.fonts-loaded .post__flow, .fonts-loaded .post_title, .fonts-loaded .post__title, .fonts-loaded .post__title_link { font-family:\'Fira Sans\',\'Helvetica Neue\',Helvetica,sans-serif !important; }'
- +'.post__flow, .post__title, .post__title_link {font-size:22px !important; font-family:Arial,\'Helvetica Neue\',Helvetica,sans-serif !important; }';
- document.getElementsByTagName('head')[0].appendChild(css);
- var posts = document.getElementsByClassName('post');
- for (var i = 0; i < posts.length; i++) {
- if (isEditors(posts[i])) {
- posts[i].className += posts[i].className ? ' yellow' : 'yellow';
- }
- if (isPaid(posts[i])) {
- addPaidStamp(posts[i]);
- }
- if (isFutile(posts[i])) {
- posts[i].className += posts[i].className ? ' pink' : 'pink';
- }
- }
- function isEditors(post) {
- var editors = ['SLY_G', 'alizar', 'marks', 'ivansychev', 'ragequit'];
- if (post.querySelector(".post-author__link")) {
- return containsAny(post.querySelector(".post-author__link").getAttribute('href'), editors);
- }
- return false;
- }
- function isFutile(post) {
- var futile_flows = ['design', 'marketing', 'management', 'misc'];
- if (post.querySelector(".post__flow")) {
- return containsAny(post.querySelector(".post__flow").getAttribute('href'), futile_flows);
- }
- return false;
- }
- function isPaid(post) {
- if (post.querySelector(".hubs")) {
- return post.querySelector(".hubs").outerHTML.indexOf('Блог компании') != -1;
- } else {
- return post.querySelector(".megapost-cover__inner");
- }
- }
- function addPaidStamp(post) {
- var paid_stamp_el = document.createElement('div');
- paid_stamp_el.className = 'paid_stamp';
- post.appendChild(paid_stamp_el);
- }
- function containsAny(str, substrings) {
- for (var i = 0; i != substrings.length; i++) {
- var substring = substrings[i];
- if (str.indexOf(substring) != -1) {
- return true;
- }
- }
- return false;
- }