Add Seen button to hide seen wykops
当前为
// ==UserScript==
// @name WykopSeen
// @namespace http://www.wykop.pl/
// @version 0.1
// @description Add Seen button to hide seen wykops
// @author axem.pl
// @match http://www.wykop.pl/
// @match http://www.wykop.pl/wykopalisko/*
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_deleteValue
// ==/UserScript==
function eachLi() {
var self = $(this);
var parent = self.parent();
var btn = $("<button class='seen-btn'></button>");
var seenWykopClass = "seen";
var href = self.find("h2 a").attr("href");
function getSeenBtnText() {
if (self.hasClass(seenWykopClass)) {
return "UNSEE";
} else {
return "SEEN";
}
}
function btnOnClick() {
self.toggleClass(seenWykopClass);
btn.text(getSeenBtnText());
if (self.hasClass(seenWykopClass)) {
GM_setValue(href, 1);
parent.append(self);
} else {
GM_deleteValue(href);
parent.prepend(self);
}
}
if (GM_getValue(href)) {
self.addClass(seenWykopClass);
parent.append(self);
}
btn.text(getSeenBtnText()).on("click", btnOnClick);
self.children("div").append(btn);
}
function cssRules() {
var rules = [
"li.seen { background: lightgray }",
"li.seen * { color: gray !important }",
"li.seen .diggbox { display: none }",
"li.seen .media-content { display: none }",
"li.seen .fix-tagline { display: none }",
"li.seen .description { display: none }",
"li.seen .elements { display: none }",
"li.seen .article { min-height: 0 }",
".seen-btn { position: absolute; top: 5px; right: 5px; z-index: 9999 }"
];
return rules.join("\n");
}
$(document.body).append($("<style type='text/css'></style>").html(cssRules()));
$("#itemsStream li").each(eachLi);