Module0xc0ffee::m
【免费下载链接】aptos-coreAptos is a layer 1 blockchain built to support the widespread use of blockchain through better technology and user experience.项目地址: https://gitcode.com/GitHub_Trending/ap/aptos-core
每个模块对应一个 `#` 级标题,标题后附带 HTML 锚点 `<a id="0xc0ffee_m"></a>`。锚点 ID 的规则为 `模块地址_模块名`,其中 `::` 被替换为下划线。该锚点供文档内部跨模块、跨结构体引用跳转使用——例如下文结构体声明代码块中出现的 `<a href="comment-with-utf8-2.md#0xc0ffee_m_Test1">Test1</a>`,指向同一文档内 `Test1` 的锚点。 ### 3.2 模块描述区与目录 模块描述区依次包含: ```markdown 这个是文档注释 // é ñ ü ß œ ☀ ★ ☯ € // é ñ ü ß œ ☀ ★ ☯ € // é ñ ü ß œ ☀ ★ ☯ € - [Struct `Test1`](#0xc0ffee_m_Test1) <pre><code></code></pre>- 文档注释内容按源码顺序拼接,中文与特殊符号原样保留;
- 随后自动生成目录(Table of Contents),列出模块内所有公开项,每项带跳转锚点链接;
- 末尾的空
<pre><code></code></pre>是 docgen 为"代码展示区"预留的占位容器,本模块没有需要展示的顶层代码片段时即为空。
3.3 结构体声明与语法高亮
## Struct `Test1` <a id="0xc0ffee_m_Test1"></a> 这个也是文档注释 <pre><code><b>struct</b> <a href="comment-with-utf8-2.md#0xc0ffee_m_Test1">Test1</a> <b>has</b> <b>copy</b>, drop </code></pre>- 结构体以
##二级标题组织,同样带锚点; - 其
///文档注释渲染为小节说明文字; <pre><code>内的声明做了语义化高亮:struct关键字被包裹为<b>struct</b>,类型名Test1被转为指向自身锚点的超链接,has能力子句(copy, drop)完整保留。
3.4 字段列表的折叠展示
<details> <summary>Fields</summary> <dl> <dt> <code>a: u64</code> </dt> <dd> </dd> <dt> <code>b: u64</code> </dt> <dd> </dd> </dl> </details>结构体字段默认以<details>/<summary>折叠面板收纳,内部使用<dl>/<dt>/<dd>定义列表排版:<dt>展示字段名: 类型(a: u64、b: u64),<dd>预留字段级文档说明的位置(本例字段无文档注释,故为空)。这一设计让字段繁多的结构体在文档页面上保持紧凑。
四、三种输出模式的对比:spec_inline、spec_separate 与 no_fold
同一份源码在 tests/sources/test-compiler-v2/ 目录下对应三个基线文件,分别验证三种输出模式:
| 基线文件 | 对应配置 | 结构差异 |
|---|---|---|
comment-with-utf8-2.spec_inline.md | specs_inlined = true,collapsed_sections = true(默认) | 规范(spec)内联进声明小节;字段用<details><summary>Fields</summary>折叠 |
comment-with-utf8-2.spec_separate.md | specs_inlined = false | 规范独立成节;字段仍折叠 |
comment-with-utf8-2.spec_inline_no_fold.md | specs_inlined = true,collapsed_sections = false | 规范内联;字段改为普通标题##### Fields,不再折叠 |
对比三份文件可见:
- spec_inline 与 spec_separate 在本例输出相同,因为模块
m并未编写任何spec块(源文件中没有任何spec语句),分离模式下没有规范可独立成节; - no_fold 模式最直观的差异在字段区:折叠面板被替换为
##### Fields标题加<dl>列表,适合不需要交互折叠的静态站点。
4.1 测试框架如何产生三种基线
tests/testsuite.rs 的test_runner函数展示了完整的生成流程:
docgen_options.include_specs = true; docgen_options.include_impl = true; docgen_options.include_private_fun = true; docgen_options.specs_inlined = true; test_docgen(path, &sources, language_version, docgen_options.clone(), "spec_inline.md")?; docgen_options.specs_inlined = false; test_docgen(path, &sources, language_version, docgen_options.clone(), "spec_separate.md")?; docgen_options.specs_inlined = true; docgen_options.collapsed_sections = false; test_docgen(path, &sources, language_version, docgen_options, "spec_inline_no_fold.md")?;【免费下载链接】aptos-coreAptos is a layer 1 blockchain built to support the widespread use of blockchain through better technology and user experience.项目地址: https://gitcode.com/GitHub_Trending/ap/aptos-core
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考