我非常喜欢Stack Overflow评论用户界面,我正在考虑在我自己的网站上实现相同的功能.我查看了代码,看起来这里的主要工具是
WMD,JQuery
TextArea Resizer起到支持作用.
WMD在客户端将Markdown转换为HTML.这非常好,因为它有助于预览,但在将其发送到服务器时遇到了挑战.如果存在验证错误(例如,用户在评论表单的其他部分输入了无效的电子邮件地址,或者他没有输入他的名字),则服务器通过重新显示表单并返回错误消息来响应表格字段预先填充.只是现在评论文本是HTML,而不是Markdown,因为服务器甚至从未看过Markdown.但我希望它是Markdown,因为那是用户输入的内容.
这里有什么想法?
我考虑过各种想法:
>做一个服务器端HTML-to-Markdown transformation.对这个想法并不那么兴奋.似乎很快就会从Markdown转换为HTML再回到Markdown,作为用户,当软件重新格式化我的文本/代码时,我总觉得它很烦人.
>客户端验证(增加服务器端验证,我当然会保留).虽然目前我在评论表单上使用reCAPTCHA,这似乎是一个合理的方向,这意味着我需要将至少reCAPTCHA部分发布到服务器上.
>丢失WMD并使用MarkdownJ将Markdown转换为服务器上的HTML.我需要寻找一些其他机制来完成预览功能,我想保留它.
理想情况下,除了HTML之外,还有一些方法可以获得文本的Markdown版本并将其提交给服务器,但我还不足以知道这是否真的存在.
任何建议赞赏.
解决方法
看到这个问题:
Convert HTML back to Markdown for editing in wmd(对于右侧导航栏中的“相关”框,是的!)