xmoj-script 1.1.55 → 1.1.58
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/pull_request_template.md +1 -20
- package/.github/workflows/pr-check-ci.yml +24 -0
- package/.github/workflows/similar-issue.yml +17 -0
- package/.github/workflows/sitemap-automation.yml +43 -43
- package/SECURITY.md +3 -11
- package/Update.json +41 -0
- package/XMOJ.user.js +30 -5
- package/package.json +1 -1
- package/.idea/XMOJ-Script.iml +0 -12
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -7
- package/.vscode/settings.json +0 -148
@@ -1,20 +1 @@
|
|
1
|
-
- [ ] 我已认真阅读贡献指南 (contributing guidelines) 和社区公约 (code of conduct),并遵循了如何参与页及格式手册页的相应规范。
|
2
|
-
|
3
|
-
By making a contribution to this project, I certify that:
|
4
|
-
|
5
|
-
The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
|
6
|
-
|
7
|
-
The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
|
8
|
-
|
9
|
-
The contribution was provided directly to me by some other person who certified 1., 2. or 3. and I have not modified it.
|
10
|
-
|
11
|
-
I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
|
12
|
-
|
13
|
-
<!--
|
14
|
-
这是 Pull Request 的描述页面,可拖动输入框右下角调节大小。尽管按下绿色按钮提交后,您仍可以对描述进行修改,但还请您先阅读以下注意事项。
|
15
|
-
- 请不要删去本区域文字,或在此修改内容,因为本区域作为注释内容是不可见的。你应该点击 Preview 查看描述页效果。
|
16
|
-
- 请勾选输入框外的 `Allow edits from maintainers` 的候选框(机器人需要修正格式),并通过蓝色高亮链接阅读、理解了指南和公约后,将上述 [ ] 替换为 [x]。
|
17
|
-
- 若本 Pull Request 能够完全解决某个 Issue,请将该 Pull Request 与对应的 Issue 链接起来,具体做法请参见 <https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue>。
|
18
|
-
- 请对照规范页面,检查 Commit 信息、PR 标题和下方 Compare 页面,例如:
|
19
|
-
- 您的修改是否波及到了其他文件,是否发生了意图之外的文件名修改(这在您启用了翻译软件的情况下较为常见),是否引入了无关文件。
|
20
|
-
-->
|
1
|
+
- [ ] 我已认真阅读贡献指南 (contributing guidelines) 和社区公约 (code of conduct),并遵循了如何参与页及格式手册页的相应规范。
|
@@ -0,0 +1,24 @@
|
|
1
|
+
name: Check PR CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
schedule:
|
5
|
+
- cron: "*/10 * * * *"
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
check-pr-ci:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
steps:
|
11
|
+
- uses: actions-cool/check-pr-ci@v1
|
12
|
+
with:
|
13
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
14
|
+
# filter-label: 'check-ci'
|
15
|
+
# filter-creator-authority: 'write'
|
16
|
+
filter-head-ref: 'master, dev'
|
17
|
+
filter-support-fork: true
|
18
|
+
success-review: true
|
19
|
+
success-review-body: 'PR passes all checks'
|
20
|
+
success-merge: false
|
21
|
+
conflict-review-body: 'PR has conflicts, please fix them first!'
|
22
|
+
failure-review: 'REQUEST_CHANGES'
|
23
|
+
failure-review-body: 'PR fails some checks'
|
24
|
+
failure-close: false
|
@@ -0,0 +1,17 @@
|
|
1
|
+
name: Issues Similarity Analysis
|
2
|
+
|
3
|
+
on:
|
4
|
+
issues:
|
5
|
+
types: [opened, edited]
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
similarity-analysis:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
steps:
|
11
|
+
- name: analysis
|
12
|
+
uses: actions-cool/issues-similarity-analysis@v1
|
13
|
+
with:
|
14
|
+
filter-threshold: 0.75
|
15
|
+
title-excludes: 'bug, not, 1234'
|
16
|
+
comment-title: '### We have found some similar issues see'
|
17
|
+
comment-body: '${index}. ${similarity} #${number}'
|
@@ -1,45 +1,45 @@
|
|
1
|
-
name: Generate xml sitemap
|
1
|
+
# name: Generate xml sitemap
|
2
2
|
|
3
|
-
on:
|
4
|
-
|
5
|
-
|
6
|
-
jobs:
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
3
|
+
# on:
|
4
|
+
# push:
|
5
|
+
# branches: [ dev ]
|
6
|
+
# jobs:
|
7
|
+
# UpdateVersion:
|
8
|
+
# permissions:
|
9
|
+
# contents: write
|
10
|
+
# runs-on: ubuntu-latest
|
11
|
+
# name: Generate a sitemap
|
12
|
+
# steps:
|
13
|
+
# - name: Checkout the repo
|
14
|
+
# uses: actions/checkout@v2
|
15
|
+
# with:
|
16
|
+
# fetch-depth: 0
|
17
|
+
# - name: Generate new sitemap
|
18
|
+
# id: sitemap
|
19
|
+
# uses: cicirello/generate-sitemap@v1.10.0
|
20
|
+
# with:
|
21
|
+
# additional-extensions: user.js
|
22
|
+
# sitemap-format: xml
|
23
|
+
# drop-html-extension: true
|
24
|
+
# base-url-path: https://xmoj-bbs.tech/
|
25
|
+
# exclude-paths: /404.html
|
26
|
+
# - name: Create PR to dev branch
|
27
|
+
# uses: peter-evans/create-pull-request@v6
|
28
|
+
# with:
|
29
|
+
# # signoff: true
|
30
|
+
# reviewers: PythonSmall-Q, zhouyiqing0304
|
31
|
+
# assignees: PythonSmall-Q, zhouyiqing0304
|
32
|
+
# title: "自动更新sitemap"
|
33
|
+
# body: >
|
34
|
+
# Sitemap Updated! Please merge me!.
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
36
|
+
# - name: Output stats
|
37
|
+
# run: |
|
38
|
+
# echo "sitemap-path = ${{ steps.sitemap.outputs.sitemap-path }}"
|
39
|
+
# echo "url-count = ${{ steps.sitemap.outputs.url-count }}"
|
40
|
+
# echo "excluded-count = ${{ steps.sitemap.outputs.excluded-count }}"
|
41
|
+
# - name: Check outputs
|
42
|
+
# if: ${{ steps.cpr.outputs.pull-request-number }}
|
43
|
+
# run: |
|
44
|
+
# echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
|
45
|
+
# echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
|
package/SECURITY.md
CHANGED
@@ -1,13 +1,5 @@
|
|
1
|
-
#
|
1
|
+
# Security Policy
|
2
2
|
|
3
|
-
##
|
3
|
+
## Supported Versions
|
4
4
|
|
5
|
-
|
6
|
-
| ------- | ------------------ | --------- | -------- |
|
7
|
-
| > 1.0.251 | :white_check_mark: | 支持 | |
|
8
|
-
| 1.0.x (x < 251) | :x: | 已停止支持 | 后台 api 变动 |
|
9
|
-
| 0.3.x | :x: | 已停止支持 | 开发组人员变动 |
|
10
|
-
| 0.2.x | :x: | 已停止支持 | 讨论功能重大更新 |
|
11
|
-
| 0.1.x | :x: | 已停止支持 | 重大安全隐患 + 依赖问题 (ansi_up) |
|
12
|
-
|
13
|
-
注意:在开发过程中,服务器和用户脚本可能在任何时候发生重大变动,造成非最新版本结束支持。在这种情况下,我们会尽快更新用户脚本!感谢您的谅解。
|
5
|
+
Only the latest stable release is supported
|
package/Update.json
CHANGED
@@ -1428,6 +1428,47 @@
|
|
1428
1428
|
}
|
1429
1429
|
],
|
1430
1430
|
"Notes": "No release notes were provided for this release."
|
1431
|
+
},
|
1432
|
+
"1.1.56": {
|
1433
|
+
"UpdateDate": 1713525771039,
|
1434
|
+
"Prerelease": true,
|
1435
|
+
"UpdateContents": [
|
1436
|
+
{
|
1437
|
+
"PR": 505,
|
1438
|
+
"Description": "让 ctrl + enter 触发自动提交当年代码"
|
1439
|
+
}
|
1440
|
+
],
|
1441
|
+
"Notes": "No release notes were provided for this release."
|
1442
|
+
},
|
1443
|
+
"1.1.57": {
|
1444
|
+
"UpdateDate": 1713526164395,
|
1445
|
+
"Prerelease": false,
|
1446
|
+
"UpdateContents": [
|
1447
|
+
{
|
1448
|
+
"PR": 497,
|
1449
|
+
"Description": "move the main msg content into a div with flex!!! :tada:"
|
1450
|
+
},
|
1451
|
+
{
|
1452
|
+
"PR": 499,
|
1453
|
+
"Description": "add markdown support to short messages "
|
1454
|
+
},
|
1455
|
+
{
|
1456
|
+
"PR": 505,
|
1457
|
+
"Description": "让 ctrl + enter 触发自动提交当年代码"
|
1458
|
+
}
|
1459
|
+
],
|
1460
|
+
"Notes": "No release notes were provided for this release."
|
1461
|
+
},
|
1462
|
+
"1.1.58": {
|
1463
|
+
"UpdateDate": 1713668825681,
|
1464
|
+
"Prerelease": true,
|
1465
|
+
"UpdateContents": [
|
1466
|
+
{
|
1467
|
+
"PR": 514,
|
1468
|
+
"Description": "支持跳转到讨论编号 修改讨论区用户界面 在讨论区Page过大时自动跳转 在讨论区最后一页自动删除"
|
1469
|
+
}
|
1470
|
+
],
|
1471
|
+
"Notes": "No release notes were provided for this release."
|
1431
1472
|
}
|
1432
1473
|
}
|
1433
1474
|
}
|
package/XMOJ.user.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
// ==UserScript==
|
2
2
|
// @name XMOJ
|
3
|
-
// @version 1.1.
|
3
|
+
// @version 1.1.58
|
4
4
|
// @description XMOJ增强脚本
|
5
5
|
// @author @XMOJ-Script-dev, @langningchen and the community
|
6
6
|
// @namespace https://github/langningchen
|
@@ -1842,8 +1842,12 @@ async function main() {
|
|
1842
1842
|
AutoCheatButton.disabled = false;
|
1843
1843
|
if (Submitted) location.reload(); else AutoCheatButton.innerHTML = "自动提交当年代码";
|
1844
1844
|
});
|
1845
|
+
document.addEventListener("keydown", (Event) => {
|
1846
|
+
if (Event.code === 'Enter' && Event.ctrlKey) {
|
1847
|
+
AutoCheatButton.click();
|
1848
|
+
}
|
1849
|
+
});
|
1845
1850
|
}
|
1846
|
-
|
1847
1851
|
if (UtilityEnabled("OpenAllProblem")) {
|
1848
1852
|
let OpenAllButton = document.createElement("button");
|
1849
1853
|
OpenAllButton.className = "btn btn-outline-secondary";
|
@@ -3807,8 +3811,23 @@ int main()
|
|
3807
3811
|
if (location.pathname == "/discuss3/discuss.php") {
|
3808
3812
|
let ProblemID = parseInt(SearchParams.get("pid"));
|
3809
3813
|
let Page = Number(SearchParams.get("page")) || 1;
|
3810
|
-
document.querySelector("body > div > div").innerHTML =
|
3811
|
-
|
3814
|
+
document.querySelector("body > div > div").innerHTML = ` <div style="text-align:center"><h1>讨论列表${(isNaN(ProblemID) ? "" : ` - 题目` + ProblemID)}</h1></div>
|
3815
|
+
<div class="row">
|
3816
|
+
<div class="col-md-5">
|
3817
|
+
<form action="discuss.php" >
|
3818
|
+
<div style="text-align:right">
|
3819
|
+
<button id="NewPost" type="button" class="btn btn-primary">发布新讨论</button>
|
3820
|
+
</div>
|
3821
|
+
</form>
|
3822
|
+
</div>
|
3823
|
+
<div class="col-md-3" style="display: inline">
|
3824
|
+
<form action="thread.php" class="input-group">
|
3825
|
+
<input class="form-control" type="number" name="tid" placeholder="讨论编号" min="1">
|
3826
|
+
<button class="btn btn-outline-secondary" type="submit">跳转</button>
|
3827
|
+
</form>
|
3828
|
+
</div style="display: inline">
|
3829
|
+
</div>
|
3830
|
+
<h><br></h>
|
3812
3831
|
<nav>
|
3813
3832
|
<ul class="pagination justify-content-center" id="DiscussPagination">
|
3814
3833
|
<li class="page-item"><a class="page-link" href="#"><span>«</span></a></li>
|
@@ -3864,7 +3883,7 @@ int main()
|
|
3864
3883
|
}, async (ResponseData) => {
|
3865
3884
|
if (ResponseData.Success == true) {
|
3866
3885
|
ErrorElement.style.display = "none";
|
3867
|
-
if
|
3886
|
+
if(!Silent) {
|
3868
3887
|
DiscussPagination.children[0].children[0].href = "https://www.xmoj.tech/discuss3/discuss.php?" + (isNaN(ProblemID) ? "" : "pid=" + ProblemID + "&") + "page=1";
|
3869
3888
|
DiscussPagination.children[1].children[0].href = "https://www.xmoj.tech/discuss3/discuss.php?" + (isNaN(ProblemID) ? "" : "pid=" + ProblemID + "&") + "page=" + (Page - 1);
|
3870
3889
|
DiscussPagination.children[2].children[0].href = "https://www.xmoj.tech/discuss3/discuss.php?" + (isNaN(ProblemID) ? "" : "pid=" + ProblemID + "&") + "page=" + Page;
|
@@ -3883,6 +3902,7 @@ int main()
|
|
3883
3902
|
PostList.children[1].innerHTML = "";
|
3884
3903
|
if (Posts.length == 0) {
|
3885
3904
|
PostList.children[1].innerHTML = `<tr><td colspan="7">暂无数据</td></tr>`;
|
3905
|
+
location.href = "https://www.xmoj.tech/discuss3/discuss.php";
|
3886
3906
|
}
|
3887
3907
|
for (let i = 0; i < Posts.length; i++) {
|
3888
3908
|
let Row = document.createElement("tr");
|
@@ -3920,6 +3940,11 @@ int main()
|
|
3920
3940
|
let LastReplyTimeCell = document.createElement("td");
|
3921
3941
|
Row.appendChild(LastReplyTimeCell);
|
3922
3942
|
LastReplyTimeCell.innerHTML = GetRelativeTime(Posts[i].LastReplyTime);
|
3943
|
+
if (Posts[i].PostID == 1) {
|
3944
|
+
DiscussPagination.children[DiscussPagination.children.length - 1].classList.add("disabled");
|
3945
|
+
DiscussPagination.children[DiscussPagination.children.length - 2].remove();
|
3946
|
+
break;
|
3947
|
+
}
|
3923
3948
|
}
|
3924
3949
|
} else {
|
3925
3950
|
ErrorElement.innerText = ResponseData.Message;
|
package/package.json
CHANGED
package/.idea/XMOJ-Script.iml
DELETED
@@ -1,12 +0,0 @@
|
|
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>
|
package/.idea/modules.xml
DELETED
@@ -1,8 +0,0 @@
|
|
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/.idea/vcs.xml
DELETED
package/.vscode/settings.json
DELETED
@@ -1,148 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"github-actions.workflows.pinned.workflows": [],
|
3
|
-
"cSpell.words": [
|
4
|
-
"AAAAAAAI",
|
5
|
-
"aliyuncs",
|
6
|
-
"apos",
|
7
|
-
"Arround",
|
8
|
-
"chenlangning",
|
9
|
-
"chensiru",
|
10
|
-
"chentianle",
|
11
|
-
"chenxuanhe",
|
12
|
-
"chenzecong",
|
13
|
-
"chenzerui",
|
14
|
-
"colspan",
|
15
|
-
"comparesource",
|
16
|
-
"Consolas",
|
17
|
-
"contestrank",
|
18
|
-
"conteststatistics",
|
19
|
-
"danwenxiao",
|
20
|
-
"darcula",
|
21
|
-
"dongminghui",
|
22
|
-
"emsp",
|
23
|
-
"freopen",
|
24
|
-
"gaochenming",
|
25
|
-
"gaolaoshi",
|
26
|
-
"Geany",
|
27
|
-
"guoqingtong",
|
28
|
-
"guoruiqun",
|
29
|
-
"guyuchen",
|
30
|
-
"hanjialin",
|
31
|
-
"hanshujian",
|
32
|
-
"heshuhan",
|
33
|
-
"hexinyi",
|
34
|
-
"huangkai",
|
35
|
-
"huangmingxuan",
|
36
|
-
"huangruina",
|
37
|
-
"huangwei",
|
38
|
-
"huyiyang",
|
39
|
-
"ignorews",
|
40
|
-
"jiangxingyu",
|
41
|
-
"jingtaiyu",
|
42
|
-
"jinweizhe",
|
43
|
-
"jresult",
|
44
|
-
"laquo",
|
45
|
-
"leijiahan",
|
46
|
-
"leiwenda",
|
47
|
-
"lianzhongzhe",
|
48
|
-
"liaoyanxu",
|
49
|
-
"lingzixiang",
|
50
|
-
"linziyi",
|
51
|
-
"liujianhao",
|
52
|
-
"liujiankun",
|
53
|
-
"liuxianyong",
|
54
|
-
"liuxixian",
|
55
|
-
"liyihan",
|
56
|
-
"loginpage",
|
57
|
-
"lostpassword",
|
58
|
-
"luojinyang",
|
59
|
-
"lutianfeng",
|
60
|
-
"meitianyi",
|
61
|
-
"modifypage",
|
62
|
-
"newpost",
|
63
|
-
"nowdate",
|
64
|
-
"panyinliang",
|
65
|
-
"pengyixuan",
|
66
|
-
"PHPSESSID",
|
67
|
-
"problemset",
|
68
|
-
"problemstatus",
|
69
|
-
"progressbar",
|
70
|
-
"putong",
|
71
|
-
"qianqingyuan",
|
72
|
-
"qidekai",
|
73
|
-
"raquo",
|
74
|
-
"reinfo",
|
75
|
-
"remoteip",
|
76
|
-
"sampledata",
|
77
|
-
"SAXKD",
|
78
|
-
"shanwenxiao",
|
79
|
-
"shenxichen",
|
80
|
-
"shihongxi",
|
81
|
-
"shimufan",
|
82
|
-
"shiyichen",
|
83
|
-
"shiyunhao",
|
84
|
-
"showsource",
|
85
|
-
"shuxinmo",
|
86
|
-
"simform",
|
87
|
-
"submitpage",
|
88
|
-
"suiruochen",
|
89
|
-
"sunyihan",
|
90
|
-
"sunyimiao",
|
91
|
-
"syntaxhighlighter",
|
92
|
-
"tangchao",
|
93
|
-
"tangyuhan",
|
94
|
-
"tanhaoxuan",
|
95
|
-
"taoxianyu",
|
96
|
-
"USACO",
|
97
|
-
"wangkangming",
|
98
|
-
"wangminghao",
|
99
|
-
"wangmingshuo",
|
100
|
-
"wangpengyu",
|
101
|
-
"wangsiyuan",
|
102
|
-
"wangtianqi",
|
103
|
-
"wangyuancheng",
|
104
|
-
"wangzetong",
|
105
|
-
"wanxinlian",
|
106
|
-
"wensiyi",
|
107
|
-
"wujinhong",
|
108
|
-
"wurunze",
|
109
|
-
"wuyukai",
|
110
|
-
"xiangjicheng",
|
111
|
-
"xiaoguanxun",
|
112
|
-
"xiaojiasheng",
|
113
|
-
"xiaruicheng",
|
114
|
-
"xiaweimin",
|
115
|
-
"xiaxuran",
|
116
|
-
"xiebingxiu",
|
117
|
-
"xieliren",
|
118
|
-
"xinyihan",
|
119
|
-
"xmlhttp",
|
120
|
-
"XMOJ",
|
121
|
-
"xuconghan",
|
122
|
-
"xukan",
|
123
|
-
"xuweiyi",
|
124
|
-
"yanghaochen",
|
125
|
-
"yezijiong",
|
126
|
-
"youzhouhang",
|
127
|
-
"yuanruiqing",
|
128
|
-
"yutingjun",
|
129
|
-
"zhangchenming",
|
130
|
-
"zhangqiuze",
|
131
|
-
"zhangshuxuan",
|
132
|
-
"zhangwenda",
|
133
|
-
"zhangyifu",
|
134
|
-
"zhangyouheng",
|
135
|
-
"zhaochenshen",
|
136
|
-
"zhaochenwei",
|
137
|
-
"zhengyinan",
|
138
|
-
"zhonghongyi",
|
139
|
-
"zhoujunyu",
|
140
|
-
"zhouziyi",
|
141
|
-
"zhouziyou",
|
142
|
-
"zhuchenrui",
|
143
|
-
"zhuruichen",
|
144
|
-
"zhuxule",
|
145
|
-
"zhuyikun",
|
146
|
-
"zhuyiyang"
|
147
|
-
]
|
148
|
-
}
|