我有一个需要处理用户帖子的MVC3网站。我正在尝试使用MarkItUp进行文本编辑,因为我喜欢它的全功能,易于定制,功能。但是,我使用两个降价库进行转换: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”标有*
。
答案 0 :(得分:4)
Matthew所写的是我所得到的。对我来说肯定听起来就像你只是有一个CSS规则,它阻止了斜体样式显示你想要的。 Markdown实施没有任何问题!
您可以通过在<em>
内添加样式#preview.markdown
元素的相应CSS规则作为斜体来解决此问题,而不会影响您网站的其余部分。
顺便说一下,CSS重置脚本删除样式的原因是:当您依赖浏览器默认设置样式时,您可能会想要使用标签来实现其视觉效果而不是语义目的。通过这样做,当浏览器以不同方式解释这些元素的表示时,您更有可能遇到问题。重置翻转并尝试为您提供一致的空白平板,您可以在其中编写语义有效的HTML,然后根据您的喜好使用CSS设置样式。您可以在introduction to Eric Meyer's reset。
中详细了解相关信息