From 4fc67b97648ff00358fee521caa8737a386ce135 Mon Sep 17 00:00:00 2001 From: hh0592821 Date: Sat, 18 Jul 2026 18:01:00 +0800 Subject: [PATCH 1/6] =?UTF-8?q?docs(Markdown=E4=BD=BF=E7=94=A8=E6=89=8B?= =?UTF-8?q?=E5=86=8C):=20=E6=9B=B4=E6=96=B0=E5=B9=B6=E5=AE=8C=E5=96=84?= =?UTF-8?q?=E6=B4=9B=E8=B0=B7Markdown=E8=AF=AD=E6=B3=95=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充解析器的CommonMark合规性说明与GFM支持,提示禁用原始HTML 扩展段落换行语法,新增行尾反斜线作为换行方式 完善强调语法章节,添加删除线支持与标记边界注意事项 修复示例链接的HTTP协议为HTTPS 澄清代码块的语法规则与语言回退行为 更新表格合并的使用限制要求 补充折叠框嵌套与B站视频嵌入指南 修正多处表述与格式不一致的问题 --- docs/rules/academic/handbook/markdown.md | 62 ++++++++++++++++++------ 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/docs/rules/academic/handbook/markdown.md b/docs/rules/academic/handbook/markdown.md index 906d142..f95fa2c 100644 --- a/docs/rules/academic/handbook/markdown.md +++ b/docs/rules/academic/handbook/markdown.md @@ -2,6 +2,8 @@ Markdown 的目标是实现「易读易写」,成为一种适用于网络的书写语言。因此洛谷使用 Markdown 发布内容。 +洛谷的 Markdown 解析器在基础语法上遵循 [CommonMark 行内解析规则](https://spec.commonmark.org/current/#inlines),并支持 GFM 与下文说明的洛谷扩展语法。为保证安全性,原始 HTML 标签不会被解析,请使用 Markdown 或本手册提供的扩展语法实现排版。 + **请仔细阅读下列文档,如果没有按照要求正确使用格式,将可能无法发出讨论,或者被删除。** :::info[请注意] @@ -44,22 +46,28 @@ Markdown 的目标是实现「易读易写」,成为一种适用于网络的 ## 段落内部换行{#paragraphs-internal} -在行末输入**两个空格**可以达到比分段更加紧凑的换行的效果。 +在行末输入**两个空格**或一个反斜线(`\`),可以达到比分段更加紧凑的换行效果。 **例如:** ```markdown 这是第一行 这是第二行 + +这是第三行\ +这是第四行 ``` -(请注意“这是第一行”后的两个空格,可以用鼠标拖动选中它们) +(请注意“这是第一行”后的两个空格,可以用鼠标拖动选中它们。) 显示的效果如下: 这是第一行 这是第二行 +这是第三行\ +这是第四行 + ## 标题{#heading} Markdown 的标题是在行首插入 1 到 6 个 `#`,`#` 和标题文字之间使用一个或多个空格,对应到标题 $1$ 到 $6$ 级。 @@ -88,9 +96,9 @@ Markdown 的标题是在行首插入 1 到 6 个 `#`,`#` 和标题文字之间 ## 强调{#emphasis} -Markdown 使用星号(`*`)和底线(`_`)作为标记强调字词的符号,被 `*` 或 `_` 包围的字词会被转成用 `` 标签包围(即*斜体*),用两个 `*` 或 `_` 包起来的话,则会被转成 ``(即**粗体**)。 +Markdown 使用星号(`*`)和底线(`_`)标记需要强调的文字:一对标记表示*斜体*,两个连续的标记表示**粗体**;两个波浪号(`~~`)可表示~~删除线~~。标记需要紧贴被修饰的内容,不能在标记与内容之间插入空白。 -**例如:** +**基本写法:** ```markdown *单星号斜体* @@ -102,6 +110,8 @@ _单下划线斜体_ __双下划线加粗__ ~~删除线~~ + +这是一段包含**加粗内容**的普通文本。 ``` 显示的效果如下: @@ -116,9 +126,31 @@ __双下划线加粗__ ~~删除线~~ -但是如果 `*` 或 `_` 的两边都有空白的话,它们就只会被当成普通的符号。如果要在文字前后直接插入普通的星号或底线,可以用反斜线(`\`)(参见下面的“反斜杠”部分)。 +这是一段包含**加粗内容**的普通文本。 -**例如:** +:::tip[强调标记的边界] + +星号和底线并非总会按最近的一对自动配对。由 `*`、`_` 形成的斜体和粗体标记,都必须位于可识别的边界;例如结束标记前是标点、后面又紧接文字时,可能无法被识别为强调结束标记。 + +```markdown +*某项状态(并非最终状态)*的说明 + +**某项状态(并非最终状态)**的说明 +``` + +上例中的星号会按普通文本显示。可将结束标记移至合适的位置: + +```markdown +*某项状态(并非最终状态)的*说明 + +**某项状态(并非最终状态)的**说明 +``` + +::: + +如果 `*` 或 `_` 的两边都有空白,它们会被当作普通符号。若需要在文字前后直接显示星号或底线,可以用反斜线(`\`)转义(参见下面的“反斜杠”部分)。 + +**转义示例:** ```markdown \*使用反斜线开头的\*被当做是普通的字符\* @@ -134,7 +166,7 @@ __双下划线加粗__ ### 大段代码 -Markdown 建立代码块的方法:将 \`\`\` 置于这段代码的首行和末行,独立成一行。第一行的 \`\`\` 后面可以加上语言名称,例如 cpp、java、c、pascal 等(不要写成 c++)。**请注意,对于未指定语言的程序代码会被 fallback 到 C++,其他无法识别的语言名称(如 plain)会作为普通文本渲染**。 +Markdown 建立代码块的方法:在代码的首行和末行分别使用三个或更多的反引号(\`\`\`)或波浪号(`~~~`),并独立成行。首行标记后可加语言名称,例如 `cpp`、`c++`、`java`、`c`、`pascal` 等;未指定语言时,代码会按 C++ 显示。 **例如:** ````` @@ -325,12 +357,12 @@ Markdown 支持有序列表和无序列表以及任务列表。无序列表使 在方块括号后面紧接着圆括号并插入网址链接即可,如果还想要加上链接的 title 文字,只要在网址后面,用双引号把 title 文字包起来即可,例如: ```markdown -[行内式链接标题](http://www.luogu.com.cn/ "可选标题") +[行内式链接标题](https://www.luogu.com.cn/ "可选标题") ``` 显示效果为: -这是[行内式链接标题](http://www.luogu.com.cn/ "可选标题") 。可将光标移至链接上查看 title 效果。 +这是[行内式链接标题](https://www.luogu.com.cn/ "可选标题")。可将光标移至链接上查看 title 效果。 ## 图片{#image} @@ -338,9 +370,9 @@ Markdown 使用一种和链接很相似的语法来标记图片。在互联网 行内式的图片语法如下: -`![图片下方文字](图片相对路径或绝对路径)` +`![替代文字](图片相对路径或绝对路径)` -`![图片下方文字](图片相对路径或绝对路径 "可选标题")` +`![替代文字](图片相对路径或绝对路径 "可选标题")` **详细叙述如下**:一个惊叹号 `!`,接着一个方括号,里面放上图片的替代文字(这些文字将在图片加载失败的时候显示),接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上选择性的 title 文字。 @@ -435,7 +467,7 @@ _ 底线 表格合并是一种在表格中合并多个单元格的方法,可以用于显示连续的数据或合并多个单元格。 -在正常 Markdown 语法的基础上,结合 `^` 向上合并单元格,结合 `<` 向左合并单元格。在同一个表格内可混合使用这两种方式。 +在正常 Markdown 语法的基础上,结合 `^` 向上合并单元格,结合 `<` 向左合并单元格。在同一个表格内可混合使用这两种方式。合并标记必须是单元格内唯一的纯文本内容,不能与其他文字或 Markdown 格式混用。 ```markdown | 标题 1| 标题 2| 标题 3 |标题 4| @@ -565,7 +597,7 @@ _ 底线 ![折叠框示例](./_image/callout.png) -嵌套语法:最深的一层是三个 `:`,每往外一层就增加一个 `:`。 +嵌套语法:最深的一层是三个 `:`,每往外一层就增加一个 `:`。区块引用、列表和折叠框等容器的支持组合嵌套,请合理使用。 ```markdown ::::::warning[我是警告] @@ -588,7 +620,9 @@ _ 底线 ## 插入 Bilibili 视频{#bilibili-video} -见 [https://www.luogu.com.cn/paste/okqcziz9](https://www.luogu.com.cn/paste/okqcziz9)。 +可用图片语法插入 Bilibili 视频。 + +具体效果见 [https://www.luogu.com.cn/paste/okqcziz9](https://www.luogu.com.cn/paste/okqcziz9)。 ## LaTeX 公式支持{#latex} From 01e20748eb83d5bdfedc36f9ad383f4410cc0db7 Mon Sep 17 00:00:00 2001 From: hh0592821 Date: Sat, 18 Jul 2026 18:11:50 +0800 Subject: [PATCH 2/6] =?UTF-8?q?docs(luogu/account):=20=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E6=B4=9B=E8=B0=B7=E8=B4=A6=E6=88=B7=E5=A4=84=E7=BD=9A=E5=90=8E?= =?UTF-8?q?100=E5=88=86=E7=8A=B6=E6=80=81=E7=9A=84=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/manual/luogu/account/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/luogu/account/index.md b/docs/manual/luogu/account/index.md index e653f84..af85894 100644 --- a/docs/manual/luogu/account/index.md +++ b/docs/manual/luogu/account/index.md @@ -45,7 +45,7 @@ sidebar_position: 3 新用户的初始动态等级为 0,也就是灰色用户名。用户在洛谷中按照洛谷社区规则使用各项功能,会增加动态等级。如果长时间不使用洛谷或者有违规行为,可能会降级。除非用户有严重违规行为或者在长时间不使用洛谷且未进行实名认证的情况下,一旦用户达到蓝名,则不会掉到灰名。你可以在打卡之后在打卡结果中看到自己用户名的颜色。**在犇犇或者讨论中询问颜色名字和咕值相关的一些问题将被和谐。** -如果用户抄袭题解或非恶意比赛作弊,将降级至棕名及名字旁带有 Cheater 标签,每次查到持续 15 日,并且在 90 日内不得在任何比赛获得排名。 15 日后,变成灰名并清空所有 AC 记录。(即,变为 Unaccepted 100 分状态)。(注:**棕名用户是仅次于封号的最严厉警告,如果发生任何违反洛谷社区规则的事情,直接立刻封禁一年。**) +如果用户抄袭题解或非恶意比赛作弊,将降级至棕名及名字旁带有 Cheater 标签,每次查到持续 15 日,并且在 90 日内不得在任何比赛获得排名。 15 日后,变成灰名并清空所有 AC 记录。(即,变为 Unknown Error 100 分状态)。(注:**棕名用户是仅次于封号的最严厉警告,如果发生任何违反洛谷社区规则的事情,直接立刻封禁一年。**) 动态等级影响洛谷内很多权限,例如创建比赛、团队、提交冷却时间、图床、下载数据等。灰名会有较多的限制。 From 31e6f8626416d6bc4184a9ba598a336bef4c6980 Mon Sep 17 00:00:00 2001 From: hh0592821 Date: Sat, 18 Jul 2026 18:13:16 +0800 Subject: [PATCH 3/6] =?UTF-8?q?docs:=20=E6=9B=BF=E6=8D=A2=E6=B4=9B?= =?UTF-8?q?=E8=B0=B7=E8=B4=A6=E5=8F=B7=E6=96=87=E6=A1=A3=E4=B8=AD=E7=9A=84?= =?UTF-8?q?Cheater=E6=A0=87=E7=AD=BE=E4=B8=BA=E3=80=90=E4=BD=9C=E5=BC=8A?= =?UTF-8?q?=E8=80=85=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/manual/luogu/account/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/luogu/account/index.md b/docs/manual/luogu/account/index.md index af85894..faee944 100644 --- a/docs/manual/luogu/account/index.md +++ b/docs/manual/luogu/account/index.md @@ -45,7 +45,7 @@ sidebar_position: 3 新用户的初始动态等级为 0,也就是灰色用户名。用户在洛谷中按照洛谷社区规则使用各项功能,会增加动态等级。如果长时间不使用洛谷或者有违规行为,可能会降级。除非用户有严重违规行为或者在长时间不使用洛谷且未进行实名认证的情况下,一旦用户达到蓝名,则不会掉到灰名。你可以在打卡之后在打卡结果中看到自己用户名的颜色。**在犇犇或者讨论中询问颜色名字和咕值相关的一些问题将被和谐。** -如果用户抄袭题解或非恶意比赛作弊,将降级至棕名及名字旁带有 Cheater 标签,每次查到持续 15 日,并且在 90 日内不得在任何比赛获得排名。 15 日后,变成灰名并清空所有 AC 记录。(即,变为 Unknown Error 100 分状态)。(注:**棕名用户是仅次于封号的最严厉警告,如果发生任何违反洛谷社区规则的事情,直接立刻封禁一年。**) +如果用户抄袭题解或非恶意比赛作弊,将降级至棕名及名字旁带有【作弊者】标签,每次查到持续 15 日,并且在 90 日内不得在任何比赛获得排名。 15 日后,变成灰名并清空所有 AC 记录。(即,变为 Unknown Error 100 分状态)。(注:**棕名用户是仅次于封号的最严厉警告,如果发生任何违反洛谷社区规则的事情,直接立刻封禁一年。**) 动态等级影响洛谷内很多权限,例如创建比赛、团队、提交冷却时间、图床、下载数据等。灰名会有较多的限制。 From 14fc09564298772b712cd2447e1a1b231e2d66e6 Mon Sep 17 00:00:00 2001 From: hh0592821 Date: Mon, 20 Jul 2026 11:22:41 +0800 Subject: [PATCH 4/6] =?UTF-8?q?docs(luogu/account/id-verify):=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=B4=9B=E8=B0=B7=E5=AE=9E=E4=BA=BA=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E8=AF=B4=E6=98=8E=E4=B8=8E=E6=8C=87=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正证件类型表述,明确需正式申领相关证件,补充未领证用户需人工认证的指引,优化自助认证前置说明 --- docs/manual/luogu/account/id-verify.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/manual/luogu/account/id-verify.md b/docs/manual/luogu/account/id-verify.md index 449c02a..8d834f6 100644 --- a/docs/manual/luogu/account/id-verify.md +++ b/docs/manual/luogu/account/id-verify.md @@ -15,8 +15,8 @@ sidebar_label: 实人认证 :::caution -- 洛谷将通过第三方提供的人脸核验服务来核实用户提供的**姓名、18 位居民身份证(或港澳台居民居住证)号码**与申请者是否一致。 -- 未持有以上证件请直接[人工认证](#manual-certify)。 +- 洛谷将通过第三方提供的人脸核验服务来核实用户提供的**姓名、居民身份证或港澳台居民居住证号码**与申请者是否一致。 +- 未申领过以上证件,未在官方留过人脸数据的请直接[人工认证](#manual-certify)。 - 即使您已有奖项认证,在追加新的奖项认证前,也需要先完成实人认证。 - 一旦认证通过认证,绑定的实人信息无法自主更改。**请务必**使用自己的身份信息进行认证,如有错误请立即联系管理员处理。 @@ -24,7 +24,8 @@ sidebar_label: 实人认证 ## 自助认证 -如持有 18 位居民身份证(或港澳台居民居住证)号码,请按照以下步骤进行自助认证。 +如正式申领过居民身份证、18位号码的港澳台居民居住证,请按照以下步骤进行自助认证。 +如未领取过以上证件,请直接[人工认证](#manual-certify)。 1. 进入[用户设置-安全设置](https://www.luogu.com.cn/user/setting/security),找到实人认证设置项,点击【开始认证】。 2. 输入真实姓名和身份证号码(或港澳台居民居住证号码),点击提交。 From 5a210715e04e3a93356ea93099484bfa5f945c4b Mon Sep 17 00:00:00 2001 From: hh0592821 Date: Mon, 20 Jul 2026 11:24:44 +0800 Subject: [PATCH 5/6] =?UTF-8?q?docs(=E6=B4=9B=E8=B0=B7=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E5=AE=9E=E5=90=8D=E8=AE=A4=E8=AF=81):=20=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E5=85=B6=E4=BB=96=E8=AF=81=E4=BB=B6=E7=B1=BB=E5=9E=8B=E7=9A=84?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E6=83=85=E5=BD=A2=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/manual/luogu/account/id-verify.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/luogu/account/id-verify.md b/docs/manual/luogu/account/id-verify.md index 8d834f6..98be56d 100644 --- a/docs/manual/luogu/account/id-verify.md +++ b/docs/manual/luogu/account/id-verify.md @@ -62,7 +62,7 @@ UID(洛谷用户编号): ### 具体受理的情形 -- 其他证件类型:未持有 18 位居民身份证(或港澳台居民居住证)号码。 +- 其他证件类型:未申领过居民身份证或港澳台居民居住证。 - 认证信息错误:账号的实人认证信息非本人。 - 认证信息迁移:用户的实人认证的迁移申请。 - 无法通过扫脸验证:已更换网络环境或设备都无法自助完成认证。 From 7245b68d0cabe2da822d80862ddc16b379ad75f1 Mon Sep 17 00:00:00 2001 From: hh0592821 Date: Tue, 21 Jul 2026 16:26:06 +0800 Subject: [PATCH 6/6] =?UTF-8?q?docs(luogu=20account):=20=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E6=B4=9B=E8=B0=B7=E9=80=9A=E8=A1=8C=E5=AF=86=E9=92=A5PIN?= =?UTF-8?q?=E7=A0=81=E8=AE=BE=E7=BD=AE=E8=AF=B4=E6=98=8E=E5=8F=8A=E9=85=8D?= =?UTF-8?q?=E5=A5=97=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/manual/luogu/account/_image/passkey-4.png | Bin 0 -> 17770 bytes docs/manual/luogu/account/register-roll.md | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 docs/manual/luogu/account/_image/passkey-4.png diff --git a/docs/manual/luogu/account/_image/passkey-4.png b/docs/manual/luogu/account/_image/passkey-4.png new file mode 100644 index 0000000000000000000000000000000000000000..d396aea3d1fca2bf08cc2e5ab967ce75652bfada GIT binary patch literal 17770 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