Markdown 中的 Table 一键排序

2018-11-06 22:05:43 +08:00
 simonguo

背景

在 Markdown 中我们经常会用到表格 , 但是手动排版太麻烦了,特别是表格排序。

在我们的开源项目 React Suite 中,组件的 API 文档,会用到大量的表格, 在写的时候随心所欲的写,发布上线,然后有人反应,包括我自己也觉得没有排序的表格,阅读起来太不爽了。

那怎么办?改呗。 本来想让新来的同事去改的, 然后再一看文档,80 个左右的组件再加上中英文两个版本,有 160 个左右的表格需要改,每一个表格如果要人工调整是很痛苦的。交给新同事太残忍了,还是自己写个工具解决吧。

本来想找个现成的工具,但是没找到,然后看了看类似的表格的格式化 VS Code 的插件,然后随手就改了改,写了一个可以排序的小插件,希望可以帮到您。

效果

格式化前大概长成这个样子,乱七八糟。

| name | email | description |
| -- | -- | --- |
| zhang | zhang@a.com  | zhang  |
| wang | wang@a.com   | wang |
| li | li@a.com   | li  |
| amity | amity@a.com  | amity  |
| batman | batman@a.com | batman |

格式后,就整齐了,同时 name 一列按照字母排序了。

| name   | email        | description |
| ------ | ------------ | ----------- |
| amity  | amity@a.com  | amity       |
| batman | batman@a.com | batman      |
| li     | li@a.com     | li          |
| wang   | wang@a.com   | wang        |
| zhang  | zhang@a.com  | zhang       |

表格的格式我用的是prettier,它提供很方便的 API。

安装

在 VS Code Extensions 中搜索: Markdown Table Sort

3959 次点击
所在节点    分享创造
22 条回复
yesmeck
2018-11-06 22:11:45 +08:00
lucifineil
2018-11-06 22:15:46 +08:00
org 大法好
simonguo
2018-11-06 22:23:35 +08:00
@yesmeck 这个不错
lululau
2018-11-06 22:36:06 +08:00
这个操作叫 tabularization,感觉 LZ 应该也是工具控,建议玩下 Emacs,玩下 org-mode,那种感觉就是再也回不去了。即便是为了和他人协作必须用 Markdown,Emacs 的 markdown-mode, 因为用了 org-tbl-mode,所以它可能也是最棒的 Markdown 编辑器了
kerr92
2018-11-06 23:04:15 +08:00
@yesmeck 原来 antd 是这么给 Markdown 表格排序的,明天借鉴一下加到公司文档的 npm scripts 里😄
quinoa42
2018-11-07 06:32:53 +08:00
踢一下馆


相关扩展:
```
Plug 'godlygeek/tabular'
Plug 'plasticboy/vim-markdown'
```
maemolee
2018-11-07 09:15:53 +08:00
比如 姓名-值 的表格,能按照 值 从大到小排列吗?
simonguo
2018-11-07 09:42:23 +08:00
@maemolee 实现上是完全可以的,不过等我过两天空了,把这些配置功能加上。
maemolee
2018-11-07 10:42:43 +08:00
@simonguo NICE
tamlok
2018-11-07 11:26:35 +08:00
@quinoa42 如果有中文,效果会怎么样?
simonguo
2018-11-07 11:41:31 +08:00
@quinoa42 如果能排序,效果会更好
Betsy
2018-11-07 12:03:20 +08:00
@quinoa42 想问下你这个动态图是怎么录制的,用的什么工具?
quinoa42
2018-11-07 12:42:15 +08:00
quinoa42
2018-11-07 12:59:33 +08:00
@simonguo 个人觉得排序不应该是 markdown 工具的一部分(考虑到各种排序的可能性,难免会使问题变得非常复杂),如果有类似需求我会选择用 python 之类的工具事先生成表格
quinoa42
2018-11-07 13:01:51 +08:00
STRRL
2018-11-07 13:13:30 +08:00
@quinoa42 问一下 中文字体用的什么呀?
recall704
2018-11-07 15:47:49 +08:00
当某一格的内容太多的时候还是不好使。
Daath
2018-11-07 17:15:54 +08:00
提个建议:能不能只帮我格式化每行的距离,但不要为每行排序上下位置这样的配置,忽略现在按字段名来排序了每行的上下位置。。感觉写文档的时候就已经自己有顺序的去写了。。我是手写的。。。原谅我不是自动生成的。
Daath
2018-11-07 17:18:42 +08:00
就像 6 楼那样的。。。。
Trim21
2018-11-07 17:24:32 +08:00
有可能从新同事写的工具变成了自己写的工具...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/505167

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX