表格布局:全宽部分标题 | 控制列宽 | 行、列和字段的背景色

我经常发布包含表格的帖子,但我发现缺少一些我认为在每个 Discourse 论坛上都非常有用的功能:


  1. 表格内全宽的章节标题:

我可以这样做:

列 1 | 列 2 | 列 3 | 列 4

–|–|–|–

章节标题

|
内容 | 其他内容 | 更多东西 | 杂项

章节标题

| 你好 | 甜蜜 | 世界 | 属于我的

但章节标题的宽度会被限制为仅占一列。如果我能继续在同一表格中操作,同时让某些行中的单个项目占据全宽,那就太好了。


  1. 能够定义某一列相对于其他列的宽度会很有用。我想实现类似这样的效果:

功能名称 | 是否已实现 | 版本 | 是否支持桌面端 | 最大限制
-----|-|–|-|–
带预览图的附件分享 | :white_check_mark: | 12.1.0 | :cross_mark: | 25 MiB

目前所有列平均分配宽度,但我希望第一列在分配可用宽度时具有优先级,从而尽量减少第一列的换行,即使某些情况下其他列包含更多字符。

编辑:赋予某一列更多宽度,或许应理解为赋予其一个最小宽度。论坛不应尝试进一步压缩该列,而应保持其宽度,并在无法容纳时让浏览器显示垂直滚动条。


  1. 无需自定义 CSS 即可定义列、行和单元格的背景色。
    例如:

预算项目 | 公司 1 | 公司 2 | 公司 3 | 公司 4 | 公司 5
–|–[浅蓝]|–|–[浅蓝]|–|–[浅蓝]
电视广告 | $400,000 | $120,000 | $0 | $23,000 | $308,000

单元格:

功能名称 | 应用 1 | 应用 2 | 应用 3 | 应用 4
–|–|–|–|–
标记文件为已读 | 是 [绿色] | 否 [红色] | 部分 [黄色] | 否 [红色]

单元格背景色会覆盖列和行的颜色。
关于行和列的优先级,我尚未确定。

我们目前没有计划分叉 markdown-it 中的表格实现。

对引擎进行修改非常棘手,且极易引发各种回归问题。如果您需要自定义 Markdown,则需要通过插件定义自己的 markdown-it 引擎。

2 个赞

供将来参考,有一个支持“长单元格”的 markdown-it 插件。

我尚未寻找用于定义背景色或定义首选列宽/相对列比例的插件。

希望有一天 markdown-it 能集成此功能,或者 Discourse 也能考虑默认支持它。