Нормальные короткие посты

Удаляет фон у коротких постов.

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Нормальные короткие посты
// @namespace    PikabuNormal
// @version      0.1.3
// @description  Удаляет фон у коротких постов.
// @author       Gleb Liutsko
// @match        https://pikabu.ru/*
// @grant        none
// @license      MIT
// @icon         https://cs.pikabu.ru/assets/favicon.ico
// ==/UserScript==

(function() {
    'use strict';

    const classFeedPost = 'stories-feed__container'

    const classNormalStory = 'story story_tags-at-top'

    const classShortPost = 'story story_short'
    const classBackgroundShortPost = 'icon icon--ui__bg-story-short'

    function normalizePost(post) {
        console.log('Normalize post: ' + post.getElementsByClassName('story__title-link')[0].text)

        post.className = classNormalStory
        post.getElementsByClassName(classBackgroundShortPost)[0].remove()
    }

    function normalizeAllPostInFeed() {
        console.log('Normalize feed')

        let feed = document.getElementsByClassName(classFeedPost)[0]
        let shortPosts = Array.from(feed.getElementsByClassName(classShortPost))

        shortPosts.forEach(normalizePost)
    }


    if (location.href.match(/story/)) {
        let post = document.getElementsByTagName('article')[0]
        normalizePost(post)
    }
    else {
        document.getElementsByClassName(classFeedPost)[0].addEventListener('DOMNodeInserted', normalizeAllPostInFeed)
        normalizeAllPostInFeed()
    }
})();