【发布时间】:2011-12-13 00:40:11
【问题描述】:
我有一个需要处理用户帖子的 MVC3 站点。我正在尝试使用 MarkItUp 进行文本编辑,因为我喜欢它功能齐全、易于定制的功能。但是,我使用两个 markdown 库进行转换:Pagedown(客户端)和MarkdownSharp(服务器端)。
这是我的编辑视图中的脚本:
<script type="text/javascript" src="@Url.Content("~/scripts/jquery.markitup.js")"></script>
<script type="text/javascript" src="@Url.Content("~/scripts/jquery.markitup.settings.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/Markdown.Converter.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/Markdown.Sanitizer.js")"></script>
<script type="text/javascript" >
$(document).ready(function () {
var converter = new Markdown.Converter();
$('.editor').markItUp(markdownSettings);
$('.markdown').live('keyup', function () {
var md = $('#comment-editor').val();
var html = converter.makeHtml(md);
$('#preview').html(html);
});
$('.markdown').live('click', function () {
var md = $('#comment-editor').val();
var html = converter.makeHtml(md);
$('#preview').html(html);
});
});
</script>
还有 HTML:
@Html.TextArea("html", "enter your text here", new { id = "comment-editor", @class = "editor" })
<div id="preview" class="markdown"></div>
到目前为止一切顺利。问题/我的问题是......当我启动它并开始输入时,一切都很正常,因为我输入时预览正在正确转换,但 Italic 不起作用。无论我使用 _ 表示法还是单 * 表示法,在编辑器中键入或单击...它都不是斜体。
Pagedown 转换器和 MarkItUp 编辑器之间是否存在问题?还是我很菜鸟错过了什么?
为了澄清,这里是预览 DIV 的样子(Firebug):
<div id="preview" class="markdown">
<p>stuff you <em>dont</em> see <em>every</em> day.</p>
</div>
请注意,“dont”用_ 字符标记,“every”用* 标记。
【问题讨论】:
-
预览中的 HTML 是什么样的?任何标签中是否包含斜体字?降价字符是被删除还是保留在预览中?
-
@DavidBrainer-Banker 我为您更新了问题。从 Firebug 看来,下划线和星号字符似乎都应该将文本包装在
<em>中。 -
您是否使用了任何形式的 CSS 重置脚本?
<em>元素应用了哪些样式(您应该也可以在 Firebug 中看到)? -
是的。我认为所有用户代理样式表默认都有斜体斜体字。大多数 css 重置表都会覆盖它。
-
@one.beat.consumer 是否有网站的实时预览,我可以在其中看到自己的行为?我也许能够准确地指出发生了什么。但是,因为您看到了
<em>标签,所以您可以放心 Markdown 正在按预期工作。
标签: jquery html asp.net-mvc-3 razor markdown