我正在编写一些wiki,并通过我的所有语法高亮选项。在wiki语法(mediawiki)和markdown +白名单标签之间进行辩论。我想我更喜欢后者,但我认为我的用户需要表格。为什么Stackoverflow上不允许使用表?
<table> <tr> <td> </td> </tr> </table>
答案 0 :(得分:4)
它们没有Q&amp; A格式的用途。至少我想不出一个原因,我需要用一张桌子来回答别人的问题,或者自己问一个。
另外,无论如何你都可以这样做:
cell 1-1 cell 1-2
cell 2-1 cell 2-2
编辑:所以在阅读了我的回复评论后,我发现可能会有一些案例表可以提供更好的视觉辅助。所以我打算推荐类似于CSV的降价;我认为这很容易打字和实施。
答案 1 :(得分:2)
如果您的网站是在表格之上构建的,并且您无法编写足以验证用户HTML在语法上是否正确的正则表达式,那么禁用表格将是个好主意,否则您的布局可能会受到影响。
即使您的网站没有放置表格,在评论帖等中有两套格式错误的表格HTML也可能导致您的网站被污损。
答案 2 :(得分:2)
三个原因:
标准Markdown 不支持表格。它就像电子邮件一样。 SO使用标准Markdown,因此没有表格。
Some Markdown扩展支持表格,但它们之间不兼容,这使得Markdown的想法无效,因为内容依赖于特定的Markdown实现。
因此,表格只能用HTML-inside-Markdown制作。哪个也不好。我确信Markdown2PDF,Markdown2TeX和Markdown2TheNextBigML转换器很容易编写。将带有嵌入式HTML的Markdown转换为除HTML之外的任何内容并非易事。因此,如果允许(某些)嵌入式HTML,则无需将所有内容存储在Markdown(纯文本)中。
清理所有用户提交的HTML的另一个原因很明显,正确解析它太困难和昂贵,并且可以打破布局(例如<table width="10000" height="10000">
)。
最后,轻量级(纯Markdown)标记有一个巨大的好处:它不依赖于特定的站点布局(屏幕宽度,填充,边距,对齐,列宽等)。因此,如果从现在开始一年后进行SO重新设计,则不需要编辑内容(HTML代码段隐含地依赖于特定的CSS)。额外奖励:更容易在第三方应用程序(如手机客户端)中使用。
答案 3 :(得分:1)
我认为这是武断的。它们可能有很多用途,但似乎这里首选手动对齐固定宽度的文本(我认为这是一种黑客行为)。
就个人而言,我更喜欢BBCode风格的语法。
“显式”意味着任何预期的效果几乎可以用任何组合表示,并且没有意外的效果(例如在使用许多特殊字符之一时的降价中)。例如,我不知道如何让这个网站以非固定字体(* word *)显示星号中的单词。摩尔斯电码不能使用下划线,因为它也是一个特殊字符。在BBCode中,只有一个特殊字符:[
此外,输入清理变得更加简单。
答案 4 :(得分:1)
考虑到Wisiwyg javascript编辑器(WMD)必须实时呈现您正在输入的内容 (Jeff从一开始就想要的一个重要特征)
因此,我认为表的动态更新过于复杂,无法解析/显示,因为HTML翻译器在您输入时必须解释不完整的表结构。
这意味着要处理像colspan,rowspan,不正确的标题结构等功能。
因此,要获得更好的动态预览体验,表格会完全划伤。
答案 5 :(得分:1)
在许多情况下,表格很有用:数据表格,显示矩阵,显示算法的可能结果等。
我认为你不需要像HTML表那样复杂的东西(带有rowspan和all),普通的CSV对于99%的用例来说已经足够了。它还允许javascript动态渲染器轻松完成其工作。
CSV众所周知,轻巧,易于打字和理解。除此之外唯一需要的是CSV数据的开始和结束标记。例如[csv] ... [/ csv]或|| ... ||。这可能是它的样子:
[csv]
**XOR**,**true**,**false**
**true**, false, true
**false**, true, false
[/csv]
这将产生一个像这样的表:
XOR true false
true false true
false true false
(第一行和第一列用粗体字符表示)