#markdown-tables #table #formatter #markdown #ast #east-asian-width

markdown-table-formatter

Markdown 表格格式化器完全符合 Unicode 15.1.0 标准

2 个不稳定版本

0.3.0 2023年11月2日
0.2.0 2023年10月24日

1724文本处理

每月下载量 22

MIT 许可证

29KB
410

Markdown 表格格式化器

Rust Latest Version NPM version License: MIT Contributor Covenant

一个性能良好的表格格式化器,完全符合 Unicode 15.1.0Github Flavored Markdown (GFM) 规范。该格式化器在抽象语法树上操作,以完全捕捉 Unicode 和 GFM 规范的复杂性。

use markdown_table_formatter::format_tables;

let unformatted = "# Example

| A | B | C |
| :-- | :--: | ----: |
| C | D | E |";

let correct = "# Example

| A    |   B   |    C |
| :--- | :---: | ---: |
| C    |   D   |    E |";

assert_eq!(format_tables(unformatted), correct);

如果您正在使用 npm 软件包,请使用以下替代方案。

import { format_tables } from "@jameslanska/markdown_table_formatter";

format_tables(unformatted)

Markdown 表格格式化器 正确处理 双宽度 图形群,例如表情符号(🦀🤯)和表意 CJK(中国,日本,韩国)字符,根据 Unicode 标准附录 #11Unicode 技术标准 #51

由于表格是通过将文档解析为 抽象语法树 来在文本中发现的,因此被 HTML 块或代码块包裹的表格将被忽略。如果它没有渲染,则不会进行格式化。

本项目目标是定义一个 正确 的基本实现,可以在其他项目中使用。如果您发现正确性错误或其他错误,请 在 GitHub 上提交问题

对齐问题

如果表格对齐看起来略有偏差,并且您不确定格式是否正确,请在 vim 中打开文件进行检查。以下片段可能在 VS Code 或 GitHub Markdown 渲染中不完全对齐,但在 vim 中将正确对齐。

| A   | B   |
| --- | --- |
|||

许多文本编辑器,如 VS Code,不使用真正的等宽字体。有关更深入的讨论,请参阅 Markdown Table Formatter 的姐妹项目 字体 文档部分。

致谢

我想向 Joe Lanska 表示我最深切的感激,感谢他坚定不移的支持,以及他花时间帮助我改进文档的所有时间。

支持

如果您想进一步支持开发,请考虑 给我买一杯咖啡

依赖关系

~8.5MB
~164K SLoC