# @cppalliance/antora-cpp-tagfiles-extension 中文文档

规范地址：https://npmcn.com/package/%40cppalliance/antora-cpp-tagfiles-extension/

版本：0\.1\.1
npm 元数据更新时间：2026-05-12T22:43:40.329Z
中文译文更新时间：2026-11-10T22:04:56.917Z
软件包许可：BSL-1\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cppalliance/antora-cpp-tagfiles-extension
原文对照：https://npmcn.com/package/%40cppalliance/antora-cpp-tagfiles-extension/?lang=original
项目主页：https://github.com/cppalliance/antora-cpp-tagfiles-extension#readme
源码仓库：https://github.com/cppalliance/antora-cpp-tagfiles-extension

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.3 MB，14 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：5 个
- 首次发布：2024-09-25T18:44:28.421Z
- 最新版本发布：2026-05-12T22:43:40.173Z
- 近 30 天下载量：2728（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 2 个）

## 中文简介

C++ 组合 Antora 的标签文件扩展

## 安装

```sh
npm install @cppalliance/antora-cpp-tagfiles-extension
```

也可以使用：`pnpm add @cppalliance/antora-cpp-tagfiles-extension`、`yarn add @cppalliance/antora-cpp-tagfiles-extension`、`bun add @cppalliance/antora-cpp-tagfiles-extension`

## README

```asciidoc
cpp:std::vector[]
```

这将成为一个链接 `std::vector` 标签文件中的类.

```asciidoc
https://en.cppreference.com/w/cpp/container/vector[std::vector,window="_blank"]
```

也就是说 `https://en.cppreference.com/w/cpp/container/vector[std::vector,window="_blank"]`。 。 。 .

扩展支持基本类型、自定义标签文件,使用 命名空间指令、模板参数、嵌入符号以及 替换目标名称.

## 配置

### 无

安装此扩展名

```bash
npm i -D @cppalliance/antora-cpp-tagfiles-extension
```

### 游戏本

在您的 `antora-playbook.yaml`数字 :

```yaml
antora:
  extensions:
    - require: '@cppalliance/antora-cpp-tagfiles-extension' # 
      cpp-tagfiles:
          files: # 
            - file: ./doc/tagfiles/boost-url-doxygen.tag.xml
              base_url: 'xref:reference:'
            - file: ./doc/tagfiles/boost-system-doxygen.tag.xml
              base_url: https://www.boost.org/doc/libs/master/libs/system/doc/html/
            - file: ./doc/tagfiles/boost-core-doxygen.tag.xml
              base_url: https://www.boost.org/doc/libs/master/libs/core/doc/html/
            - file: ./doc/tagfiles/boost-filesystem-doxygen.tag.xml
              base_url: https://www.boost.org/doc/libs/master/libs/filesystem/doc/
          using-namespaces: 
            - boost::urls
            - boost::urls::grammar
            - boost::system
            - boost::core
```

-   < 1> (韩语) `npm` 软件包名称 : `@cppalliance/antora-cpp-tagfiles-extension` (必须)
    
-   <2> 扩展名所用的标签文件列表
    
-   < 3> 扩展使用的名称空间列表
    

### 构成部分

组件也可以设置自己的标签文件. 附加以下 `antora.yaml`数字 :

```yaml
ext:
  cpp-tagfiles: # 
      files: # 
        - file: ./doc/tagfiles/boost-url-doxygen.tag.xml
          base_url: 'xref:reference:'
        - file: ./doc/tagfiles/boost-system-doxygen.tag.xml
          base_url: https://www.boost.org/doc/libs/master/libs/system/doc/html/
        - file: ./doc/tagfiles/boost-core-doxygen.tag.xml
          base_url: https://www.boost.org/doc/libs/master/libs/core/doc/html/
        - file: ./doc/tagfiles/boost-filesystem-doxygen.tag.xml
          base_url: https://www.boost.org/doc/libs/master/libs/filesystem/doc/
      using-namespaces: 
        - boost::urls
        - boost::urls::grammar
        - boost::system
        - boost::core
```

-   < 1> 播放本需要启用扩展名
    
-   <2> 组件要使用的标签文件列表
    
-   < 3> 组件使用的命名空间列表
    

这些标签文件只影响其定义所在的组件.

### {# }

扩展包括默认的cppreed tagfile. 任何未知事项 自定义标签文件中的符号将在引用标签文件中查找.

### 使用参考扩展名

何时 `@cppalliance/antora-cpp-reference-extension` (单位:千美元)[https://github.com/cppalliance/antora-cpp-reference-extension 页面存档备份,存于互联网档案馆](https://github.com/cppalliance/antora-cpp-reference-extension))为 显示在同一播放簿中的引用标签文件已注册 自动,所以 `cpp:` 宏可以链接到在 同样的建筑。 如果您通过 `module`,那个 模块的 `xref:` 前缀自动随行, 无额外 需要配置 :

```yaml
antora:
  extensions:
    - require: '@cppalliance/antora-cpp-reference-extension'
    - require: '@cppalliance/antora-cpp-tagfiles-extension'
```

您仍然可以在游戏本或组件中列出额外的标签文件 如果需要指向其他库,则描述符,但生成 自动取出参考模块.

## 特征

### 未知符号

如果扩展名无法在标签文件中找到一个符号,它将会使 符号为纯文本.

```asciidoc
cpp:unknown[]
```

这将使案文变得简单明了:

```asciidoc
`unknown`
```

也就是说 `unknown`。 。 。 .

#### 缺少符号

默认情况下, 扩展会让缺失的符号沉默地变得简单 单空间输出。 设定 `missing-symbol-log-level` 到任何 Antora 日志级别 (例如 `info`, (中文(简体) ), `warn`,或 `error`发送日志条目时 保持内线文本不变.

```yaml
antora:
  extensions:
    - require: '@cppalliance/antora-cpp-tagfiles-extension'
      cpp-tagfiles:
        missing-symbol-log-level: warn
        files:
          - file: ./doc/tagfiles/boost-url-doxygen.tag.xml
            base_url: 'xref:reference:'
```

有效值为标准 Antora 日志级别 : `trace`, (中文(简体) ), `debug`, (中文(简体) ), `info`, (中文(简体) ), `warn`, (中文(简体) ), `error`,以及 `fatal`启用 `silent` (或离开选项) unset)完全压制伐木.

\* 说明: Antora's (英语) `runtime.log.level` (默认) `warn`过滤日志输出 独立选择。 下一级 `warn` (例如: `info` 或者说 `debug`实际上,Antora的日志水平也必须是或 其下为相. 例如,设置 `runtime.log.level: warn` 财务报告和审定财务报表 `missing-symbol-log-level: info` 仍然会压制缺失的符号 日志,因为信息级别低于警告的运行时日志级别。 单位 这个案子,设置 `runtime.log.level: info` 在游戏本或传球中 `--log-level info` 在命令线上。 如果你想要缺少符号 通知显示时没有额外的 Antora 配置, 使用 `warn` 因为它是默认的 Antora 日志级别. \* :

### 基本类型

基本类型包括:

```asciidoc
cpp:int[]
```

这将成为一个链接 `int` 基本类型 参考书目.

```asciidoc
`https://en.cppreference.com/w/cpp/language/types#Standard_integer_types[int,window="_blank"]`
```

也就是说 `https://en.cppreference.com/w/cpp/language/types#Standard_integer_types[int,window="_blank"]`。 。 。 .

### 来自 Tag 文件的符号

标签文件的符号作为链接提供:

```asciidoc
cpp:std::string[]
```

这将成为一个链接 `std::string` 类别 cppreaty 标签文件.

```asciidoc
`https://en.cppreference.com/w/cpp/string/basic_string[std::string,window="_blank"]`
```

也就是说 `https://en.cppreference.com/w/cpp/string/basic_string[std::string,window="_blank"]`。 。 。 .

支持没有参数的模板类:

```asciidoc
cpp:std::vector[]
```

这将成为一个链接 `std::vector` 类别 cppreaty 标签文件.

```asciidoc
`https://en.cppreference.com/w/cpp/container/vector[std::vector,window="_blank"]`
```

也就是说 `https://en.cppreference.com/w/cpp/container/vector[std::vector,window="_blank"]`。 。 。 .

自定义标签文件的符号不包含 `window="_blank"` 属性,如果 `base_url` 相对.

```asciidoc
cpp:is_charset[]
```

这将成为一个链接 `boost::urls::grammar::is_charset` 类别 `boost-url-doxygen.tag.xml` 标签文件.

```asciidoc
`xref:reference:boost/urls/grammar/is_charset.adoc[boost::urls::grammar::is_charset]`
```

### 构成部分

当组件定义自己的标签文件时,这些标签文件只影响 定义和优先的成分 游戏本中定义的标签文件.

```asciidoc
cpp:boost::urls::string_token::assign_to[]
```

这将成为一个链接 `boost::urls::string_token::assign_to` 类别 `boost-url-doxygen.tag.xml` 标签文件.

```asciidoc
`xref:reference:boost/urls/string_token/assign_to.adoc[boost::urls::string_token::assign_to]`
```

然而,如果其他部分使用 `cpp:` 对于同一个符号 没有合适的标签文件, 符号会像普通 语句.

```asciidoc
`boost::urls::string_token::assign_to`
```

### 命名空间

默认名称空间也可以在播放本中或 组件。 当没有匹配的全符号,扩展会 尝试在命名空间中查找符号。 假设 `boost::urls::grammar` 在游戏本或组件中定义:

```asciidoc
cpp:boost::urls::grammar::is_charset[]
cpp:is_charset[]
```

这将成为一个链接 `boost::urls::grammar::is_charset` 类别 `boost-url-doxygen.tag.xml` 标签文件。 然而,链接文本 将会是任何提供给延期.

```asciidoc
`xref:reference:boost/urls/grammar/is_charset.adoc[boost::urls::grammar::is_charset]`
`xref:reference:boost/urls/grammar/is_charset.adoc[is_charset]`
```

和标签文件一样,在一个组件中定义的命名空间只影响 组件。 命名空间 `std::` 也可以定义:

```asciidoc
cpp:std::string[]
cpp:string[]
```

这将成为一个链接 `std::string` 类别 cppreaty 标签文件.

```asciidoc
`https://en.cppreference.com/w/cpp/string/basic_string[std::string,window="_blank"]`
`https://en.cppreference.com/w/cpp/string/basic_string[string,window="_blank"]`
```

### 模板参数

支持模板参数. 延伸段还将包括链接 从模板参数的标签文件.

```asciidoc
cpp:std::vector<int>[]
```

这将成为一个链接 `std::vector<int>` 类别 cppreaty 标签文件.

```asciidoc
`https://en.cppreference.com/w/cpp/container/vector[std::vector,window="_blank"]<https://en.cppreference.com/w/cpp/language/types#Standard_integer_types[int,window=_blank]>`
```

也就是说 `https://en.cppreference.com/w/cpp/container/vector[std::vector,window="_blank"]<https://en.cppreference.com/w/cpp/language/types#Standard_integer_types[int,window=_blank]>`。 。 。 .

自定义标签文件的符号也可以使用模板参数:

```asciidoc
cpp:std::vector<url_view>[]
```

这将成为一个链接 `std::vector<url_view>` 类别 cppreaty 标签文件.

```asciidoc
`https://en.cppreference.com/w/cpp/container/vector[std::vector,window=\"_blank\"]&#x3C;url_view&#x3E;`
```

也就是说 `https://en.cppreference.com/w/cpp/container/vector[std::vector,window="blank"]<url_view>`。 。 。 .

如果命名空间 `boost::urls` 它将在上下文中使用 也用于解决 `url_view`数字 :

```asciidoc
cpp:std::vector<url_view>[]
```

这将成为一个链接 `std::vector<url_view>` 类别 cppreaty 标签文件.

```asciidoc
`https://en.cppreference.com/w/cpp/container/vector[std::vector,window=\"_blank\"]&#x3C;xref:reference:boost/urls/url_view.adoc[url_view]&#x3E;`
```

### 嵌入符号

扩展支持嵌入符号 :

```asciidoc
cpp:boost::urls::url_view_base::segments[]
```

这将成为一个链接 `boost::urls::url_view_base::segments` 类别 `boost-url-doxygen.tag.xml` 标签文件.

```asciidoc
`xref:reference:boost/urls/url_view_base/segments.adoc[boost::urls::url_view_base::segments]`
```

这页是 `boost::urls::url_view_base::segments` 符号 在标签文件中定义, 而不仅仅是 `boost::urls::url_view_base`。 。 。 .

有时标签文件中没有嵌入符号的页面,所以 链接将重定向到父符号的页面.

```asciidoc
cpp:std::vector::iterator[]
```

这将成为一个链接 `std::vector` 类别 引用标签文件 :

```asciidoc
`https://en.cppreference.com/w/cpp/container/vector[std::vector::iterator,window=\"_blank\"]`
```

也就是说 `https://en.cppreference.com/w/cpp/container/vector[std::vector::iterator,window="blank"]`。 。 。 .

注意,没有页面 `std::vector::iterator` 在引用中, 因此链接会重定向到父的页面 `std::vector` 符号.

模板和嵌入式符号也可以合并:

```asciidoc
cpp:std::vector<url_view_base::segments>::iterator[]
```

这将成为一个链接 `std::vector<url_view_base::segments>::iterator` 类别 cppreaty 标签文件.

```asciidoc
`https://en.cppreference.com/w/cpp/container/vector[std::vector,window="_blank"]&#x3C;xref:reference:boost/urls/url_view_base/segments.adoc[url_view_base::segments]&#x3E;::https://en.cppreference.com/w/cpp/container/vector[std::vector::iterator,window="_blank"]
`
```

### 替换目标名称

扩展可以替换链接的目标名.

```asciidoc
cpp:std::vector[sequential container]
```

这将成为一个链接 `std::vector` 类别 cppreed tagfile 有文本"序列容器".

```asciidoc
`https://en.cppreference.com/w/cpp/container/vector[sequential container,window="_blank"]`
```

也就是说 `https://en.cppreference.com/w/cpp/container/vector[sequential container,window="_blank"]`。 。 。 .

当为模板类提供自定义文本时, 扩展将只提供 链接主符号 :

```asciidoc
cpp:std::vector<int>[sequential container]
```

这将成为一个链接 `std::vector` 类别 cppreed tagfile 有文本"序列容器".

```asciidoc
`https://en.cppreference.com/w/cpp/container/vector[sequential container,window="_blank"]`
```

这也使得 `https://en.cppreference.com/w/cpp/container/vector[sequential container,window="_blank"]`。 。 。 .

```asciidoc
cpp:url_view_base::segments[URL segments]
```

这将成为一个链接 `boost::urls::url_view_base::segments` 类别 `boost-url-doxygen.tag.xml` 带有文字“ URL” 的标签文件 部分。".

```asciidoc
`xref:reference:boost/urls/url_view_base/segments.adoc[URL segments]`
```

## 常见问题

### @cppalliance/antora-cpp-tagfiles-extension 是什么？

C\+\+ 组合 Antora 的标签文件扩展

### 如何安装 @cppalliance/antora-cpp-tagfiles-extension？

在项目目录运行 npm install @cppalliance/antora-cpp-tagfiles-extension，或使用 pnpm add / yarn add / bun add。

### @cppalliance/antora-cpp-tagfiles-extension 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/cppalliance\_\_antora-cpp-tagfiles-extension 是否存在。

### @cppalliance/antora-cpp-tagfiles-extension 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @cppalliance/antora-cpp-tagfiles-extension 可以商用吗？

@cppalliance/antora-cpp-tagfiles-extension 使用 BSL-1\.0 许可。声明的许可为 BSL-1\.0，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @cppalliance/antora-cpp-tagfiles-extension 的下载量有多少？

根据 npm 官方下载统计，@cppalliance/antora-cpp-tagfiles-extension 在 2026/10/11 – 2026/11/09 这 30 天内被下载 2,728 次，日均约 91 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @cppalliance/antora-cpp-tagfiles-extension 还在维护吗？

最新版本 0\.1\.1 发布于 2026/05/13（5 个月前）；至今共发布 4 个版本，其中过去 12 个月发布了 2 个；首次发布于 2024/09/26。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

