CSDN净化

filter/format csdn css

اعتبارا من 22-04-2023. شاهد أحدث إصدار.

// ==UserScript==
// @name         CSDN净化
// @namespace    http://tampermonkey.net/
// @version      0.2.0
// @description  filter/format csdn css
// @author       细粒丁
// @match        *://*.csdn.net/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// @license MI
// ==/UserScript==



(function () {
    'use strict';

    const config = {
        blog_container_aside: false,        // 左边侧边栏
        rightAside: false,                  // 右边侧边栏
        recommendFilter: true,              // 过滤末尾推荐文章中的资源下载
    }

    const ID_list = {
        asideProfile: true,         // 用户信息简介
        asideSearchArticle: true,   // 搜索博主文章
        asideHotArticle: true,      // 热门文章
        asideCategory: true,        // 分类专栏(左边)
        asideNewComments: true,     // 最新评论
        asideNewNps: true,          // 推荐意愿
        asideArchive: true,         // 最新文章
        groupfile: true,            // 目录
        recommendNps: true,         // 相关推荐调查
    }
    const class_list = {
        programmer1Box: true,       // 右边广告
        "aside-box kind_person d-flex flex-column": true,   // 分类专栏(右边)
        "blog-footer-bottom": true, // 底部声明
        "recommend-box": false      // 文章末尾的推荐文章
    }

    // 背景调成深色,看起来更舒适
    // $("body").css("background-color", "dimgray");
    /*
        // 直接删除顶部谷歌广告
        const topBar = document.getElementsByClassName("toolbar-advert")[0]
        console.log(topBar)
        if (topBar != null) {
            topBar.remove();
        }
    */
    console.log("???")
    var adBar = setInterval(removeAdBar, 1000);
    var time = 0
    function removeAdBar() {

        var adBar = document.getElementsByClassName("toolbar-advert")[0];
        if (adBar != null) {
            adBar.remove();
            clearInterval(adBar);
        }
        if (time == 10) {
            clearInterval(adBar);
        }
        time++;

    }

    if (config.blog_container_aside) {
        document.querySelector(".blog_container_aside").remove()
        document.querySelector("main").style.width = "100%"
    }
    if (config.rightAside) {
        document.querySelector("#rightAside").remove()
    }

    for (const key in ID_list) {
        if (ID_list[key]) {
            const element = document.getElementById(key)
            if (element != null) {
                element.remove()
            }
        }
    }

    for (const key in class_list) {
        if (class_list[key]) {
            const elementArr = document.getElementsByClassName(key)
            for (let i = 0; i < elementArr.length; i++) {
                const element = elementArr[i];
                if (element != null) {
                    element.remove()
                }
            }
        }
    }

    if(config.recommendFilter & !class_list["recommend-box"]){
        const linklist = document.querySelectorAll(".recommend-item-box")
        for (let i = 0; i < linklist.length; i++) {
            const element = linklist[i];
            const url = element.getAttribute("data-url")
            url && url.includes("download.csdn.net") && element.remove()
        }
    }

    window.onload = function () {

    }

})();