# @adobe/remark-gridtables 中文文档

规范地址：https://npmcn.com/package/%40adobe/remark-gridtables/

版本：3\.0\.22
npm 元数据更新时间：2026-10-17T23:00:42.343Z
中文译文更新时间：2026-11-05T18:18:44.736Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：121 kB，20 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：2 个
- 首次发布：2022-10-07T13:57:55.714Z
- 最新版本发布：2026-10-17T23:00:41.960Z
- 近 30 天下载量：84233（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：31（近 12 个月 7 个）

## 中文简介

标记网格表

## 安装

```sh
npm install @adobe/remark-gridtables
```

也可以使用：`pnpm add @adobe/remark-gridtables`、`yarn add @adobe/remark-gridtables`、`bun add @adobe/remark-gridtables`

## README

# 标记网格表

> 添加插件, 以解析并序列化缩放网格表 .

## 状态

[![codecov](https://img.shields.io/codecov/c/github/adobe/remark-gridtables.svg)](https://codecov.io/gh/adobe/remark-gridtables) ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/adobe/remark-gridtables/main.yaml) [![GitHub license](https://img.shields.io/github/license/adobe/remark-gridtables.svg)](https://github.com/adobe/remark-gridtables/blob/master/LICENSE.txt) [![GitHub issues](https://img.shields.io/github/issues/adobe/remark-gridtables.svg)](https://github.com/adobe/remark-gridtables/issues) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

## 这是什么?

这个软件包是 [统一](https://github.com/unifiedjs/unified) (单位:千美元)[评论](https://github.com/remarkjs/remark)) 启用网格表扩展的插件.

**统一** 用抽象语法树转换内容的工程 (ASTs) (英语). **评论** 添加对减值的支持以统一. **目标数** 是减价的AST 用来表示. 这是一个改变 mdast 的评论插件 .

## 我什么时候用这个?

此工程在您想要支持解析和序列化网格表时有用 .

此插件不处理如何将标记降为 HTML . 这是由 \[`remark-rehype`\[注-回\].

## 安装

这个软件包是 [仅限无害环境管理](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c)。 。 。 . 在Node.js(12.20+,14.14+,或16.0+)中,安装与 [无](https://docs.npmjs.com/cli/install)数字 :

```sh
$ npm install @adobe/remark-gridtables
```

## 使用量

```js
import { unified } from 'unified';
import stringify from 'remark-stringify';
import remark from 'remark-parse';
import remarkGridTable from '@adobe/remark-gridtables';

// markdown -> mdast
const mdast = unified()
  .use(remark)
  .use(remarkGridTable)
  .parse(sourceMarkdown);


// mdast -> markdown
const outputMarkdown = unified()
  .use(stringify)
  .use(remarkGridTable)
  .stringify(mdast);
```

另见 [试验/实例.js](https://npmcn.com/package/%40adobe/remark-gridtables/test/example.js) 关于如何生成 HTML 表格.

## 概览

网格表是这样的:

```
+-------------------+------+
| Table Headings    | Here |
+--------+----------+------+
| Sub    | Headings | Too  |
+========+=================+
| cell   | column spanning |
| spans  +---------:+------+
| rows   |   normal | cell |
+---v----+:---------------:+
|        | cells can be    |
|        | *formatted*     |
|        | **paragraphs**  |
|        | ```             |
| multi  | and contain     |
| line   | blocks          |
| cells  | ```             |
+========+=========:+======+
| footer |    cells |      |
+--------+----------+------+
```

-   单元格顶部必须用 `+-` 接着是一些 `-` 或者说 `+` 完成于 `-+`。 。 。 .
-   如果表格包含页脚但没有页眉,则上行应当使用 `=` 作为网格线.
-   col 跨度用缺一栏表示(`|`(a) 划界人
-   缺行表示行长(`-`(a) 划界人
-   单元格可以是左、中、右或对齐的理由;通过放置 `:` 或者说 `><`
-   单元格可以是上,中,或下相v;用箭头的放入表示(`v` `^` `x`(中文(简体) )
-   标题和页脚段由区划符划定(`=`) (中文(简体) ).
-   如果没有分区分隔符,所有单元格都放在表格正文中.
-   如果只有1个区划符,则它从正文中划分标题.
-   单元格中的内容可以再次成为完整的Markdown文档。 注,单元格边界(`|`(中文(简体) ) 需要与列标记完全匹配(`+`在行分隔符中,如果单元格内容 包含 `|`,否则无法保证表格的正确布局.

# 版式

表格布局试图使表格保持一定的宽度(默认为120). 譬如说, 如果表格有3个栏,则每个栏将最大宽40个字符。 如果列中的所有文字 较小, 它会缩小柱子。 然而,当 文本需要被打破。 如果单元格内容需要更多的空格,例如有嵌入式表或 代码块,它会相应增长.

# 对齐

水平对齐通过在单元格上方的网格线上放置标记来表示:

```
Justify     Center     Left       Right
+>-----<+  +:-----:+  +:------+  +------:+
| A b C |  |  ABC  |  | ABC   |  |   ABC |
+-------+  +-------+  +-------+  +-------+
```

垂直对齐通过在单元格上方的网格线中心放置标记来表示:

```
Top        Middle     Bottom
+---^---+  +---x---+  +---v---+
| Larum |  |       |  |       |
| Ipsum |  | Larum |  |       |
|       |  | Ipsum |  | Larum |
|       |  |       |  | Ipsum |
+-------+  +-------+  +-------+
```

## 语法

```ebfn

gridTable := gridLine cellLine+ gridLine;
gridLine := gridCell+ "+";
cellLine := ( gridCell | cellContent )+ ( "+" | "|" );   
gridCell := "+" alignMarkerStart? ("-" | "=")+ vAlignMarker? ("-" | "=")* alignMarkerEnd?;
cellContent := ( "+" | "|" ) " " content " " ;
alignMarkerStart := ":" | ">";
alignMarkerEnd   := ":" | "<";
vAlignMarker     := "^" | "v" | "x"
```

## MDAST 语法树

以下接口被添加到 **\[沉 \[** 由这个工具.

### 节点

#### `GridTable`

```idl
interface GridTable <: Parent {
  type: "gridTable"
  children: [GridTableHeader|GridTableBody|GridTableFooter]
}
```

#### `GridTableHeader`

```idl
interface GridTableHeader <: Parent {
  type: "gtHead"
  children: [GridTableRow]
}
```

#### `GridTableBody`

```idl
interface GridTableBody <: Parent {
  type: "gtBody"
  children: [GridTableRow]
}
```

#### `GridTableFoot`

```idl
interface GridTableFooter <: Parent {
  type: "gtFoot"
  children: [GridTableRow]
}
```

#### `GridTableRow`

```idl
interface GridTableRow <: Parent {
  type: "gtRow"
  children: [GridTableCell]
}
```

#### `GridTableCell`

```idl
interface GridTableCell <: Parent {
  type: "gtCell"
  colSpan: number >= 1
  rowSpan: number >= 1
  align: alignType
  valign: valignType
  children: [MdastContent]
}
```

**网格表环** (\[**家长**\[dfn-parent\])代表一个标题单元格 \[**网格表**\[dfn-table\],如果其父母是\[_网格表头_\[术语\],或数据 否则,单元格.

**网格表环** 可用于\[**网格表单**\[dfn-row-content\] 内容有望. 其内容模式是\[**目标数**\[dfn-phrasing-content\]内容,允许完整的mdast文档.

### 编号

#### `alignType`

```idl
enum alignType {
  "left" | "right" | "center" | "justify" | null
}
```

#### `valignType`

```idl
enum alignType {
  "top" | "bottom" | "middle" | null
}
```

## 常见问题

### @adobe/remark-gridtables 是什么？

标记网格表

### 如何安装 @adobe/remark-gridtables？

在项目目录运行 npm install @adobe/remark-gridtables，或使用 pnpm add / yarn add / bun add。

### @adobe/remark-gridtables 支持 TypeScript 吗？

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

### @adobe/remark-gridtables 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @adobe/remark-gridtables 可以商用吗？

@adobe/remark-gridtables 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @adobe/remark-gridtables 的下载量有多少？

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

### @adobe/remark-gridtables 还在维护吗？

最新版本 3\.0\.22 发布于 2026/10/18（19 天前）；至今共发布 31 个版本，其中过去 12 个月发布了 7 个；首次发布于 2022/10/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

