xmoj-script 1.1.52 → 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/Update.json +26 -0
- package/XMOJ.user.js +39 -76
- package/index.html +1 -0
- package/package.json +1 -1
package/Update.json
CHANGED
@@ -1391,6 +1391,32 @@
|
|
1391
1391
|
}
|
1392
1392
|
],
|
1393
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."
|
1394
1420
|
}
|
1395
1421
|
}
|
1396
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
|
@@ -1039,112 +1039,62 @@ async function main() {
|
|
1039
1039
|
return List;
|
1040
1040
|
};
|
1041
1041
|
UtilitiesCardBody.appendChild(CreateList([{
|
1042
|
-
"ID": "ACMRank",
|
1043
|
-
"Type": "A",
|
1044
|
-
"Name": "比赛ACM排名,并且能下载ACM排名"
|
1042
|
+
"ID": "ACMRank", "Type": "A", "Name": "比赛ACM排名,并且能下载ACM排名"
|
1045
1043
|
}, {"ID": "Discussion", "Type": "F", "Name": "恢复讨论与短消息功能"}, {
|
1046
|
-
"ID": "MoreSTD",
|
1047
|
-
"Type": "F",
|
1048
|
-
"Name": "查看到更多标程"
|
1044
|
+
"ID": "MoreSTD", "Type": "F", "Name": "查看到更多标程"
|
1049
1045
|
}, {
|
1050
1046
|
"ID": "StudyMode",
|
1051
1047
|
"Type": "A",
|
1052
1048
|
"Name": "学术模式",
|
1053
1049
|
"Children": [{"ID": "ApplyData", "Type": "A", "Name": "获取数据功能"}, {
|
1054
|
-
"ID": "AutoCheat",
|
1055
|
-
"Type": "A",
|
1056
|
-
"Name": "自动提交当年代码"
|
1050
|
+
"ID": "AutoCheat", "Type": "A", "Name": "自动提交当年代码"
|
1057
1051
|
}]
|
1058
1052
|
}, {"ID": "Rating", "Type": "A", "Name": "添加用户评分和用户名颜色"}, {
|
1059
|
-
"ID": "AutoRefresh",
|
1060
|
-
"Type": "A",
|
1061
|
-
"Name": "比赛列表、比赛排名界面自动刷新"
|
1053
|
+
"ID": "AutoRefresh", "Type": "A", "Name": "比赛列表、比赛排名界面自动刷新"
|
1062
1054
|
}, {
|
1063
|
-
"ID": "AutoCountdown",
|
1064
|
-
"Type": "A",
|
1065
|
-
"Name": "比赛列表等界面的时间自动倒计时"
|
1055
|
+
"ID": "AutoCountdown", "Type": "A", "Name": "比赛列表等界面的时间自动倒计时"
|
1066
1056
|
}, {"ID": "DownloadPlayback", "Type": "A", "Name": "回放视频增加下载功能"}, {
|
1067
|
-
"ID": "ImproveACRate",
|
1068
|
-
"Type": "A",
|
1069
|
-
"Name": "自动提交已AC题目以提高AC率"
|
1057
|
+
"ID": "ImproveACRate", "Type": "A", "Name": "自动提交已AC题目以提高AC率"
|
1070
1058
|
}, {"ID": "AutoO2", "Type": "F", "Name": "代码提交界面自动选择O2优化"}, {
|
1071
|
-
"ID": "Beautify",
|
1072
|
-
|
1073
|
-
"Name": "美化界面",
|
1074
|
-
"Children": [{
|
1075
|
-
"ID": "NewBootstrap",
|
1076
|
-
"Type": "F",
|
1077
|
-
"Name": "使用新版的Bootstrap样式库*"
|
1059
|
+
"ID": "Beautify", "Type": "F", "Name": "美化界面", "Children": [{
|
1060
|
+
"ID": "NewBootstrap", "Type": "F", "Name": "使用新版的Bootstrap样式库*"
|
1078
1061
|
}, {"ID": "ResetType", "Type": "F", "Name": "重新排版*"}, {
|
1079
|
-
"ID": "AddColorText",
|
1080
|
-
"Type": "A",
|
1081
|
-
"Name": "增加彩色文字"
|
1062
|
+
"ID": "AddColorText", "Type": "A", "Name": "增加彩色文字"
|
1082
1063
|
}, {"ID": "AddUnits", "Type": "A", "Name": "状态界面内存与耗时添加单位"}, {
|
1083
|
-
"ID": "DarkMode",
|
1084
|
-
"Type": "A",
|
1085
|
-
"Name": "使用暗色模式"
|
1064
|
+
"ID": "DarkMode", "Type": "A", "Name": "使用暗色模式"
|
1086
1065
|
}, {"ID": "AddAnimation", "Type": "A", "Name": "增加动画"}, {
|
1087
|
-
"ID": "ReplaceYN",
|
1088
|
-
"Type": "F",
|
1089
|
-
"Name": "题目前对错的Y和N替换为勾和叉"
|
1066
|
+
"ID": "ReplaceYN", "Type": "F", "Name": "题目前对错的Y和N替换为勾和叉"
|
1090
1067
|
}, {"ID": "RemoveAlerts", "Type": "D", "Name": "去除多余反复的提示"}, {
|
1091
|
-
"ID": "Translate",
|
1092
|
-
"Type": "F",
|
1093
|
-
"Name": "统一使用中文,翻译了部分英文*"
|
1068
|
+
"ID": "Translate", "Type": "F", "Name": "统一使用中文,翻译了部分英文*"
|
1094
1069
|
}, {
|
1095
|
-
"ID": "ReplaceLinks",
|
1096
|
-
"Type": "F",
|
1097
|
-
"Name": "将网站中所有以方括号包装的链接替换为按钮"
|
1070
|
+
"ID": "ReplaceLinks", "Type": "F", "Name": "将网站中所有以方括号包装的链接替换为按钮"
|
1098
1071
|
}, {"ID": "RemoveUseless", "Type": "D", "Name": "删去无法使用的功能*"}, {
|
1099
1072
|
"ID": "ReplaceXM",
|
1100
1073
|
"Type": "F",
|
1101
1074
|
"Name": "将网站中所有“小明”和“我”关键字替换为“高老师”,所有“小红”替换为“徐师娘”,所有“小粉”替换为“彩虹”,所有“下海”、“海上”替换为“上海” (此功能默认关闭)"
|
1102
1075
|
}]
|
1103
1076
|
}, {
|
1104
|
-
"ID": "AutoLogin",
|
1105
|
-
"Type": "A",
|
1106
|
-
"Name": "在需要登录的界面自动跳转到登陆界面"
|
1077
|
+
"ID": "AutoLogin", "Type": "A", "Name": "在需要登录的界面自动跳转到登陆界面"
|
1107
1078
|
}, {
|
1108
|
-
"ID": "SavePassword",
|
1109
|
-
"Type": "A",
|
1110
|
-
"Name": "自动保存用户名与密码,免去每次手动输入密码的繁琐"
|
1079
|
+
"ID": "SavePassword", "Type": "A", "Name": "自动保存用户名与密码,免去每次手动输入密码的繁琐"
|
1111
1080
|
}, {
|
1112
|
-
"ID": "CopySamples",
|
1113
|
-
"Type": "F",
|
1114
|
-
"Name": "题目界面测试样例有时复制无效"
|
1081
|
+
"ID": "CopySamples", "Type": "F", "Name": "题目界面测试样例有时复制无效"
|
1115
1082
|
}, {
|
1116
|
-
"ID": "RefreshSolution",
|
1117
|
-
"Type": "F",
|
1118
|
-
"Name": "状态页面结果自动刷新每次只能刷新一个"
|
1083
|
+
"ID": "RefreshSolution", "Type": "F", "Name": "状态页面结果自动刷新每次只能刷新一个"
|
1119
1084
|
}, {"ID": "CopyMD", "Type": "A", "Name": "复制题目或题解内容"}, {
|
1120
|
-
"ID": "OpenAllProblem",
|
1121
|
-
"Type": "A",
|
1122
|
-
"Name": "比赛题目界面一键打开所有题目"
|
1085
|
+
"ID": "OpenAllProblem", "Type": "A", "Name": "比赛题目界面一键打开所有题目"
|
1123
1086
|
}, {
|
1124
|
-
"ID": "CheckCode",
|
1125
|
-
|
1126
|
-
"Name": "提交代码前对代码进行检查",
|
1127
|
-
"Children": [{
|
1128
|
-
"ID": "IOFile",
|
1129
|
-
"Type": "A",
|
1130
|
-
"Name": "是否使用了文件输入输出(如果需要使用)"
|
1087
|
+
"ID": "CheckCode", "Type": "A", "Name": "提交代码前对代码进行检查", "Children": [{
|
1088
|
+
"ID": "IOFile", "Type": "A", "Name": "是否使用了文件输入输出(如果需要使用)"
|
1131
1089
|
}, {"ID": "CompileError", "Type": "A", "Name": "是否有编译错误"}]
|
1132
1090
|
}, {
|
1133
|
-
"ID": "ExportACCode",
|
1134
|
-
"Type": "F",
|
1135
|
-
"Name": "导出AC代码每一道题目一个文件"
|
1091
|
+
"ID": "ExportACCode", "Type": "F", "Name": "导出AC代码每一道题目一个文件"
|
1136
1092
|
}, {"ID": "LoginFailed", "Type": "F", "Name": "修复登录后跳转失败*"}, {
|
1137
|
-
"ID": "NewDownload",
|
1138
|
-
"Type": "A",
|
1139
|
-
"Name": "下载页面增加下载内容"
|
1093
|
+
"ID": "NewDownload", "Type": "A", "Name": "下载页面增加下载内容"
|
1140
1094
|
}, {"ID": "CompareSource", "Type": "A", "Name": "比较代码"}, {
|
1141
|
-
"ID": "BBSPopup",
|
1142
|
-
"Type": "A",
|
1143
|
-
"Name": "讨论提醒"
|
1095
|
+
"ID": "BBSPopup", "Type": "A", "Name": "讨论提醒"
|
1144
1096
|
}, {"ID": "MessagePopup", "Type": "A", "Name": "短消息提醒"}, {
|
1145
|
-
"ID": "DebugMode",
|
1146
|
-
"Type": "A",
|
1147
|
-
"Name": "调试模式(仅供开发者使用)"
|
1097
|
+
"ID": "DebugMode", "Type": "A", "Name": "调试模式(仅供开发者使用)"
|
1148
1098
|
}, {
|
1149
1099
|
"ID": "SuperDebug", "Type": "A", "Name": "本地调试模式(仅供开发者使用) (未经授权的擅自开启将导致大部分功能不可用!)"
|
1150
1100
|
}, {"ID": "UnpkgCdn", "Type": "A", "Name": "使用 unpkg CDN (不建议使用)"},]));
|
@@ -3789,8 +3739,21 @@ int main()
|
|
3789
3739
|
Row.appendChild(UsernameCell);
|
3790
3740
|
GetUsernameHTML(UsernameCell, Data[i].FromUser);
|
3791
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);
|
3792
3756
|
Row.appendChild(ContentCell);
|
3793
|
-
ContentCell.innerHTML = PurifyHTML(Data[i].Content);
|
3794
3757
|
let SendTimeCell = document.createElement("td");
|
3795
3758
|
Row.appendChild(SendTimeCell);
|
3796
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">
|