在允许用户在我的网站上输入富文本时,我应该考虑什么标准?

时间:2009-12-31 15:18:50

标签: wysiwyg markup richtext

我使用过几种不同类型的“用户生成内容”网站:wiki,留言板,博客......这些系统可能有很大不同:博客文章编辑器允许更多地控制演示而不是评论< em> on 博客文章,wiki主题编辑器鼓励原始URL等的wiki链接。

但是,每个关键设计决策都是常见的:我应该为用户提供简化的标记语言,如Wikitext,Markdown或BBCode,强迫用户了解,或者我应该给他们一个WYSIWYG编辑器,如CKEdit或TinyMCE并在幕后过滤或转换生成的HTML?

曾经有一段时间我认为这是识别我的目标受众的一个简单问题:有技术头脑的用户获得加价,非技术用户获得WYSIWYG。在实践中,这并没有很好地解决这个问题,偶尔的用户正在努力使用标记,而所见即所得的编辑器最多只能提供底层HTML的漏洞抽象。

因此,在我最初的信心被压碎之后,我来寻求建议:

  • 在做出此决定时,应该考虑哪些因素?
  • 让简单的标记系统变得普遍,我可以依赖大多数某些熟悉它们的用户?
  • ...或者我应该抛弃它们仅仅是过去的遗物,并努力寻找使所见即所得更有效的方法......?

我不打算回去撕掉我已经做过的事情。无论好坏,这些系统都在工作,他们的用户很少,或者至少现在能够胜任。但是,在将未来的设计放在一起时,有一些更好的指导方针会很好。

2 个答案:

答案 0 :(得分:3)

似乎运行得相当好的一种方法是在此处使用Markdown。愚蠢和/或懒惰的人(向所有人道歉)可以简单地将文字扔进盒子里;它看起来很混乱,但它主要是那里和可读的。关心文本外观的人可以做一些简单的事情,这些事情在很大程度上几乎是直观的(比如在段落之间留下空白行,在列表项之前加上星号或数字)和Just Works™

对于很多应用程序和人来说,这是Good Enough™。一些名副其实的网站,例如Google博客,为您提供了编辑原始HTML或使用WYSIWYG编辑器的选择(只需点击一下按钮就可以更改)(这种编辑器经常出错,我通常会选择原始HTML)。从理论上讲,您甚至可以为用户提供3种选择,例如Markdown,HTML和WYSIWYG;但在某些时候,你会想知道为什么你甚至打扰。有些用户总是会对界面的某些方面感到困惑,他们会责备你。我相信找到一个快乐的媒介,而不是打扰让每个人都开心。

从我的观点来看,最重要的考虑因素是安全性。如果您允许原始HTML,您的用户可以插入垃圾邮件和恶意软件,并基本上为了他们的目的劫持您的网站;所以你必须小心限制允许的内容。另一个考虑因素是,如果您允许,例如, H1标题,人们可以占用大量的空间和注意力,使用真正属于下属的帖子。如果你允许CSS(包括HTML标签中的style属性),那么再次有办法破坏你的“真实”内容。另一个大问题源于未封闭或无法匹配的标签。这些都是非常严重的问题,你想在严格方面犯错,以避免更严重的问题。

答案 1 :(得分:0)

“做出这个决定时,我应该考虑哪些因素?”您的客户想要什么?您是否可以使用'简化'系统,在需要添加原始标记功能之前,可以使用“简化”WYSIWYG?大多数用户最常使用的是什么类型的东西?什么功能使用较少,但是,当需要时,您的客户不能没有?

“简单的标记系统变得很普通,我可以依赖大多数熟悉它们的用户吗?”对于使用wiki和博客的人,我认为答案是肯定的。即使是博客上的评论者在某种程度上对于最简单的事情,但是我认为如果他们能够(或者一些常见的标记子集),他们应该让他们在线标记,并且如果他们需要,可以选择更多的权力。

“..或者我应该抛弃它们仅仅是过去的遗物,并努力寻找使所见即所得更有效的方法......?”我不会立刻采取这一切。从功能强大的内核开始,向外工作,再到完整的系统。