Заставить Pagedown работать с редактором MarkItUp - PullRequest
4 голосов
/ 13 декабря 2011

У меня есть сайт 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>

Пока все хорошо.Проблема / мой вопрос в том, что ... когда я запускаю это и начинаю печатать, все становится круче, так как предварительный просмотр преобразуется правильно, когда я печатаю, , но Курсив не работает.Использую ли я нотацию _ или одиночную * нотацию, набираю или щелкаю в редакторе ... она не выделена курсивом.

Есть ли проблема между конвертером Pagedown и редактором MarkItUp?Или я что-то упустил noob-ishly?

Для пояснения, вот как выглядит предварительный просмотр DIV (Firebug):

<div id="preview" class="markdown">
    <p>stuff you <em>dont</em> see <em>every</em> day.</p>
</div>

Обратите внимание, что "dont" помечено _ символамии "каждый" с *.

1 Ответ

4 голосов
/ 17 декабря 2011

* * * * * * * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * то, что я достиг.Для меня это звучит так, будто у вас просто есть правило CSS, которое не позволяет отображать стиль курсива так, как вы намереваетесь.В вашей реализации Markdown нет ничего плохого!

Вы можете это исправить, не затрагивая остальную часть вашего сайта, добавив соответствующее правило CSS, стилизуя <em> элементы в #preview.markdown курсивом.

Кстати, причина, по которой сценарии сброса CSS удаляют стили, заключается в следующем: когда вы используете браузер по умолчанию для стилизации своего контента, у вас может возникнуть соблазн использовать теги для их визуального эффекта, а не для их семантической цели.Делая это, вы с большей вероятностью столкнетесь с проблемами, когда браузеры по-разному интерпретируют представление этих элементов.Сброс переворачивает это и пытается дать вам непротиворечивый чистый лист, в котором вы можете написать семантически верный HTML, а затем оформить его по своему вкусу с помощью CSS.Подробнее об этом вы можете прочитать во введении к сбросу Эрика Мейера .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...