diff --git a/.autocorrectrc b/.autocorrectrc new file mode 100644 index 0000000..e27dced --- /dev/null +++ b/.autocorrectrc @@ -0,0 +1,130 @@ +# yaml-language-server: $schema=https://huacnlee.github.io/autocorrect/schema.json +rules: + # Default rules: https://github.com/huacnlee/autocorrect/raw/main/autocorrect/.autocorrectrc.default + spellcheck: 2 +# Enable or disable in special context + space-dash: 0 +context: + # Enable or disable to format codeblock in Markdown or AsciiDoc etc. + codeblock: 1 +textRules: + # Config some special rule for some texts + # For example, if we wants to let "Hello你好" just warning, and "Hi你好" to ignore + # "Hello你好": 2 + # "Hi你好": 0 + "沪ICP备18008322号": 0 + "本题提交次数-1": 0 + "众所周知,生存还是死亡,这是个问题": 0 + "需要使用Dijkstra的堆优化算法": 0 + "桂平路481号": 0 + "15号楼6B3室": 0 +fileTypes: + # Config the files associations, you config is higher priority than default. + # "rb": ruby + # "Rakefile": ruby + # "*.js": javascript + # ".mdx": markdown +spellcheck: + words: + # Please do not add a general English word (eg. apple, python) here. + # Users can add their special words to their .autocorrectrc file by their need. + - ActiveMQ + - AirPods + - Aliyun + - API + - App Store + - AppKit + - AppStore = App Store + - AWS + - CacheStorage + - CDN + - CentOS + - CloudFront + - CORS + - CPU + - DNS + - Elasticsearch + - ESLint + - Facebook + - GeForce + - GitHub + - Google + - GPU + - H5 + - Hadoop + - HBase + - HDFS + - HKEX + - HTML + - HTTP + - HTTPS + - I10n + - I18n + - iMovie + - IndexedDB + - Intel + - iOS + - iPad + - iPadOS + - iPhone + - iTunes + - JavaScript + - jQuery + - JSON + - JWT + - Linux + - LocalStorage + - macOS + - Markdown + - Microsoft + - MongoDB + - Mozilla + - MVC + - MySQL + - Nasdaq + - Netflix + - NodeJS = Node.js + - NoSQL + - NVDIA + - NYSE + - OAuth + - Objective-C + - OLAP + - OSS + - P2P + - PaaS + - RabbitMQ + - Redis + - RESTful + - RSS + - RubyGem + - RubyGems + - SaaS + - Sass + - SDK + - Shopify + - SQL + - SQLite + - SQLServer + - SSL + - Tesla + - TikTok + - tvOS + - TypeScript + - Ubuntu + - UML + - URI + - URL + - VIM + - watchOS + - WebAssembly + - WebKit + - Webpack + - Wi-Fi + - Windows + - WWDC + - Xcode + - XML + - YAML + - YML + - YouTube diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml new file mode 100644 index 0000000..7a6ffdb --- /dev/null +++ b/.github/workflows/autofix.yml @@ -0,0 +1,36 @@ + +name: autofix.ci # needed to securely identify the workflow + +on: + pull_request: + push: + branches: + - "*" +permissions: + contents: read + +jobs: + autofix: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + name: install pnpm + with: + run_install: false + + - name: install node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'pnpm' + + - name: install dependencies + run: pnpm install + + - name: "Linting: autocorrect" + continue-on-error: true + run: pnpm autocorrect --fix + + - uses: autofix-ci/action@551dded8c6cc8a1054039c8bc0b8b48c51dfc6ef diff --git a/docs/manual/class/course-enroll.md b/docs/manual/class/course-enroll.md index 4c00fac..cffd6c3 100644 --- a/docs/manual/class/course-enroll.md +++ b/docs/manual/class/course-enroll.md @@ -49,7 +49,7 @@ tags: ![已加入购物车](https://ipic.luogu.com.cn/09x7z.png) -返回选课界面继续选课,重复4-6步骤进行操作。 +返回选课界面继续选课,重复 4-6 步骤进行操作。 ### 7.选定全部要购买的课程之后,点击头像旁边的购物车进行结算 {#step-7} @@ -118,6 +118,6 @@ tags: > 账号:`8888 8885 9930 0884` > 开户行:浙江网商银行股份有限公司(浙江-杭州-没有支行) > 户名:上海洛谷网络科技有限公司 -> 联行号: `3233 3100 0001`(注意这个不是账号,一般仅于开户行列表中找不到网商银行时使用) +> 联行号:`3233 3100 0001`(注意这个不是账号,一般仅于开户行列表中找不到网商银行时使用) 如果您对网校报名还有任何疑问,可以[联系客服](https://class.luogu.com.cn/service)。 diff --git a/docs/manual/class/faq.md b/docs/manual/class/faq.md index 313b36d..245bd5a 100644 --- a/docs/manual/class/faq.md +++ b/docs/manual/class/faq.md @@ -18,7 +18,7 @@ A:洛谷网校使用**洛谷账号**,若未注册洛谷账号,请按照图 ## Q:赠品物流信息在哪里查询?{#logistics-info} -A:进入[个人中心](https://class.luogu.com.cn/me#history) 切换到【历史订单】找到相应的订单,订单中的物流信息显示的就是赠品的快递单号,如果为【N/A】 那就是暂未发出或者还没更新单号。 +A:进入[个人中心](https://class.luogu.com.cn/me#history) 切换到【历史订单】找到相应的订单,订单中的物流信息显示的就是赠品的快递单号,如果为【N/A】那就是暂未发出或者还没更新单号。 ## Q:报名后,课前需要提前准备什么吗?{#system-requirement} @@ -36,7 +36,7 @@ A: :::tip -请使用最新版的 Chrome浏览器浏览洛谷网校。建议您将[我的学习中心](https://class.luogu.com.cn/learn)或对应课程详情页加入浏览器的收藏夹内,以便快速进入上课页面。 +请使用最新版的 Chrome 浏览器浏览洛谷网校。建议您将[我的学习中心](https://class.luogu.com.cn/learn)或对应课程详情页加入浏览器的收藏夹内,以便快速进入上课页面。 ::: A:洛谷网校的课时上课入口在相应课程包目录内,点击【去上课】即可进入学习界面。 diff --git a/docs/manual/luogu/account/index.md b/docs/manual/luogu/account/index.md index e389dc9..9e93ede 100644 --- a/docs/manual/luogu/account/index.md +++ b/docs/manual/luogu/account/index.md @@ -26,7 +26,7 @@ sidebar_position: 3 新用户的初始动态等级为 0,也就是灰色用户名。用户在洛谷中按照洛谷社区规则使用各项功能,会增加动态等级。如果长时间不使用洛谷或者有违规行为,可能会降级。除非用户有严重违规行为或者在长时间不使用洛谷且未进行实名认证的情况下,一旦用户达到蓝名,则不会掉到灰名。你可以在打卡之后在打卡结果中看到自己用户名的颜色。**在犇犇或者讨论中询问颜色名字和咕值相关的一些问题将被和谐。** -如果用户抄袭题解或非恶意比赛作弊,将降级至棕名及名字旁带有 Cheater 标签,每次查到持续 15 日,并且在 90 日内不得在任何比赛获得排名。 15 日后,变成灰名并清空所有 AC 记录。(即,变为 Unaccepted 100 分状态)。(注:**棕名用户是仅次于封号的最严厉警告,如果发生任何违反洛谷社区规则的事情,直接立刻封禁一年。**) +如果用户抄袭题解或非恶意比赛作弊,将降级至棕名及名字旁带有 Cheater 标签,每次查到持续 15 日,并且在 90 日内不得在任何比赛获得排名。15 日后,变成灰名并清空所有 AC 记录。(即,变为 Unaccepted 100 分状态)。(注:**棕名用户是仅次于封号的最严厉警告,如果发生任何违反洛谷社区规则的事情,直接立刻封禁一年。**) 动态等级影响洛谷内很多权限,例如创建比赛、团队、提交冷却时间、图床、下载数据等。灰名会有较多的限制。 diff --git a/docs/manual/luogu/article.md b/docs/manual/luogu/article.md index 07ea617..6ea4aab 100644 --- a/docs/manual/luogu/article.md +++ b/docs/manual/luogu/article.md @@ -37,7 +37,7 @@ sidebar_label: 个人专栏文章功能 个人公开:仅在 *个人中心* 内公开展示。 -个人隐藏:仅限作者自己查看,会显示在自己的 *个人中心* 内,但不会对访客显示。 访客无法通过 url 访问。 +个人隐藏:仅限作者自己查看,会显示在自己的 *个人中心* 内,但不会对访客显示。访客无法通过 url 访问。 已删除:不显示在 *文章管理-回收站* 内,但会保留在数据库内。 diff --git a/docs/manual/luogu/commercial-contest.md b/docs/manual/luogu/commercial-contest.md index 7f4c32d..59015b6 100644 --- a/docs/manual/luogu/commercial-contest.md +++ b/docs/manual/luogu/commercial-contest.md @@ -32,7 +32,7 @@ sidebar_position: 114514 ![首页帖子置顶](_image/cc-top-post.png) - 洛谷部分页面右下方广告位 ![右下方广告位](_image/cc-ad-block.png) -- 洛谷科技微信公众号(约1万关注者) +- 洛谷科技微信公众号(约 1 万关注者) ![洛谷科技微信公众号](_image/cc-wechat-post.png) 向注册用户发送短信(需要没有关闭推送的用户) diff --git a/docs/manual/luogu/contest.md b/docs/manual/luogu/contest.md index 045741b..be2baad 100644 --- a/docs/manual/luogu/contest.md +++ b/docs/manual/luogu/contest.md @@ -29,7 +29,7 @@ sidebar_position: 6 对于公开赛请务必按照 [公开赛审核要求](../../rules/academic/opencontest-standard.md) 上传比赛,否则比赛可能会被爆破或者被惩罚。 -**恶意创建公开比赛属于II类违反,一次即可封号。** +**恶意创建公开比赛属于 II 类违反,一次即可封号。** 个人邀请赛和团队内部赛比较宽松,但不可以违反以下几点: diff --git a/docs/manual/luogu/faq.md b/docs/manual/luogu/faq.md index 1c5aaab..8bc3c12 100644 --- a/docs/manual/luogu/faq.md +++ b/docs/manual/luogu/faq.md @@ -39,7 +39,7 @@ sidebar_position: 2 - Linux 中换行符是 `\n` 而 Windows 中是 `\r\n`(多一个字符),有些数据在 Windows 中生成,而在洛谷评测机 Linux 环境下评测。这种情况在字符串输入中非常常见。 - 评测系统运行在 Linux 下,可能由于使用了 Linux 的保留字而出现 CE,但在 Windows 下正常。 - Linux 对内存的访问控制更为严格,因此在 Windows 上可能正常运行的无效指针或数组下标访问越界,在评测系统上无法运行。 -- 严重的内存泄露的问题很可能会引起系统的保护模块杀死你的进程。因此,凡是使用 `malloc`(或 `calloc`、`realloc`、`new`)分配而得的内存空间,请使用 `free`(或 `delete`)完全释放。 +- 严重的内存泄露的问题很可能会引起系统的保护模块杀死你的进程。因此,凡是使用 `malloc`(或 `calloc`、`realloc`、`new`) 分配而得的内存空间,请使用 `free`(或 `delete`)完全释放。 - 数据可能真的有问题。但是,如果已有不止一个人通过了这道题,那最好不要怀疑是数据的锅。 ## 如何创建题目? {#problem-create} diff --git a/docs/manual/luogu/problem/index.md b/docs/manual/luogu/problem/index.md index 77ec6e3..d2d2ccf 100644 --- a/docs/manual/luogu/problem/index.md +++ b/docs/manual/luogu/problem/index.md @@ -44,7 +44,7 @@ sidebar_position: 4 ## Special Judge 使用说明 -当一个题目可以接受多种正确答案,即有多组解的时候,题目就必须被 Special Judge。 +当一个题目可以接受多种正确答案,即有多组解的时候,题目就必须被 Special Judge。 Special Judge 程序使用输入数据和一些其他信息来判答你程序的输出,并将判答结果返回。 详见:[Special Judge 使用说明](./special-judge.md) diff --git a/docs/manual/luogu/problem/interactive-problems.md b/docs/manual/luogu/problem/interactive-problems.md index d641a7d..5762b34 100644 --- a/docs/manual/luogu/problem/interactive-problems.md +++ b/docs/manual/luogu/problem/interactive-problems.md @@ -107,8 +107,8 @@ extern "C" int plus(int a, int b) { - 特别需要注意的点 -缓冲区问题。C/C++语言的输入输出函数均自带有一定的缓冲区,因此你输出的内容不一定能立刻被交互库/SPJ所读取。如果不在合适的时间清空缓冲区,很可能会造成两个程序互相等待对方输出的情况而 TLE。 +缓冲区问题。C/C++ 语言的输入输出函数均自带有一定的缓冲区,因此你输出的内容不一定能立刻被交互库/SPJ 所读取。如果不在合适的时间清空缓冲区,很可能会造成两个程序互相等待对方输出的情况而 TLE。 -每次输出完一定内容、希望对面的程序开始进行处理时,都必须手动清空缓冲区。在 C 语言中,可使用 `fflush(stdout)` 函数。在C++语言中,可使用 `std::cout << std::flush`;在使用 `std::endl` 输出一个换行时,C++语言也会自动清空缓冲区。 +每次输出完一定内容、希望对面的程序开始进行处理时,都必须手动清空缓冲区。在 C 语言中,可使用 `fflush(stdout)` 函数。在 C++ 语言中,可使用 `std::cout << std::flush`;在使用 `std::endl` 输出一个换行时,C++ 语言也会自动清空缓冲区。 -交互SPJ最好不要占用太多的 CPU 资源,因为它将与用户的程序在同一个核心上执行。最好在评测程序等待来自SPJ的输入,或者评测程序已经结束运行之后,再进行复杂的计算。 +交互 SPJ 最好不要占用太多的 CPU 资源,因为它将与用户的程序在同一个核心上执行。最好在评测程序等待来自 SPJ 的输入,或者评测程序已经结束运行之后,再进行复杂的计算。 diff --git a/docs/manual/luogu/problem/scoring-script.md b/docs/manual/luogu/problem/scoring-script.md index a23af07..ac144bc 100644 --- a/docs/manual/luogu/problem/scoring-script.md +++ b/docs/manual/luogu/problem/scoring-script.md @@ -21,7 +21,7 @@ ### 基本运算 -和 C 语言中一样,可执行加减乘除和取模五种基本运算,运算符优先级和C语言相同,可使用括号改变优先级。 +和 C 语言中一样,可执行加减乘除和取模五种基本运算,运算符优先级和 C 语言相同,可使用括号改变优先级。 ```cpp @b = (2 + 3) * @a; diff --git a/docs/manual/luogu/team/index.md b/docs/manual/luogu/team/index.md index 6b9e07e..b4b60ee 100644 --- a/docs/manual/luogu/team/index.md +++ b/docs/manual/luogu/team/index.md @@ -89,7 +89,7 @@ sidebar_position: 4 ![team15](_image/team15.jpg) -当然,还有其他别的比赛类别,例如团队公开赛,可以在洛谷上公开显示,需要经过洛谷管理员的审核。而团队邀请赛可以邀请团队外的成员在不加入团队的情况下参加比赛。 团队邀请赛可以使用固定邀请码或者是多个邀请码的方式来邀请其他人参加。 +当然,还有其他别的比赛类别,例如团队公开赛,可以在洛谷上公开显示,需要经过洛谷管理员的审核。而团队邀请赛可以邀请团队外的成员在不加入团队的情况下参加比赛。团队邀请赛可以使用固定邀请码或者是多个邀请码的方式来邀请其他人参加。 ![team16](_image/team16.jpg) diff --git a/docs/manual/luogu/team/premium.md b/docs/manual/luogu/team/premium.md index 226c1af..760f5c9 100644 --- a/docs/manual/luogu/team/premium.md +++ b/docs/manual/luogu/team/premium.md @@ -124,7 +124,7 @@ > 账号:`8888 8885 9930 0884` > 开户行:浙江网商银行股份有限公司(浙江-杭州-没有支行) > 户名:上海洛谷网络科技有限公司 -> 联行号: `3233 3100 0001`(注意这个不是账号,一般仅于开户行列表中找不到网商银行时使用) +> 联行号:`3233 3100 0001`(注意这个不是账号,一般仅于开户行列表中找不到网商银行时使用) ## 六、发票说明 diff --git a/docs/rules/academic/guide/solution.md b/docs/rules/academic/guide/solution.md index 17a4535..2efd3f9 100644 --- a/docs/rules/academic/guide/solution.md +++ b/docs/rules/academic/guide/solution.md @@ -147,17 +147,17 @@ int main() { ios::sync_with_stdio(0); cin.tie(0); - cout.tie(0);//优化cin,cout,险些TLE。 + cout.tie(0);//优化 cin,cout,险些 TLE。 /* 同前。 */ int a[100005],n; cin>>n; // 输入礼物数。 /* 题目输入格式里已经把输入的每个数字的含义写的很清楚了。 */ - for(int i=1;i<=n;i++)//代表n个礼物。 + for(int i=1;i<=n;i++)//代表 n 个礼物。 /* 还能是几个礼物? */ { cin>>a[i];//输入坐标。 /* 同前。 */ - a[i]=min(a[i]-1,1000000-a[i]);//取最小值min。 + a[i]=min(a[i]-1,1000000-a[i]);//取最小值 min。 /* 是当读者完全不知道 min 函数吗? */ } sort(a+1,a+1+n);//排序后取最大值。 diff --git a/docs/rules/academic/handbook/latex.md b/docs/rules/academic/handbook/latex.md index e2c8e35..48e5a3f 100644 --- a/docs/rules/academic/handbook/latex.md +++ b/docs/rules/academic/handbook/latex.md @@ -25,7 +25,7 @@ $\LaTeX$ 是一种基于 $\TeX$ 的排版系统,能够很方便的生成数学 文本文本$x \cdot \sin(y)$文本文本 -行间公式(**Math Blocks**,独立成行居中的公式) 前后两行分别使用 `$$ $$`(每行两个美元符号)定界,Markdown 代码可以跨行写,例如: +行间公式(**Math Blocks**,独立成行居中的公式)前后两行分别使用 `$$ $$`(每行两个美元符号)定界,Markdown 代码可以跨行写,例如: ```latex $$ @@ -59,7 +59,7 @@ $$ \end{pmatrix} $$ -行内公式的 “大小”(例如分数的大小、巨运算符上下标的位置)会比行间公式小,可以通过 `\displaystyle` 和 `\textstyle` 来切换两类模式: +行内公式的“大小”(例如分数的大小、巨运算符上下标的位置)会比行间公式小,可以通过 `\displaystyle` 和 `\textstyle` 来切换两类模式: 对于行内公式,使用 `\displaystyle` 的效果: diff --git a/docs/rules/academic/handbook/markdown.md b/docs/rules/academic/handbook/markdown.md index 96b2d43..3d2c7d1 100644 --- a/docs/rules/academic/handbook/markdown.md +++ b/docs/rules/academic/handbook/markdown.md @@ -131,7 +131,7 @@ Markdown 建立代码块的方法:将 \`\`\` 置于这段代码的首行和末 **例如:** -![C++代码示例](../_image/CppCode.png) +![C++ 代码示例](../_image/CppCode.png) ```cpp #include diff --git a/docs/rules/academic/lgr/review.md b/docs/rules/academic/lgr/review.md index b0791f6..a0c891e 100644 --- a/docs/rules/academic/lgr/review.md +++ b/docs/rules/academic/lgr/review.md @@ -17,7 +17,7 @@ sidebar_position: 100 本文中的『月赛』均指大月赛或小月赛,而不指普及组月赛和语言月赛。 -在联系 kkksc03 并与对接的月赛审核员[$^{\textsf{[2]}}$](https://www.luogu.com.cn/discuss/186291)联系后,您需要准备: +在联系 kkksc03 并与对接的月赛审核员[$^{\textsf{[2]}}$](https://www.luogu.com.cn/discuss/186291) 联系后,您需要准备: 1. 首先明确是大月赛还是小月赛,或其他类别。大月赛分 Div.2 和 Div.1,每个 Div 都是 $4$ 题,两个 Div 之间共享 $2$ 题,也就是有 ABCDEF 难度递增的共 $6$ 题,Div.2 含有 ABCD,Div.1 含有 CDEF。小月赛相当于只有大月赛的 Div.2。其他类别指的是题目编排上非传统,例如相同模型的题目分两个题或是两个 Div 均有的彩蛋题等等,但仍然需要与小月赛或大月赛中的其中一者类似,这是为了方便出题费用发放(大月赛 ¥4300 元,小月赛 ¥2200 元)。[$^{\textsf{[5]}}$](./payroll.md) 2. 原则上洛谷不接受多个组织或个人在无交流的情况下共同组题,即我们推荐在同一个组织内准备好所有题目后提交月赛申请,或至少有合作关系并且出题相关人员之间可以正常沟通。 diff --git a/docs/rules/academic/lgr/sponsoring.md b/docs/rules/academic/lgr/sponsoring.md index e6d60cc..a3842d3 100644 --- a/docs/rules/academic/lgr/sponsoring.md +++ b/docs/rules/academic/lgr/sponsoring.md @@ -27,8 +27,8 @@ sidebar_position: 80 赞助商可以冠名本场月赛。冠名后,洛谷月赛的名称由 LGR 场次号、出题组冠字号(如果有)、赞助商名号构成,例如: -- 【LGR-127】HydroOJ 12 月月赛 R1 / X Round 11 Div.2 (带有赞助商名称的大月赛) -- 【LGR-129】HydroOJ 12 月普及组月赛 R3 (没有出题组冠字号,但有赞助商名称的月赛) +- 【LGR-127】HydroOJ 12 月月赛 R1 / X Round 11 Div.2(带有赞助商名称的大月赛) +- 【LGR-129】HydroOJ 12 月普及组月赛 R3(没有出题组冠字号,但有赞助商名称的月赛) ### 页面说明 diff --git a/docs/rules/academic/solution-standard.md b/docs/rules/academic/solution-standard.md index 6044a19..f965e57 100644 --- a/docs/rules/academic/solution-standard.md +++ b/docs/rules/academic/solution-standard.md @@ -91,7 +91,7 @@ $$a + b = c$$ - 赋值语句 `a = b;` 可以写作 $a \gets b$(`$a \gets b$`)或 $b \to a$(`$b \to a$`)。 - 判定语句应使用 $=, \ne, <, \le, >, \ge$(`$=, \ne, <, \le, >, \ge$`)与艾佛森括号($[P]$ 当 $P$ 为真时取值为 $1$,$P$ 为假时取值为 $0$)进行描述。 - 整除应使用 $\lfloor \frac{a}{b} \rfloor, \lfloor a / b \rfloor, \lfloor a \div b \rfloor$(`$\lfloor \frac{a}{b} \rfloor, \lfloor a / b \rfloor, \lfloor a \div b \rfloor$`),不应使用 $\frac{a}{b}$ 或 $a/b$ 直接表示整除。 - - 取模应使用 $a \bmod b$(`$a \bmod b$`) 或 $a \equiv b \pmod p$(`$a \equiv b \pmod p$`)。 + - 取模应使用 $a \bmod b$(`$a \bmod b$`)或 $a \equiv b \pmod p$(`$a \equiv b \pmod p$`)。 - 不应出现 $a.b$ 等结构体式的写法,如有需要可以使用上下标表示。 - 位运算应使用 $\operatorname{and}, \operatorname{or}, \operatorname{xor}$(`$\operatorname{and}, \operatorname{or}, \operatorname{xor}$`)。特别地,对于状态压缩 DP 等一类常用位运算实现集合运算的代码,建议在题解中用**集合语言**直接描述。以下是一个例子: diff --git a/docs/ula/class.md b/docs/ula/class.md index 0ee7837..2a73662 100644 --- a/docs/ula/class.md +++ b/docs/ula/class.md @@ -80,7 +80,7 @@ tags: 2.11 **用户需自行配备符合上课环境要求的软硬件配套设施,如因用户网络及设备自身原因导致的课程无法正常进行,洛谷网校不承担任何责任。** -2.12 用户有权向洛谷网校要求注销用户的账户,经洛谷网校审核同意的,洛谷网校注销(永久冻结)用户的账户,届时,用户与洛谷网校基于本协议的合同关系即终止。用户的账户被注销(永久冻结)后,洛谷网校没有义务为用户保留或向用户披露用户账户中的任何信息,也没有义务向用户或第三方转发任何用户未曾阅读或发送过的信息。 +2.12 用户有权向洛谷网校要求注销用户的账户,经洛谷网校审核同意的,洛谷网校注销(永久冻结) 用户的账户,届时,用户与洛谷网校基于本协议的合同关系即终止。用户的账户被注销(永久冻结)后,洛谷网校没有义务为用户保留或向用户披露用户账户中的任何信息,也没有义务向用户或第三方转发任何用户未曾阅读或发送过的信息。 2.13 未经洛谷网校同意,不得向其他用户或其他第三方转让、出借、许可使用、出售洛谷网校的全部或部分服务。 diff --git a/docs/ula/luogu.md b/docs/ula/luogu.md index 52c02a7..51aeecb 100644 --- a/docs/ula/luogu.md +++ b/docs/ula/luogu.md @@ -28,7 +28,7 @@ tags: 2.2 洛谷对网站服务不承担任何责任,不保证服务一定会满足用户的使用要求,也不保证服务不会被中断,对服务的及时性、安全性、准确性也不作担保。 -2.3 洛谷网在现有技术上维护网站的正常运行,增加、修改和删除各项功能,并努力提升和改进技术,尽量提升用户的体验。 如因系统维护或升级的需要而需暂停网络服务,洛谷将尽可能事先进行通告。 +2.3 洛谷网在现有技术上维护网站的正常运行,增加、修改和删除各项功能,并努力提升和改进技术,尽量提升用户的体验。如因系统维护或升级的需要而需暂停网络服务,洛谷将尽可能事先进行通告。 2.4 如果用户使用洛谷的其他付费服务,则需要遵守对应服务的用户协议。 diff --git a/docs/ula/premium-team.md b/docs/ula/premium-team.md index 153c062..865d16d 100644 --- a/docs/ula/premium-team.md +++ b/docs/ula/premium-team.md @@ -48,7 +48,7 @@ tags: 3.1 有效期 -高级团队服务**有效期为365天,自服务开通之日起计算。**若您方在有效期届满后希望继续享受高级团队服务的,则需续费或重新申请。 +高级团队服务**有效期为 365 天,自服务开通之日起计算。**若您方在有效期届满后希望继续享受高级团队服务的,则需续费或重新申请。 3.2 高级团队权益可能包括以下部分或全部类型(实际权益类型可能出现新增或减少): @@ -68,7 +68,7 @@ tags: 3.6 **【不当使用高级团队服务】**您方确保您方将合理使用高级团队服务,不利用高级团队服务进行盈利或非法获利,不以任何形式转让或转移您方所享有的高级团队服务或高级团队权益,不滥用洛谷高级团队功能,不以任何方式将高级团队服务或高级团队权益借给他人使用。**若洛谷有合理理由怀疑您方存在任何不当使用会员服务行为的,洛谷将取消您方的高级团队资格、作废高级团队权益且您方不应要求洛谷退还您方所支付的高级团队服务费用。您方应对您方不当使用高级团队服务的行为及后果(包括损失)负责,您方若给洛谷造成损失的,洛谷有权向您方追偿。**滥用洛谷高级团队的功能包括但不限于创建或者复制大量的无意义题目或讨论等。 -3.7 【违背诚实信用】您方保证您方在获取和使用高级团队服务过程中应遵守诚实信用原则,**若洛谷合理怀疑您方存在以下任一情形的,您方将可能面临高级团队服务开通申请被拒绝、已开通的高级团队服务被终止或中止、已绑定或获取的高级团队权益被全部/部分取消或暂停使用,且您方不应要求退换已支付的会员服务费用(如有):** +3.7【违背诚实信用】您方保证您方在获取和使用高级团队服务过程中应遵守诚实信用原则,**若洛谷合理怀疑您方存在以下任一情形的,您方将可能面临高级团队服务开通申请被拒绝、已开通的高级团队服务被终止或中止、已绑定或获取的高级团队权益被全部/部分取消或暂停使用,且您方不应要求退换已支付的会员服务费用(如有):** a)通过任何不正当手段或以违反诚实信用原则的方式开通高级团队服务的,如恶意绕过正常开通流程; diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 106ccab..296155e 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -104,7 +104,7 @@ export default { footer: { style: 'dark', copyright: ` - Copyright © ${new Date().getFullYear()} 上海洛谷网络科技有限公司. Built with Docusaurus.
+ Copyright © ${new Date().getFullYear()} 上海洛谷网络科技有限公司。Built with Docusaurus.
沪ICP备18008322号 `, links: [{ diff --git a/package.json b/package.json index 4392745..3d1514f 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@docusaurus/preset-classic": "^3.6.1", "@easyops-cn/docusaurus-search-local": "^0.45.0", "@mdx-js/react": "^3.1.0", + "autocorrect-node": "^2.13.3", "clsx": "^2.1.1", "prism-react-renderer": "^2.4.0", "react": "^18.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b885360..8e653e5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,6 +20,9 @@ importers: '@mdx-js/react': specifier: ^3.1.0 version: 3.1.0(@types/react@18.3.12)(react@18.3.1) + autocorrect-node: + specifier: ^2.13.3 + version: 2.13.3 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -947,14 +950,14 @@ packages: react: ^16.14.0 || ^17 || ^18 react-dom: ^16.14.0 || 17 || ^18 - '@emnapi/core@1.3.1': - resolution: {integrity: sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==} + '@emnapi/core@1.4.3': + resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} - '@emnapi/runtime@1.3.1': - resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + '@emnapi/runtime@1.4.3': + resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} - '@emnapi/wasi-threads@1.0.1': - resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==} + '@emnapi/wasi-threads@1.0.2': + resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -1003,8 +1006,8 @@ packages: '@types/react': '>=16' react: '>=16' - '@napi-rs/wasm-runtime@0.2.5': - resolution: {integrity: sha512-kwUxR7J9WLutBbulqg1dfOrMTwhMdXLdcGUhcbCcGwnPLt3gz19uHVdwH1syKVDbE022ZS2vZxOWflFLS0YTjw==} + '@napi-rs/wasm-runtime@0.2.9': + resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==} '@node-rs/jieba-android-arm-eabi@1.10.4': resolution: {integrity: sha512-MhyvW5N3Fwcp385d0rxbCWH42kqDBatQTyP8XbnYbju2+0BO/eTeCCLYj7Agws4pwxn2LtdldXRSKavT7WdzNA==} @@ -1560,6 +1563,41 @@ packages: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} + autocorrect-node-darwin-arm64@2.13.3: + resolution: {integrity: sha512-oLlBdhOPP5Pw4FmRdqipwyFg7dS+7kIp7qKbBnsTzEpPS2xLjcFHThOq/GfFHbW4gDlMfVH5fBT24FmK21SDwA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + autocorrect-node-darwin-x64@2.13.3: + resolution: {integrity: sha512-FF8LzKVOwetp6g1qBvlaepYAoSAA7y6ElBHzME7zvjucrvsDwZGVubRCmeTqefWXFsjnZcG8TWkJn1SG1zdx4g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + autocorrect-node-linux-x64-gnu@2.13.3: + resolution: {integrity: sha512-hvH/5xT1Jbkj1veGWpDkBG+4wa1hER4RkKlVWdafJqJQSRDUCqXsY1WYuQWj9It862CGnuX0e5/DCWnE9kzVmQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + autocorrect-node-linux-x64-musl@2.13.3: + resolution: {integrity: sha512-9WCbUrzd5yX6aH/bpK9/tB+cpt9f+T7dh1QbN0QYz8N0eUMJi6XBbVJwCrcpu9DBXplf9vQWkVAhGBms9/bs6g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + autocorrect-node-win32-x64-msvc@2.13.3: + resolution: {integrity: sha512-TfKbyLW6L+z0kYxu5Nj5TrtvcTSnOb+0wckUykRahZprytwWDk4EIgPbcJXakXUoPgQ8Ejj6/HXsFBf0jDByBA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + autocorrect-node@2.13.3: + resolution: {integrity: sha512-4DUb5QqwFL4y4Jx2Gf5+ffc6EjQr2dfZScpbRyBRTW03vDe7zTU5v4nskCAAJvIpKQyW14lQKNQkk9X0rrMw5Q==} + engines: {node: '>= 10'} + hasBin: true + autoprefixer@10.4.20: resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} @@ -6503,18 +6541,18 @@ snapshots: - vue-template-compiler - webpack-cli - '@emnapi/core@1.3.1': + '@emnapi/core@1.4.3': dependencies: - '@emnapi/wasi-threads': 1.0.1 + '@emnapi/wasi-threads': 1.0.2 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.3.1': + '@emnapi/runtime@1.4.3': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.0.1': + '@emnapi/wasi-threads@1.0.2': dependencies: tslib: 2.8.1 optional: true @@ -6598,10 +6636,10 @@ snapshots: '@types/react': 18.3.12 react: 18.3.1 - '@napi-rs/wasm-runtime@0.2.5': + '@napi-rs/wasm-runtime@0.2.9': dependencies: - '@emnapi/core': 1.3.1 - '@emnapi/runtime': 1.3.1 + '@emnapi/core': 1.4.3 + '@emnapi/runtime': 1.4.3 '@tybys/wasm-util': 0.9.0 optional: true @@ -6637,7 +6675,7 @@ snapshots: '@node-rs/jieba-wasm32-wasi@1.10.4': dependencies: - '@napi-rs/wasm-runtime': 0.2.5 + '@napi-rs/wasm-runtime': 0.2.9 optional: true '@node-rs/jieba-win32-arm64-msvc@1.10.4': @@ -7213,6 +7251,29 @@ snapshots: at-least-node@1.0.0: {} + autocorrect-node-darwin-arm64@2.13.3: + optional: true + + autocorrect-node-darwin-x64@2.13.3: + optional: true + + autocorrect-node-linux-x64-gnu@2.13.3: + optional: true + + autocorrect-node-linux-x64-musl@2.13.3: + optional: true + + autocorrect-node-win32-x64-msvc@2.13.3: + optional: true + + autocorrect-node@2.13.3: + optionalDependencies: + autocorrect-node-darwin-arm64: 2.13.3 + autocorrect-node-darwin-x64: 2.13.3 + autocorrect-node-linux-x64-gnu: 2.13.3 + autocorrect-node-linux-x64-musl: 2.13.3 + autocorrect-node-win32-x64-msvc: 2.13.3 + autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.2 diff --git a/src/pages/about-us.md b/src/pages/about-us.md index 2210bb1..a97abb2 100644 --- a/src/pages/about-us.md +++ b/src/pages/about-us.md @@ -4,11 +4,11 @@ hide_table_of_contents: true # 关于洛谷 -上海洛谷网络科技有限公司(简称洛谷科技)成立于2018年,主要产品“洛谷网”2013年开始运营,为广大算法竞赛选手、程序设计爱好者以及院校企业机构提供算法题库、社区、训练工具、在线教育为一体的解决方案。 +上海洛谷网络科技有限公司(简称洛谷科技)成立于 2018 年,主要产品“洛谷网”2013 年开始运营,为广大算法竞赛选手、程序设计爱好者以及院校企业机构提供算法题库、社区、训练工具、在线教育为一体的解决方案。 -~~截至2019年底,洛谷拥有30万用户,有近5000公有题目和近3000万评测,是国内著名的题库与社区。~~ +~~截至 2019 年底,洛谷拥有 30 万用户,有近 5000 公有题目和近 3000 万评测,是国内著名的题库与社区。~~ -截至2022年底,洛谷拥有90万用户,有近8000公有题目和超过9000万评测,是国内著名的题库与社区。 +截至 2022 年底,洛谷拥有 90 万用户,有近 8000 公有题目和超过 9000 万评测,是国内著名的题库与社区。 ## 主要产品 @@ -38,13 +38,13 @@ hide_table_of_contents: true ## 技术栈 -洛谷目前运行在阿里云上,后端系统以PHP为核心驱动,其中间件涉及Python和Golang。前端使用vue框架。 +洛谷目前运行在阿里云上,后端系统以 PHP 为核心驱动,其中间件涉及 Python 和 Golang。前端使用 Vue 框架。 -拥有专利“一种高并发的在线程序评测系统(申请中)”,可以应对每5分钟3000个评测量(2021年11月)的高强度评测。 +拥有专利“一种高并发的在线程序评测系统(申请中)”,可以应对每 5 分钟 3000 个评测量(2021 年 11 月)的高强度评测。 ## 业务 -- **洛谷平台**:提供免费的题库和社区服务。也提供面向学校付费的高级团队服务和评测API服务。 +- **洛谷平台**:提供免费的题库和社区服务。也提供面向学校付费的高级团队服务和评测 API 服务。 - **洛谷网校**:提供高性价比的算法竞赛课程。 - **咨询**:为学校机构提供算法竞赛教学和命题咨询服务。 - **出版物**:出售洛谷自编教材。 diff --git a/src/pages/contact-us.md b/src/pages/contact-us.md index 891e4de..f942db5 100644 --- a/src/pages/contact-us.md +++ b/src/pages/contact-us.md @@ -6,7 +6,7 @@ hide_table_of_contents: true :::tip -多数问题请在【[反馈、申请、工单专版](https://www.luogu.com.cn/discuss/lists?forumname=service)】进行反馈。相关管理员将在5分钟到2周内给予回复,也有可能不会回复。因为我们的管理员均为志愿者,直接联系管理员不一定能最快的解决问题。 +多数问题请在【[反馈、申请、工单专版](https://www.luogu.com.cn/discuss/lists?forumname=service)】进行反馈。相关管理员将在 5 分钟到 2 周内给予回复,也有可能不会回复。因为我们的管理员均为志愿者,直接联系管理员不一定能最快的解决问题。 ::: diff --git a/src/pages/release-note.md b/src/pages/release-note.md index 7f9e4dd..455d0c2 100644 --- a/src/pages/release-note.md +++ b/src/pages/release-note.md @@ -109,7 +109,7 @@ ### 3 月 **帮助中心** -基于 Docusaurus 构建洛谷帮助中心([https://help.luogu.com.cn](https://help.luogu.com.cn)),涵盖洛谷主站、网校等产品的帮助文档以及洛谷社区以及学术规范文档。 +基于 Docusaurus 构建洛谷帮助中心 ([https://help.luogu.com.cn](https://help.luogu.com.cn)),涵盖洛谷主站、网校等产品的帮助文档以及洛谷社区以及学术规范文档。 **后端** 针对大量并发连接的场景进行了针对性优化,内部部分模块执行效率得到提高。 @@ -126,7 +126,7 @@ API v1 开始测试,具体详见[https://docs.lgapi.cn/open](https://docs.lgap Refactor with PHP 8.2 & Symfony 6.2 & Lentille **数据库** -数据库从 RDS MySQL 5.6 迁移并升级至PolarDB MySQL引擎 8.0 +数据库从 RDS MySQL 5.6 迁移并升级至 PolarDB MySQL 引擎 8.0 ### 11 月 @@ -200,7 +200,7 @@ ATcoder 题号变更 **洛谷网校** - 课程详情页面翻新 -- lils课程页面修复了些bug +- lils 课程页面修复了些 bug ### 5 月 @@ -228,7 +228,7 @@ ATcoder 题号变更 ### 1 月 -题目详情页:收藏按钮升级为加入题单按钮 ,可以将一个题目很方便的加入到自己可以管理的题单中。 +题目详情页:收藏按钮升级为加入题单按钮,可以将一个题目很方便的加入到自己可以管理的题单中。 题单详情页:转存题单现在可以直接转存到所处团队(需要有对应权限),同时可以支持排序 @@ -253,25 +253,25 @@ ATcoder 题号变更 ### 11 月 -团队:团队作业排行榜默认显示备注名,光标移过去时显示UID和用户名。 +团队:团队作业排行榜默认显示备注名,光标移过去时显示 UID 和用户名。 个人中心:在关注页面新增黑名单列表,现在你可以知道你一共拉黑了多少人了 -以及一些零碎的bug修复。 +以及一些零碎的 bug 修复。 ### 10 月 -RMJ:Luogu上已有的atcoder题目可以提交评测了。 +RMJ:Luogu 上已有的 atcoder 题目可以提交评测了。 个人私信:现在发送消息后会自动滚动到最底了。 比赛排行:可以显示自己的成绩了,排名暂时不行。 -高级团队:高级成员管理上线,并且修复了一些bug。 +高级团队:高级成员管理上线,并且修复了一些 bug。 ### 9 月 -比赛排行:修复因为比赛临时延长时间带来的一血判断问题,目前比赛最多可临时延长1天,超过1天还是会出现一血被顶替的问题。 +比赛排行:修复因为比赛临时延长时间带来的一血判断问题,目前比赛最多可临时延长 1 天,超过 1 天还是会出现一血被顶替的问题。 洛谷有题:升级网站后端依赖组件版本,解决稳定性问题。 @@ -279,13 +279,13 @@ RMJ:Luogu上已有的atcoder题目可以提交评测了。 高级团队:高级团队相关功能。团队主负责人可以在团队设置内开通/试用高级团队功能。 -团队作业:新版作业正式上线,旧版数据将保留至2020年底,请及时迁移。 +团队作业:新版作业正式上线,旧版数据将保留至 2020 年底,请及时迁移。 支付网关:将网校支付功能抽出,独立。 成员管理:现在可以正常显示申请者的验证信息了。 -题目列表:修复通过率toptip显示问题。 +题目列表:修复通过率 toptip 显示问题。 评测机:禁止`pragmas`头文件,在比赛中禁止用户开启 O2 优化(由举办者统一设置) @@ -293,11 +293,11 @@ RMJ:Luogu上已有的atcoder题目可以提交评测了。 个人设置:新增个人博客后台入口 -编辑题目:新增帮助信息 、修复部分题目数据上传bug +编辑题目:新增帮助信息、修复部分题目数据上传 bug 复制题目:允许在编辑题目时复制题目,高级团队允许复制公共题目的数据。 -评测机:修复清理环境的进程执行完毕后无法释放pid的bug +评测机:修复清理环境的进程执行完毕后无法释放 pid 的 bug 讨论区:增加验证码,限制频繁发帖行为。之后验证码的出现逻辑会更合理,减少对正常用户的干扰。 @@ -305,53 +305,53 @@ RMJ:Luogu上已有的atcoder题目可以提交评测了。 LFE:Add worker edition VueHighlightJS、组件样式更新。 -后端:修复部分cookie问题。 +后端:修复部分 cookie 问题。 团队:修复成员编辑无效的问题、优化系统通知信息。 奖项认证: - - 优化OIerDB,对学校数据优化合并拆分,应该解决了9成7的学校错误问题 + - 优化 OIerDB,对学校数据优化合并拆分,应该解决了 9 成 7 的学校错误问题 - 奖项列表按年份排序 搜索页面:修复了些奇怪的错误 -倒计时:根据官方修正CSP的举办日期 +倒计时:根据官方修正 CSP 的举办日期 -Tabs交互动画:添加了Selected-hover效果 +Tabs 交互动画:添加了 Selected-hover 效果 ### 7 月 -博客:修复部分主题bug +博客:修复部分主题 bug 洛谷推荐:推荐系统绝赞上线 LFE:更新了一些组件 -LILS:系统更新,入门课程准备封测(有意者联系kkk) +LILS:系统更新,入门课程准备封测(有意者联系 kkk) -RMJ:临时修复CF接口,但不保证稳定性。 +RMJ:临时修复 CF 接口,但不保证稳定性。 评测机: - 优化评测机稳定性,解决部分评测机波动的情况。 -- 更新rustc为nightly版本。 +- 更新 rustc 为 nightly 版本。 个人菜单:修正 log out 文案及图标。 移动端:调整页面样式,提升阅读浏览体验。 -- 对除首页与讨论区之外的所有页面隐藏footer。 -- 优化tinyheader排版。 +- 对除首页与讨论区之外的所有页面隐藏 footer。 +- 优化 tinyheader 排版。 -ListBlock:数字强制使用tabular-nums. +ListBlock:数字强制使用 tabular-nums. -团队作业:上线新版团队作业,保留旧版链接。旧版作业待转换or也可以手动搬运。 +团队作业:上线新版团队作业,保留旧版链接。旧版作业待转换 or 也可以手动搬运。 ### 6 月 全局页面:更改了英文字体 -题目编辑:允许在使用subtask的时候选择子任务“分数取最小值,时间取最大值”的选项。 +题目编辑:允许在使用 subtask 的时候选择子任务“分数取最小值,时间取最大值”的选项。 题单:可使用关键词搜索公开题单。 @@ -359,7 +359,7 @@ ListBlock:数字强制使用tabular-nums. 社区动态:报名邀请赛不再会显示在个人动态中 -讨论:超过20分钟的回复不允许自己删除 +讨论:超过 20 分钟的回复不允许自己删除 ### 5 月 @@ -378,7 +378,7 @@ ListBlock:数字强制使用tabular-nums. 提交答案:重新上线提交答案;其他的题目也可以上传代码源文件。 -交互题:允许创建和提交交互题,可以进行IO交互或者完成函数。 +交互题:允许创建和提交交互题,可以进行 IO 交互或者完成函数。 编辑题目:界面改版,可以上传附加文件,并在题目详情中可以下载附加文件。 @@ -388,6 +388,6 @@ ListBlock:数字强制使用tabular-nums. openid:支持第三方绑定及登录。 -### 3月 +### 3 月 题单:发布题单功能,替代试炼场。