为什么MarkdownSharp不能编码我的HTML?

Ste*_*ham 10 c# markdown markdownsharp asp.net-mvc-2

在我看来,Markdown的一个更大目标是阻止用户直接输入可能格式错误的HTML.

那么在MarkdownSharp中我并不完全适合我.

当你在"abc"之后立即获得额外的换行符时,此示例正常工作... 在此输入图像描述

但是当那个换行不存在时,我认为它应该仍然是HtmlEncoded,但这不会发生在这里...... 在此输入图像描述

在幕后,渲染的标记来自iframe.这就是它背后的代码......

<% 
var md = new MarkdownSharp.Markdown();
%>
<%= md.Transform(Request.Form[0]) %>
Run Code Online (Sandbox Code Playgroud)

当然,我必须遗漏一些东西.哦,我正在使用v1.13(撰写本文时的最新版本).


编辑(这是对StackOverflow实现的测试)

ABC

这不应该是红色的

Ste*_*ham 2

由于很明显 StackOverflow 实现包含相当多的自定义项,测试和弄清楚这些自定义项可能非常耗时,因此我决定转向另一个方向。

我创建了自己的简化标记语言,它是 Markdown 的子集。开源项目位于http://ultralight.codeplex.com/ ,您可以在http://www.bucketsoft.com/ultralight/查看工作示例

该项目是一个完整的 ASP.NET MVC 解决方案,带有 Javascript 编辑器。与 MarkdownSharp 不同的是,安全的 HTML 是有保证的。客户端和服务器端均使用 Javascript 解析器来保证标记的一致性(特别感谢Jurassic Javascript 编译器)。只需为该解析器维护一个代码库是一件美妙的事情。

尽管该项目仍处于测试阶段,但我已经在自己的网站上使用它,并且到目前为止似乎运行良好。