3

我曾与几种不同类型的“用户生成内容”网站合作过:wiki、留言板、博客……这些系统可能有很大不同:博客文章编辑器允许对演示文稿进行更多控制,而不是博客文章的评论。 , wiki 主题编辑器鼓励原始 URL 上的 wiki 链接等。

然而,每个人都有一个共同的关键设计决策:我应该为用户提供简化的标记语言,如 Wikitext、Markdown 或 BBCode,迫使用户学习,还是应该给他们一个所见即所得的编辑器,如 CKEdit 或 TinyMCE 并过滤或在幕后转换生成的 HTML?

曾经有一段时间,我认为这是识别我的目标受众的简单问题:有技术头脑的用户得到标记,非技术用户得到所见即所得。在实践中,这并没有那么好,偶尔的用户在标记和 WYSIWYG 编辑器中为底层 HTML 提供最好的泄漏抽象。

因此,我最初的信心被彻底粉碎,我来寻求建议:

  • 做出此决定时应考虑哪些因素?
  • 简单的标记系统是否已经变得足够普遍,以至于我可以依赖大多数用户至少对它们有一定的了解?
  • ...或者我应该将它们仅仅视为过去的遗物而放弃,并努力寻找使所见即所得更有效地工作的方法...?

我不想回去撕毁我已经做过的事情。无论好坏,这些系统都在工作,他们的少数用户现在很舒服或至少能胜任。但是在整合未来的设计时,最好有一些更好的指导方针。

4

2 回答 2

3

一种似乎运作良好的方法是使用 Markdown,就像在 SO 上所做的那样。愚蠢和/或懒惰的人(向所有人道歉)可以简单地在框中输入文本;它看起来很乱,但它大部分都在那里并且可读。关心文本外观的人可以做一些简单的事情,这些事情在很大程度上几乎是直观的(比如在段落之间留空行,在列表项之前放置星号或数字)并且它只是 Works™

对于许多应用程序和人员来说,这已经足够了。一些炫目的网站,例如 Google 博客,让您可以选择(单击按钮即可更改)编辑原始 HTML 或使用 WYSIWYG 编辑器(这种编辑器经常失败,以至于我通常选择原始 HTML)。理论上,您甚至可以为您的用户提供 3 种选择,例如 Markdown、HTML 和 WYSIWYG;但在某些时候,你会想知道你为什么还要打扰。有些用户总是会在界面的某些方面苦苦挣扎,他们会责怪你。我相信找到一个快乐的媒介,而不是费心让每个人都快乐。

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

于 2009-12-31T15:43:53.170 回答
0

“在做出这个决定时,我应该考虑哪些因素?” 你的客户想要什么?在需要原始标记的附加功能之前,您是否可以使用“简化的”所见即所得的“回退”系统?大多数用户最常使用哪些类型的东西?哪些功能使用频率较低,但在需要时,您的客户就离不开?

“简单的标记系统是否变得足够普遍,以至于我可以依赖大多数用户至少对它们有一定的了解?” 对于使用 wiki 和博客的人,我认为答案是肯定的。即使是博客上的评论者在某种程度上也是为了最简单的事情,但同样,我认为如果他们能够(或一些常见的标记子集),你应该让他们做内联标记,并且如果他们需要的话,可以选择更多的权力。

“..或者我应该将它们仅仅视为过去的遗物而放弃,并努力寻找使所见即所得更有效地工作的方法......?” 我不会一下子接受这一切。从一个坚实的功能内核开始工作,然后向外工作到一个完整的系统。

于 2009-12-31T15:43:03.227 回答