// ==UserScript==
// @name CSDN-Optimize-Beautify-Simplify
// @name:zh CSDN-优化美化极简化-沉浸式阅读-免登录(不可用)复制-去广告等
// @name:en Streamline and Beautify CSDN Browsing Experience
// @name:ja CSDNブラウジング体験の合理化と美化 - 沈浸的読書、広告なしなど
// @name:fr Rationaliser et embellir l'expérience de navigation CSDN
// @name:es Simplificar y embellecer la experiencia de navegación de CSDN
// @name:de Optimieren und verschönern Sie das CSDN-Browsen
// @name:it Semplificare e abbellire l'esperienza di navigazione CSDN
// @namespace http://github.com/yuhanawa/UserScript
// @name:zh-CN CSDN-优化美化极简化-沉浸式阅读-免登录(不可用)复制-去广告等
// @name:zh-TW CSDN-優化美化極簡化-沉浸式閱讀-免登入複製-去廣告等
// @description 优化和美化CSDN浏览体验 - 沉浸式阅读、免登录(不可用)复制、去广告等
// @description:zh 优化和美化CSDN浏览体验 - 沉浸式阅读、免登录(不可用)复制、去广告等
// @description:en Streamline and Beautify CSDN Browsing Experience - Immersive Reading,Ad-free,etc.
// @description:ja CSDNブラウジング体験の合理化と美化 - 沈浸的読書、広告なしなど.
// @description:fr Script utilisateur: Rationaliser et embellir l'expérience de navigation CSDN - Lecture immersive, sans publicité, etc.
// @description:es Script de usuario: Simplificar y embellecer la experiencia de navegación de CSDN - Lectura inmersiva, sin anuncios, etc.
// @description:de Benutzer-Skript: Optimieren und verschönern Sie das CSDN-Browsen - immersives Lesen, werbefrei, etc.
// @description:it Script utente: Semplificare e abbellire l'esperienza di navigazione CSDN - Lettura immersiva, senza pubblicità, ecc.
// @description:zh-CN 优化和美化CSDN浏览体验 - 沉浸式阅读、免登录(不可用)复制、去广告等
// @description:zh-TW 優化和美化CSDN瀏覽體驗 - 沉浸式閱讀、免登录(不可用)复制、去廣告等
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_addStyle
// @grant GM_registerMenuCommand
// @match *://*.csdn.net/*
// @match *://yuhan-script-config.netlify.app/*
// @match *://user-script-config-form.vercel.app/*
// @match *://yuhanawa.github.io/tools/userscriptconfig/*
// @version 0.1.34
// @author Yuhanawa
// @supportURL https://gf.qytechs.cn/zh-CN/scripts/471071/feedback
// @license GPL-3.0
// @icon none
// @run-at document-start
// ==/UserScript==
/*
csdn v.0.1.34 by Yuhanawa
Source: https://github.com/Yuhanawa/UserScript
*/
isLoaded=!1,onload(()=>isLoaded=!0);const __props__=new Map;
function $get(k,d){return void 0===d?GM_getValue(k,__props__.get(k)):GM_getValue(k,d)}
function $set(k,v){return GM_setValue(k,v)}
function loadConfig(name,properties){GM_registerMenuCommand("打开设置中心(智能测试)",()=>{var sites;sites=["https://yuhanawa.github.io/tools/userscriptconfig/","https://user-script-config-form.vercel.app","https://yuhan-script-config.netlify.app"],new Promise((resolve,reject)=>{let fastestSite=null,fastestTime=1/0;sites.forEach(function(site){const xhr=new XMLHttpRequest,startTime=(new Date).getTime();xhr.onreadystatechange=()=>{var timeElapsed;xhr.readyState===XMLHttpRequest.DONE&&(timeElapsed=(new Date).getTime()-startTime,console.log(`Ping ${site} took ${timeElapsed}ms`),200===xhr.status&&timeElapsed<fastestTime&&(fastestTime=timeElapsed,fastestSite=site),resolve(fastestSite))},xhr.open("GET",site,!0),xhr.send()})}).then(fastestSite=>{fastestSite?void 0!==GM_openInTab?GM_openInTab(fastestSite,{active:!0}):window.location.href=fastestSite:console.log("No valid site found.")}).catch(error=>{console.error("Error:",error)}),void 0!==GM_openInTab?GM_openInTab("https://yuhanawa.github.io/tools/userscriptconfig/",{active:!0}):location.href="https://yuhanawa.github.io/tools/userscriptconfig/"}),GM_registerMenuCommand("打开设置中心(github|如果打不开点下面的)",()=>{void 0!==GM_openInTab?GM_openInTab("https://yuhanawa.github.io/tools/userscriptconfig/",{active:!0}):location.href="https://yuhanawa.github.io/tools/userscriptconfig/"}),GM_registerMenuCommand("打开设置中心(vercel|被墙)",()=>{void 0!==GM_openInTab?GM_openInTab("https://user-script-config-form.vercel.app",{active:!0}):location.href="https://user-script-config-form.vercel.app"}),GM_registerMenuCommand("打开设置中心(netlify)",()=>{void 0!==GM_openInTab?GM_openInTab("https://yuhan-script-config.netlify.app",{active:!0}):location.href="https://yuhan-script-config.netlify.app"}),Object.keys(properties).forEach(key=>__props__.set(name+"_"+key,properties[key].default)),(location.href.match("yuhan-script-config.netlify.app")||location.href.match("user-script-config-form.vercel.app")||location.href.match("yuhanawa.github.io/tools/userscriptconfig")||location.href.match("localhost"))&&(null==unsafeWindow.userscript&&(unsafeWindow.userscript={}),unsafeWindow.userscript[name]={props:properties,get:$get,set:$set})}
function style(css){var node;"undefined"!=typeof GM_addStyle?GM_addStyle(css):((node=document.createElement("style")).appendChild(document.createTextNode(css)),document.body.appendChild(node))}
function option(name,key,options,current,index,onclick){return null!=current&&null!=index||(current=$set(key,getOptionKeyAndName(options[0]).key),index=options.indexOf(options.filter(x=>getOptionKeyAndName(x).key==current)[0])),-1!==index&&null!=index||($set(key,getOptionKeyAndName(options[0]).key),current=getOptionKeyAndName(options[index=0]).key),name+=`:${getOptionKeyAndName(options[index]).name}[${index+1}/${options.length}]<点击切换模式`,GM_registerMenuCommand(name,()=>{if(index+1>=options.length?$set(key,getOptionKeyAndName(options[0]).key):$set(key,getOptionKeyAndName(options[index+1]).key),onclick)try{onclick()}catch{}location.reload()}),index}
function onload(f){isLoaded?f():document.addEventListener("DOMContentLoaded",()=>f())}
function timeoutOnLoad(f,t){onload(()=>setTimeout(()=>f(),t))}
function intervalOnLoad(f,timeout){onload(()=>setInterval(f,timeout))}
function delay(fn,time,interval){(interval?intervalOnLoad:timeoutOnLoad)(fn,time)}
function run(fts){void 0===fts&&(fts=features);for(const key of Object.keys(fts)){var feature=fts[key];0!=feature.match.filter(m=>"string"==typeof m?null!==window.location.href.match(m):m.test(window.location.href)).length&&addFeature(key,feature)}}
function addFeature(key,feature){var{name,values}=feature;if("$"===name)try{"function"==typeof values?"string"==typeof(result=values(feature))&&style(result):"string"==typeof values&&style(value)}catch(e){console.error(e)}else{var result=Object.keys(values),key0=getOptionKeyAndName(result[0]).key;let current=$get(key,key0),index=result.findIndex(x=>getOptionKeyAndName(x).key===current);-1!==index&&null!=index||($set(key,key0),index=0,current=key0),option(name,key,result,current,index);try{const value=values[result[index]];if(null!==value&&void 0!==value)if("function"==typeof value){const result=value(feature);"string"==typeof result&&style(result)}else"string"==typeof value&&style(value)}catch(e){console.error(e)}}}
function getOptionKeyAndName(optionStr){var key=optionStr.match(/\$([^ ]+)/)?.[0];return key?{key:key.replace("$",""),name:optionStr.replace(key,"")}:{key:optionStr,name:optionStr}}
loadConfig('csdn', {".line_ts":{"widget":"line","title":"如果发现某条设置存在问题请反馈: https://gf.qytechs.cn/zh-CN/scripts/471071/feedback/"},".line_bc":{"widget":"line","title":"❗❗❗修改完记得点保存(在最下面)❗❗❗"},"copy":{"title":"免登录(不可用)复制","default":"on","widget":"select","props":{"options":[{"label":"开启","value":"on"},{"label":"关闭","value":"off"}]}},"opt":{"title":"极简化|沉浸式阅读","default":"on","widget":"select","props":{"options":[{"label":"开启","value":"on"},{"label":"关闭","value":"off"}]}},"width":{"title":"调整文章宽度(前置功能:极简化)","default":"on","widget":"select","props":{"options":[{"label":"开启","value":"on"},{"label":"关闭","value":"off"}]}},"width_value":{"title":"文章宽度(前置功能:调整文章宽度)","default":"82","props":{"addonAfter":"%"},"description":"单位:%|百分比","hidden":"{{ formData.width === 'off' }}"},"header":{"title":"顶部菜单栏不跟随","default":"on","widget":"select","props":{"options":[{"label":"开启","value":"on"},{"label":"关闭","value":"off"}]}},"remove_header":{"title":"文章页移除顶部菜单栏","default":"on","widget":"select","props":{"options":[{"label":"开启","value":"on"},{"label":"关闭","value":"off"}]}},"toolbox":{"title":"低部菜单工具栏不跟随","default":"remove","widget":"select","props":{"options":[{"label":"移除","value":"remove"},{"label":"不跟随","value":"relative"},{"label":"关闭","value":"off"}]}},".line_fz":{"widget":"line","title":"调整字体大小"},"fontsize":{"title":"调整字体大小","default":"on","widget":"select","props":{"options":[{"label":"开启","value":"on"},{"label":"关闭","value":"off"}]}},"font_size_title":{"title":"标题","default":"32px","hidden":"{{ formData.fontsize === 'off' }}"},"font-size-p":{"title":"正文","default":"18px","hidden":"{{ formData.fontsize === 'off' }}"},"font-size-h2":{"title":"子标题","default":"24px","hidden":"{{ formData.fontsize === 'off' }}"},"font_size_code":{"title":"代码","default":"15px","hidden":"{{ formData.fontsize === 'off' }}"},".line_bg":{"widget":"line","title":"自定义背景"},"background":{"title":"自定义背景(总开关)","default":"off","widget":"select","props":{"options":[{"label":"开启","value":"on"},{"label":"关闭","value":"off"}]}},"background-value":{"title":"页面背景","description":"body的背景","default":"https://csdnimg.cn/release/blogv2/dist/pc/themesSkin/skin-code/images/bg.png?v20200831","hidden":"{{ formData.background === 'off' }}","widget":"imageInput","format":"image"},"blog-content-box-background-value":{"title":"文章背景","description":"用于放置文章的div颜色","default":"#f5f6f7E6","widget":"color"},"blog-content-box-opacity-value":{"title":"文章透明度","description":"文章整体透明度,包括文章内容","default":"0.98"},"header-box-background-value":{"title":"文章标题及部分卡片背景","description":"建议保持透明或使用高透明度颜色","default":"#00000000","widget":"color"},".line_ui":{"widget":"line","title":"自定义开关每一个UI的","description":"开启为显示该模块,关闭为隐藏该模块"},"ui_opt":{"title":"UI净化","default":"lite","widget":"select","props":{"options":[{"label":"极简化","value":"lite"},{"label":"常规","value":"normal"},{"label":"自定义","value":"custom"},{"label":"关闭","value":"off"}]}},"ui_opt_value":{"title":"UI净化","description":"需要UI净化为自定义模式","default":["#treeSkill","#blogVoteBox",".recommend-box",".first-recommend-box",".second-recommend-box",".insert-baidu-box.recommend-box-style","#recommendNps","#commentBox","#pcCommentBox","#toolBarBox",".blog-footer-bottom","#rightAside","#groupfile","#rightAside .kind_person",".sidetool-writeguide-box",".option-box[data-type=guide]",".option-box[data-type=cs]",".option-box[data-type=report]","#csdn-toolbar","#mainBox .blog_container_aside","#csdn-toolbar .toolbar-container-left","#csdn-toolbar .toolbar-container-right","#csdn-toolbar .toolbar-container-middle","#asideProfile","#footerRightAds","#asideWriteGuide","#asideSearchArticle","#asideHotArticle","#asideCategory","#asideNewComments","#asideNewNps","#asideArchive","#asidedirectory",".passport-container-mini-tip"],"widget":"CSDN_UI_editor","disabled":"{{ formData.ui_opt !== 'custom' }}"}})
let features_csdn_287998627={
csdn_ui_opt:{name:"净化",match:[/blog\.csdn\.net(\/.*)?\/article\/details./],values:{"极简化$lite":()=>{style(["#treeSkill","#blogVoteBox",".recommend-box",".first-recommend-box",".second-recommend-box",".insert-baidu-box.recommend-box-style","#recommendNps","#commentBox","#pcCommentBox","#toolBarBox",".blog-footer-bottom","#rightAside","#groupfile","#rightAside .kind_person",".sidetool-writeguide-box",".option-box[data-type=guide]",".option-box[data-type=cs]",".option-box[data-type=report]","#csdn-toolbar","#mainBox .blog_container_aside","#csdn-toolbar .toolbar-container-left","#csdn-toolbar .toolbar-container-right","#csdn-toolbar .toolbar-container-middle","#asideProfile","#footerRightAds","#asideWriteGuide","#asideSearchArticle","#asideHotArticle","#asideCategory","#asideNewComments","#asideNewNps","#asideArchive","#asidedirectory",".passport-container-mini-tip"].join(", ")+" { display: none !important; }")},"常规$normal":()=>{style(["#csdn-toolbar .toolbar-logo","#csdn-toolbar .toolbar-btn-mp","#csdn-toolbar .toolbar-btn-writet","#csdn-toolbar .toolbar-btn-msg","#csdn-toolbar .toolbar-btn-vip","#asideProfile .profile-intro-name-boxOpration","#asideProfile .aside-box-footer","#asideProfile .item-rank","#footerRightAds","#asideWriteGuide","#asideHotArticle","#asideCategory","#asideNewComments","#asideNewNps","#asideArchive","#asideSearchArticle","main .article-title-box .article-type-img","#treeSkill","#blogVoteBox",".insert-baidu-box.recommend-box-style","#recommendNps","#commentBox",".blog-footer-bottom","#rightAside .kind_person",".sidetool-writeguide-box",".option-box[data-type=guide]",".option-box[data-type=cs]",".option-box[data-type=report]",".passport-container-mini-tip"].join(", ")+" { display: none !important; }")},"自定义$custom":()=>{style($get("csdn_ui_opt_value")+" { display: none !important; }")},"已关闭$off":()=>{}}},
csdn_toolbox:{name:"底部不跟随或移除",match:[/blog\.csdn\.net(\/.*)?\/article\/details./],values:{"移除$remove":()=>`.left-toolbox{
display: none!important;
}`,"不跟随$relative":()=>`.left-toolbox{
z-index: 996!important;
left: 0px!important;
bottom: 0px!important;
width: 900px!important;
position: relative!important;
}`,"已关闭$off":null}},
csdn_setting_btn:{name:"设置按钮",match:[/blog\.csdn\.net(\/.*)?\/article\/details./],values:{"已开启$on":()=>{timeoutOnLoad(()=>{var articleTitleBox=document.getElementsByClassName("article-title-box")[0],settingButton=document.createElement("a");settingButton.innerText="脚本设置",settingButton.href="https://yuhanawa.github.io/tools/userscriptconfig/",settingButton.target="_blank",settingButton.style="float: right;margin: 12px;font-size: 20px;text-decoration: underline !important;color: #4ea1db;",articleTitleBox.insertAdjacentElement("afterbegin",settingButton)},200)},"已关闭$off":null}},
csdn_header:{name:"移除顶部或不跟随或淡化",match:[/blog\.csdn\.net(\/.*)?\/article\/details./],values:{"移除$remove":"#csdn-toolbar{ display: none!important; }","淡化不跟随$opacity":"#csdn-toolbar{position: static !important; opacity: 0.55;}","不跟随$static":"#csdn-toolbar{position: static !important;}","已关闭$off":null}},
csdn_fontsize:{name:"调整字体大小",match:["csdn.net"],values:{"已开启$on":()=>(style(`body{--font-size-title: ${$get("csdn_font_size_title","32px")
};--font-size-p: ${$get("csdn_font_size_p","18px")
};--font-size-h2: ${$get("csdn_font_size_h2","24px")
};--font-size-code: ${$get("csdn_font_size_code","15px")
};}`),"html{--font-size-title:36px;--font-size-p:18px;--font-size-h2:24px;--font-size-code:15px}html body main div.blog-content-box .article-header-box .article-header div.article-title-box .title-article{font-size:var(--font-size-title)!important}html body main #content_views p{font-size:var(--font-size-p)!important}html body main #content_views h2{font-size:var(--font-size-h2)!important}html body main #content_views pre code{font-size:var(--font-size-code)!important}"),"已关闭$off":null}},
csdn_copy:{name:"免登录(不可用)复制",match:[/blog\.csdn\.net(\/.*)?\/article\/details./],values:{"已开启$on":()=>(timeoutOnLoad(()=>{document.querySelectorAll(".hljs-button").forEach(e=>{e.setAttribute("data-title","点击复制"),e.classList.remove("signin"),e.removeAttribute("onclick"),e.addEventListener("click",()=>{e.setAttribute("data-title"," "),navigator.clipboard.writeText(e.parentNode.innerText),e.setAttribute("data-title","复制成功"),setTimeout(()=>e.setAttribute("data-title","点击复制"),1200)})},250),document.querySelector(".blog-content-box").addEventListener("copy",e=>{e.stopPropagation(),e.preventDefault(),navigator.clipboard.writeText(window.getSelection().toString())},!0),document.addEventListener("keydown",e=>{e.ctrlKey&&67==e.keyCode&&(e.stopPropagation(),e.preventDefault(),navigator.clipboard.writeText(window.getSelection().toString()))},!0),document.oncopy=null,window.oncopy=null},500),"#content_views pre code{-webkit-touch-callout:text!important;-webkit-user-select:text!important;-khtml-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important}"),"已关闭$off":null}},
csdn_content_fullscreen:{name:"Ctrl + Enter开启专注模式",match:[/blog\.csdn\.net(\/.*)?\/article\/details./],values:{"已关闭$off":null,"已开启$on":()=>{document.addEventListener("keydown",e=>{e.ctrlKey&&13==e.keyCode&&(document.fullscreenElement?document.exitFullscreen():document.querySelector(".blog-content-box").requestFullscreen())})}}},
csdn_base:{name:"$",match:["csdn.net"],values:()=>(timeoutOnLoad(()=>{var taghtml=document.getElementsByClassName("blog-tags-box")[0].outerHTML+"";document.getElementsByClassName("blog-tags-box")[0].remove(),document.getElementsByClassName("article-bar-top")[0].innerHTML=document.getElementsByClassName("article-bar-top")[0].innerHTML+taghtml,document.getElementsByClassName("time")[0].innerHTML=document.getElementsByClassName("time")[0].innerHTML.replace("于 ","").replace(" 发布",""),document.getElementsByClassName("left-toolbox")[0].style.left="auto",document.getElementsByClassName("blog-tags-box")[0].innerHTML=document.getElementsByClassName("blog-tags-box")[0].innerHTML.replaceAll(":","")},100),"on"===$get("csdn_width","on")&&(style("#mainBox > main{ width: 100% !important; }"),style(`body #mainBox{ width: ${$get("csdn_width_value","82")}% !important; }`)),'@charset "UTF-8";#article_content,#mainBox,.article-bar-top,.article-info-box,header div.article-info-box div.blog-tags-box .tags-box.artic-tag-box a.tag-link,main div.blog-content-box .article-header-box .article-header div.article-info-box div.blog-tags-box,main div.blog-content-box .article-header-box .article-header div.article-info-box div.blog-tags-box .tags-box{margin:auto;width:auto!important;height:auto!important;padding:0!important;overflow:hidden}.tag-link{margin:5px 0 0!important;overflow:hidden}main div.blog-content-box article{padding-top:10px}main div.blog-content-box .article-header-box .article-header div.article-info-box div.article-bar-top span{margin-right:4px}main div.blog-content-box .article-header-box .article-header div.article-info-box div.article-bar-top .follow-nickName{margin-right:2px}main div.blog-content-box .article-header-box .article-header div.article-info-box div.article-bar-top .bar-conten{padding-left:0;margin-left:10px}pre .hljs-button{display:block;position:absolute;right:4px;top:4px;font-size:12px;color:#fff;background-color:#666;padding:4px 12px;margin:8px;border-radius:4px;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.05)}code,main div.blog-content-box pre.set-code-hide,pre{height:auto!important}.hide-preCode-box{display:none}.set-code-hide,main div.blog-content-box pre{max-height:max-content!important;height:auto!important}.article-info-box{opacity:.92}.blog-content-box{overflow-y:auto}')},csdn_background:{name:"自定义背景",match:[/blog\.csdn\.net(\/.*)?\/article\/details./],values:{"已关闭$off":null,"已开启$on":()=>($get("csdn_background-value")&&style(`body{background:url("${$get("csdn_background-value")}")}`),style(`body{--blog-content-box-background:${$get("csdn_blog-content-box-background-value")}}`),style(`body{--blog-content-box-opacity:${$get("csdn_blog-content-box-opacity-value","0.98")}}`),style(`body{--blog-header-box-background:${$get("csdn_blog-header-box-background-value")}}`),":root body .blog-content-box{background:var(--blog-content-box-background)!important;opacity:var(--blog-content-box-opacity)!important}:root body #blogColumnPayAdvert,:root body #blogHuaweiyunAdvert,:root body .article-header-box{background-color:var(--blog-header-box-background)!important}")}},
csdn_ad:{name:"去广告",match:["csdn.net"],values:{"已开启$on":()=>"#ad_iframe,#ad_unit,#mainBox>aside>div.box-shadow.mb8,.GoogleActiveViewElement,.GoogleActiveViewInnerContainer,.adsbygoogle{display:none!important;visibility:hidden!important;width:0!important;height:0!important}","已关闭$off":null}}
};
run(features_csdn_287998627);