Greasy Fork 支持简体中文。

Снежный Новогодний Пикабу

Новогодние оформление сайта Пикабу

// ==UserScript==
// @name         Снежный Новогодний Пикабу
// @namespace    https://pikabu.ru/
// @version      0.1
// @description  Новогодние оформление сайта Пикабу
// @author       @SpaceRook
// @include      http://pikabu.ru/*
// @include      https://pikabu.ru/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=pikabu.ru
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
  setTimeout(() => {
  const str1 =
  `
<div class="snow"></div>
  `
  const str =
  `
<style>
html {
  background-size: 100%;
  height: 100%;
  background: #123 ;
}
.snow, .snow:before, .snow:after {
  position:fixed;
  top:0;
  width:100%;
  z-index: -1;
  top: -600px;
  left: 0;
  bottom: 0;
  right: 0;
  background-image: radial-gradient(4px 4px at 78px 587px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 153px 46px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 504px 39px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 463px 596px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 185px 359px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 352px 248px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 273px 573px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 421px 286px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 368px 497px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 556px 373px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 414px 517px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 236px 477px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 94px 102px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 35px 341px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 566px 37px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 411px 557px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 125px 136px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 493px 529px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 595px 56px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 543px 92px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 299px 466px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 513px 293px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 535px 126px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 7px 240px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 259px 381px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 333px 570px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 524px 367px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 57px 419px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 66px 541px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 294px 47px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 50px 14px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 302px 164px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 450px 7px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 133px 252px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 430px 327px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 167px 244px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 190px 393px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 518px 521px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 33px 154px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 375px 403px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 237px 337px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 572px 289px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 367px 467px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 42px 453px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 440px 108px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 472px 542px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 379px 18px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 283px 425px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 212px 39px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 143px 164px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 268px 417px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 558px 535px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 142px 426px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 451px 427px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 440px 258px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 181px 193px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 315px 154px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 357px 408px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 495px 215px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 455px 130px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 478px 376px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 180px 543px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 119px 334px, rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 0)), radial-gradient(5px 5px at 377px 323px, white 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 538px 65px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 336px 122px, rgba(255, 255, 255, 0.7) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 403px 38px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(6px 6px at 284px 235px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0)), radial-gradient(4px 4px at 246px 126px, rgba(255, 255, 255, 0.6) 50%, rgba(0, 0, 0, 0)), radial-gradient(3px 3px at 271px 573px, rgba(255, 255, 255, 0.8) 50%, rgba(0, 0, 0, 0));
  background-size: 600px 600px;
  animation: snow 3s linear infinite;
  content: "";
}

.snow:after {
  margin-left: -200px;
  opacity: 0.4;
  animation-duration: 6s;
  animation-direction: reverse;
  filter: blur(3px);
}

.snow:before {
  animation-duration: 9s;
  animation-direction: reverse;
  margin-left: -300px;
  opacity: 0.65;
  filter: blur(1.5px);
}

@keyframes snow {
  to {
    transform: translateY(600px);
  }
}
</style>
<style>
    .story__left_no-padding > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) {color: #fff;}
    .story__rating-plus, .story__rating-down {border: 0px;}
    .story__rating-plus, .story__rating-down, .comment__content, .app__inner, .story__header, .comment__header {filter:drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.7));}
    .comment__content{background: #9191910f;padding:9px;margin-top:4px;margin-bottom:4px;border-radius:4px;}
    .comment__body{padding:9px;margin-top:4px;margin-bottom:4px;border-radius:4px;}
    .app__inner {width: 2%;}
    * {
    background-repeat: inherit;}
    html[data-theme-dark] {
  --color-black-300: #131a2152;
}
</style>
  `;

  // Create an element outside the document to parse the string with
  const head = document.createElement("head");
  const body = document.createElement("body");
  // Parse the string
  head.innerHTML = str;
  body.innerHTML = str1;
  // Copy those nodes to the real `head`, duplicating script elements so
  // they get processed
  let node = head.firstChild;
  let node1 = body.firstChild;

  while (node) {
    const next = node.nextSibling;
    if (node.tagName === "SCRIPT") {
      // Just appending this element wouldn't run it, we have to make a fresh copy
      const newNode = document.createElement("script");
      if (node.src) {
        newNode.src = node.src;
      }
      while (node.firstChild) {
        // Note we have to clone these nodes
        newNode.appendChild(node.firstChild.cloneNode(true));
        node.removeChild(node.firstChild);
      }
      node = newNode;
    }
    document.head.appendChild(node);
    node = next;
  }
 while (node1) {
    const next1 = node1.nextSibling;
    if (node1.tagName === "SCRIPT1") {
      // Just appending this element wouldn't run it, we have to make a fresh copy
      const newNode1 = document.createElement("script1");
      if (node1.src1) {
        newNode1.src1 = node1.src1;
      }
      while (node1.firstChild) {
        // Note we have to clone these nodes
        newNode1.appendChild(node1.firstChild.cloneNode(true));
        node1.removeChild(node1.firstChild);
      }
      node1 = newNode1;
    }
    document.body.appendChild(node1);
    node1 = next1;
  }
}, 0.00001);
})();