xmoj-script 1.1.51 → 1.1.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/Prerelease.yml +1 -1
- package/.github/workflows/Release.yml +1 -1
- package/.idea/XMOJ-Script.iml +12 -0
- package/.idea/modules.xml +8 -0
- package/Update.json +37 -0
- package/XMOJ.user.js +41 -77
- package/index.html +1 -0
- package/package.json +1 -1
@@ -0,0 +1,12 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<module type="WEB_MODULE" version="4">
|
3
|
+
<component name="NewModuleRootManager">
|
4
|
+
<content url="file://$MODULE_DIR$">
|
5
|
+
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
6
|
+
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
7
|
+
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
8
|
+
</content>
|
9
|
+
<orderEntry type="inheritedJdk" />
|
10
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
11
|
+
</component>
|
12
|
+
</module>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<project version="4">
|
3
|
+
<component name="ProjectModuleManager">
|
4
|
+
<modules>
|
5
|
+
<module fileurl="file://$PROJECT_DIR$/.idea/XMOJ-Script.iml" filepath="$PROJECT_DIR$/.idea/XMOJ-Script.iml" />
|
6
|
+
</modules>
|
7
|
+
</component>
|
8
|
+
</project>
|
package/Update.json
CHANGED
@@ -1380,6 +1380,43 @@
|
|
1380
1380
|
}
|
1381
1381
|
],
|
1382
1382
|
"Notes": "No release notes were provided for this release."
|
1383
|
+
},
|
1384
|
+
"1.1.52": {
|
1385
|
+
"UpdateDate": 1711848297024,
|
1386
|
+
"Prerelease": true,
|
1387
|
+
"UpdateContents": [
|
1388
|
+
{
|
1389
|
+
"PR": 493,
|
1390
|
+
"Description": "Make the dismiss button work + improve showsource"
|
1391
|
+
}
|
1392
|
+
],
|
1393
|
+
"Notes": "No release notes were provided for this release."
|
1394
|
+
},
|
1395
|
+
"1.1.53": {
|
1396
|
+
"UpdateDate": 1712374147729,
|
1397
|
+
"Prerelease": false,
|
1398
|
+
"UpdateContents": [
|
1399
|
+
{
|
1400
|
+
"PR": 491,
|
1401
|
+
"Description": "Update ticket email"
|
1402
|
+
},
|
1403
|
+
{
|
1404
|
+
"PR": 493,
|
1405
|
+
"Description": "Make the dismiss button work + improve showsource"
|
1406
|
+
}
|
1407
|
+
],
|
1408
|
+
"Notes": "No release notes were provided for this release."
|
1409
|
+
},
|
1410
|
+
"1.1.54": {
|
1411
|
+
"UpdateDate": 1712395969816,
|
1412
|
+
"Prerelease": true,
|
1413
|
+
"UpdateContents": [
|
1414
|
+
{
|
1415
|
+
"PR": 497,
|
1416
|
+
"Description": "move the main msg content into a div with flex!!! :tada:"
|
1417
|
+
}
|
1418
|
+
],
|
1419
|
+
"Notes": "No release notes were provided for this release."
|
1383
1420
|
}
|
1384
1421
|
}
|
1385
1422
|
}
|
package/XMOJ.user.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
// ==UserScript==
|
2
2
|
// @name XMOJ
|
3
|
-
// @version 1.1.
|
3
|
+
// @version 1.1.54
|
4
4
|
// @description XMOJ增强脚本
|
5
5
|
// @author @XMOJ-Script-dev, @langningchen and the community
|
6
6
|
// @namespace https://github/langningchen
|
@@ -934,6 +934,7 @@ async function main() {
|
|
934
934
|
let ToastDismissButton = document.createElement("button");
|
935
935
|
ToastDismissButton.type = "button";
|
936
936
|
ToastDismissButton.classList.add("btn", "btn-secondary", "btn-sm", "me-2");
|
937
|
+
ToastDismissButton.setAttribute("data-bs-dismiss", "toast");
|
937
938
|
ToastDismissButton.innerText = "忽略";
|
938
939
|
ToastDismissButton.addEventListener("click", () => {
|
939
940
|
RequestAPI("ReadMailMention", {
|
@@ -1038,112 +1039,62 @@ async function main() {
|
|
1038
1039
|
return List;
|
1039
1040
|
};
|
1040
1041
|
UtilitiesCardBody.appendChild(CreateList([{
|
1041
|
-
"ID": "ACMRank",
|
1042
|
-
"Type": "A",
|
1043
|
-
"Name": "比赛ACM排名,并且能下载ACM排名"
|
1042
|
+
"ID": "ACMRank", "Type": "A", "Name": "比赛ACM排名,并且能下载ACM排名"
|
1044
1043
|
}, {"ID": "Discussion", "Type": "F", "Name": "恢复讨论与短消息功能"}, {
|
1045
|
-
"ID": "MoreSTD",
|
1046
|
-
"Type": "F",
|
1047
|
-
"Name": "查看到更多标程"
|
1044
|
+
"ID": "MoreSTD", "Type": "F", "Name": "查看到更多标程"
|
1048
1045
|
}, {
|
1049
1046
|
"ID": "StudyMode",
|
1050
1047
|
"Type": "A",
|
1051
1048
|
"Name": "学术模式",
|
1052
1049
|
"Children": [{"ID": "ApplyData", "Type": "A", "Name": "获取数据功能"}, {
|
1053
|
-
"ID": "AutoCheat",
|
1054
|
-
"Type": "A",
|
1055
|
-
"Name": "自动提交当年代码"
|
1050
|
+
"ID": "AutoCheat", "Type": "A", "Name": "自动提交当年代码"
|
1056
1051
|
}]
|
1057
1052
|
}, {"ID": "Rating", "Type": "A", "Name": "添加用户评分和用户名颜色"}, {
|
1058
|
-
"ID": "AutoRefresh",
|
1059
|
-
"Type": "A",
|
1060
|
-
"Name": "比赛列表、比赛排名界面自动刷新"
|
1053
|
+
"ID": "AutoRefresh", "Type": "A", "Name": "比赛列表、比赛排名界面自动刷新"
|
1061
1054
|
}, {
|
1062
|
-
"ID": "AutoCountdown",
|
1063
|
-
"Type": "A",
|
1064
|
-
"Name": "比赛列表等界面的时间自动倒计时"
|
1055
|
+
"ID": "AutoCountdown", "Type": "A", "Name": "比赛列表等界面的时间自动倒计时"
|
1065
1056
|
}, {"ID": "DownloadPlayback", "Type": "A", "Name": "回放视频增加下载功能"}, {
|
1066
|
-
"ID": "ImproveACRate",
|
1067
|
-
"Type": "A",
|
1068
|
-
"Name": "自动提交已AC题目以提高AC率"
|
1057
|
+
"ID": "ImproveACRate", "Type": "A", "Name": "自动提交已AC题目以提高AC率"
|
1069
1058
|
}, {"ID": "AutoO2", "Type": "F", "Name": "代码提交界面自动选择O2优化"}, {
|
1070
|
-
"ID": "Beautify",
|
1071
|
-
|
1072
|
-
"Name": "美化界面",
|
1073
|
-
"Children": [{
|
1074
|
-
"ID": "NewBootstrap",
|
1075
|
-
"Type": "F",
|
1076
|
-
"Name": "使用新版的Bootstrap样式库*"
|
1059
|
+
"ID": "Beautify", "Type": "F", "Name": "美化界面", "Children": [{
|
1060
|
+
"ID": "NewBootstrap", "Type": "F", "Name": "使用新版的Bootstrap样式库*"
|
1077
1061
|
}, {"ID": "ResetType", "Type": "F", "Name": "重新排版*"}, {
|
1078
|
-
"ID": "AddColorText",
|
1079
|
-
"Type": "A",
|
1080
|
-
"Name": "增加彩色文字"
|
1062
|
+
"ID": "AddColorText", "Type": "A", "Name": "增加彩色文字"
|
1081
1063
|
}, {"ID": "AddUnits", "Type": "A", "Name": "状态界面内存与耗时添加单位"}, {
|
1082
|
-
"ID": "DarkMode",
|
1083
|
-
"Type": "A",
|
1084
|
-
"Name": "使用暗色模式"
|
1064
|
+
"ID": "DarkMode", "Type": "A", "Name": "使用暗色模式"
|
1085
1065
|
}, {"ID": "AddAnimation", "Type": "A", "Name": "增加动画"}, {
|
1086
|
-
"ID": "ReplaceYN",
|
1087
|
-
"Type": "F",
|
1088
|
-
"Name": "题目前对错的Y和N替换为勾和叉"
|
1066
|
+
"ID": "ReplaceYN", "Type": "F", "Name": "题目前对错的Y和N替换为勾和叉"
|
1089
1067
|
}, {"ID": "RemoveAlerts", "Type": "D", "Name": "去除多余反复的提示"}, {
|
1090
|
-
"ID": "Translate",
|
1091
|
-
"Type": "F",
|
1092
|
-
"Name": "统一使用中文,翻译了部分英文*"
|
1068
|
+
"ID": "Translate", "Type": "F", "Name": "统一使用中文,翻译了部分英文*"
|
1093
1069
|
}, {
|
1094
|
-
"ID": "ReplaceLinks",
|
1095
|
-
"Type": "F",
|
1096
|
-
"Name": "将网站中所有以方括号包装的链接替换为按钮"
|
1070
|
+
"ID": "ReplaceLinks", "Type": "F", "Name": "将网站中所有以方括号包装的链接替换为按钮"
|
1097
1071
|
}, {"ID": "RemoveUseless", "Type": "D", "Name": "删去无法使用的功能*"}, {
|
1098
1072
|
"ID": "ReplaceXM",
|
1099
1073
|
"Type": "F",
|
1100
1074
|
"Name": "将网站中所有“小明”和“我”关键字替换为“高老师”,所有“小红”替换为“徐师娘”,所有“小粉”替换为“彩虹”,所有“下海”、“海上”替换为“上海” (此功能默认关闭)"
|
1101
1075
|
}]
|
1102
1076
|
}, {
|
1103
|
-
"ID": "AutoLogin",
|
1104
|
-
"Type": "A",
|
1105
|
-
"Name": "在需要登录的界面自动跳转到登陆界面"
|
1077
|
+
"ID": "AutoLogin", "Type": "A", "Name": "在需要登录的界面自动跳转到登陆界面"
|
1106
1078
|
}, {
|
1107
|
-
"ID": "SavePassword",
|
1108
|
-
"Type": "A",
|
1109
|
-
"Name": "自动保存用户名与密码,免去每次手动输入密码的繁琐"
|
1079
|
+
"ID": "SavePassword", "Type": "A", "Name": "自动保存用户名与密码,免去每次手动输入密码的繁琐"
|
1110
1080
|
}, {
|
1111
|
-
"ID": "CopySamples",
|
1112
|
-
"Type": "F",
|
1113
|
-
"Name": "题目界面测试样例有时复制无效"
|
1081
|
+
"ID": "CopySamples", "Type": "F", "Name": "题目界面测试样例有时复制无效"
|
1114
1082
|
}, {
|
1115
|
-
"ID": "RefreshSolution",
|
1116
|
-
"Type": "F",
|
1117
|
-
"Name": "状态页面结果自动刷新每次只能刷新一个"
|
1083
|
+
"ID": "RefreshSolution", "Type": "F", "Name": "状态页面结果自动刷新每次只能刷新一个"
|
1118
1084
|
}, {"ID": "CopyMD", "Type": "A", "Name": "复制题目或题解内容"}, {
|
1119
|
-
"ID": "OpenAllProblem",
|
1120
|
-
"Type": "A",
|
1121
|
-
"Name": "比赛题目界面一键打开所有题目"
|
1085
|
+
"ID": "OpenAllProblem", "Type": "A", "Name": "比赛题目界面一键打开所有题目"
|
1122
1086
|
}, {
|
1123
|
-
"ID": "CheckCode",
|
1124
|
-
|
1125
|
-
"Name": "提交代码前对代码进行检查",
|
1126
|
-
"Children": [{
|
1127
|
-
"ID": "IOFile",
|
1128
|
-
"Type": "A",
|
1129
|
-
"Name": "是否使用了文件输入输出(如果需要使用)"
|
1087
|
+
"ID": "CheckCode", "Type": "A", "Name": "提交代码前对代码进行检查", "Children": [{
|
1088
|
+
"ID": "IOFile", "Type": "A", "Name": "是否使用了文件输入输出(如果需要使用)"
|
1130
1089
|
}, {"ID": "CompileError", "Type": "A", "Name": "是否有编译错误"}]
|
1131
1090
|
}, {
|
1132
|
-
"ID": "ExportACCode",
|
1133
|
-
"Type": "F",
|
1134
|
-
"Name": "导出AC代码每一道题目一个文件"
|
1091
|
+
"ID": "ExportACCode", "Type": "F", "Name": "导出AC代码每一道题目一个文件"
|
1135
1092
|
}, {"ID": "LoginFailed", "Type": "F", "Name": "修复登录后跳转失败*"}, {
|
1136
|
-
"ID": "NewDownload",
|
1137
|
-
"Type": "A",
|
1138
|
-
"Name": "下载页面增加下载内容"
|
1093
|
+
"ID": "NewDownload", "Type": "A", "Name": "下载页面增加下载内容"
|
1139
1094
|
}, {"ID": "CompareSource", "Type": "A", "Name": "比较代码"}, {
|
1140
|
-
"ID": "BBSPopup",
|
1141
|
-
"Type": "A",
|
1142
|
-
"Name": "讨论提醒"
|
1095
|
+
"ID": "BBSPopup", "Type": "A", "Name": "讨论提醒"
|
1143
1096
|
}, {"ID": "MessagePopup", "Type": "A", "Name": "短消息提醒"}, {
|
1144
|
-
"ID": "DebugMode",
|
1145
|
-
"Type": "A",
|
1146
|
-
"Name": "调试模式(仅供开发者使用)"
|
1097
|
+
"ID": "DebugMode", "Type": "A", "Name": "调试模式(仅供开发者使用)"
|
1147
1098
|
}, {
|
1148
1099
|
"ID": "SuperDebug", "Type": "A", "Name": "本地调试模式(仅供开发者使用) (未经授权的擅自开启将导致大部分功能不可用!)"
|
1149
1100
|
}, {"ID": "UnpkgCdn", "Type": "A", "Name": "使用 unpkg CDN (不建议使用)"},]));
|
@@ -3567,7 +3518,7 @@ int main()
|
|
3567
3518
|
.then((Response) => {
|
3568
3519
|
return Response.text();
|
3569
3520
|
}).then((Response) => {
|
3570
|
-
Code = Response;
|
3521
|
+
Code = Response.replace("\n<!--not cached-->\n", "");
|
3571
3522
|
});
|
3572
3523
|
} else {
|
3573
3524
|
if (localStorage.getItem("UserScript-LastUploadedStdTime") === undefined || new Date().getTime() - localStorage.getItem("UserScript-LastUploadedStdTime") > 1000 * 60 * 60 * 24 * 30) {
|
@@ -3788,8 +3739,21 @@ int main()
|
|
3788
3739
|
Row.appendChild(UsernameCell);
|
3789
3740
|
GetUsernameHTML(UsernameCell, Data[i].FromUser);
|
3790
3741
|
let ContentCell = document.createElement("td");
|
3742
|
+
let ContentDiv = document.createElement("div");
|
3743
|
+
ContentDiv.style.display = "flex";
|
3744
|
+
ContentDiv.style.maxWidth = window.innerWidth - 300 + "px";
|
3745
|
+
ContentDiv.style.maxHeight = "500px";
|
3746
|
+
ContentDiv.style.overflowX = "auto";
|
3747
|
+
ContentDiv.style.overflowY = "auto";
|
3748
|
+
ContentDiv.innerHTML = PurifyHTML(Data[i].Content);
|
3749
|
+
let mediaElements = ContentDiv.querySelectorAll('img, video');
|
3750
|
+
for (let media of mediaElements) {
|
3751
|
+
media.style.objectFit = 'contain';
|
3752
|
+
media.style.maxWidth = '100%';
|
3753
|
+
media.style.maxHeight = '100%';
|
3754
|
+
}
|
3755
|
+
ContentCell.appendChild(ContentDiv);
|
3791
3756
|
Row.appendChild(ContentCell);
|
3792
|
-
ContentCell.innerHTML = PurifyHTML(Data[i].Content);
|
3793
3757
|
let SendTimeCell = document.createElement("td");
|
3794
3758
|
Row.appendChild(SendTimeCell);
|
3795
3759
|
SendTimeCell.innerHTML = GetRelativeTime(Data[i].SendTime);
|
package/index.html
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
<link rel="icon" href="favicon.ico">
|
4
4
|
|
5
5
|
<head>
|
6
|
+
<script async defer src="https://status.xmoj-bbs.tech/tracker.js" data-website-id="clunj16ni0001mc46melouphl"></script>
|
6
7
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-6214673028530012"
|
7
8
|
crossorigin="anonymous"></script>
|
8
9
|
<meta name="viewport" content="width=device-width">
|