[宣传新项目]洛谷 C++ 代码 DEV-C++ 主题
  • 板块学术版
  • 楼主123asdf123
  • 当前回复5
  • 已保存回复5
  • 发布时间2025/7/25 19:59
  • 上次更新2025/7/26 10:26:20
查看原帖
[宣传新项目]洛谷 C++ 代码 DEV-C++ 主题
576074
123asdf123楼主2025/7/25 19:59

强烈建议看专栏版,会更新。(可能还没过审)

你是否想在洛谷再次看到 DEV-C++ 的经典代码高亮?

那就试试这个脚本!(脚本请根据其它类似文章安装。)

默认只更改 C 和 C++,其它的请见下方 FAQ。

其实之前早做好了。

这是测试链接。

:::success[效果图] :::

:::info[更新日志]

  • 2025/7/25 v1 第一版代码。 :::

代码

因为应该不会更新很多次,故不在其他地方更新代码,以后就在专栏更新。

:::warning[注意] 不保证洛谷以后不会再换渲染引擎,换了很可能会失效。 :::

// ==UserScript==
// @name		洛谷 C 和 C++ 代码 DEV-C++ 主题
// @namespace	https://www.luogu.com.cn/user/576074
// @license		SATA
// @version		1.0
// @description	使得洛谷 C 和 C++ 代码变成 DEV-C++ 的主题。
// @author		123asdf123
// @match		*://www.luogu.com.cn/*
// @icon		https://payment.luogu.com.cn/favicon.ico
// @grant		none
// ==/UserScript==
const onlycpp=1;
var sty=document.createElement('style');
function upd(){
    if(document.getElementById("LuoguDEVCppStyleCode")==null){
        document.body.appendChild(sty);
    }
}
(function(){
	'use strict';
    sty.id="LuoguDEVCppStyleCode";
    if(onlycpp){
    sty.innerHTML=
`/*dev-c++ classic plus style code*/
code.language-cpp span.token.macro.property span{
    color:green;
    font-weight: normal;
}
code.language-cpp span.token.boolean,
code.language-cpp span.token.keyword{
    color:black;
    font-weight: bold;
}
code.language-cpp span.token.constant,
code.language-cpp span.token.class-name,
code.language-cpp span.token.function,
code.language-cpp span.token.char{
    color:black;
    font-weight: normal;
}
code.language-cpp span.token.number{
    color:purple;
}
code.language-cpp span.token.string{
    color:blue;
    font-weight: bold;
}
code.language-cpp span.token.punctuation,
code.language-cpp span.token.operator{
    color:red;
    font-weight: bold;
}
code.language-cpp span.token.comment{
    color:rgb(0, 120, 215);
    font-style: italic;
}

code.language-c span.token.macro.property span{
    color:green;
    font-weight: normal;
}
code.language-c span.token.boolean,
code.language-c span.token.keyword{
    color:black;
    font-weight: bold;
}
code.language-c span.token.constant,
code.language-c span.token.class-name,
code.language-c span.token.function,
code.language-c span.token.char{
    color:black;
    font-weight: normal;
}
code.language-c span.token.number{
    color:purple;
}
code.language-c span.token.string{
    color:blue;
    font-weight: bold;
}
code.language-c span.token.punctuation,
code.language-c span.token.operator{
    color:red;
    font-weight: bold;
}
code.language-c span.token.comment{
    color:rgb(0, 120, 215);
    font-style: italic;
}
`;
    }
    else{
    sty.innerHTML=
`/*dev-c++ classic plus style code*/
span.token.macro.property span{
    color:green;
    font-weight: normal;
}
span.token.boolean,
span.token.keyword{
    color:black;
    font-weight: bold;
}
span.token.constant,
span.token.class-name,
span.token.function,
span.token.char{
    color:black;
    font-weight: normal;
}
span.token.number{
    color:purple;
}
span.token.string{
    color:blue;
    font-weight: bold;
}
span.token.punctuation,
span.token.operator{
    color:red;
    font-weight: bold;
}
span.token.comment{
    color:rgb(0, 120, 215);
    font-style: italic;
}
`;
    }
	setInterval(upd,50);
})();

FAQ

:::info[为什么写成脚本而不是直接放 CSS?] 因为我没装 Stylus……而且脚本也更适应动态刷新的界面。 ::: :::info[我想其他语言也用 DEV 的高亮] 更改上方高亮的代码为 onlycpp=0; 即可。

但效果很不好,我也懒得改,不建议使用! :::

:::info[为什么之前没有这个脚本] 因为就在今天,洛谷把代码渲染引擎改为了 prismjs,它的划分更细,才方便操控。

之前的渲染引擎把不高亮的 <<a<<b; 缩在一起,我不想重头开始手搓代码渲染引擎。 ::: :::error[有 BUG] 欢迎反馈!会及时在专栏更新! :::

2025/7/25 19:59
加载中...