Работаем над школьным проектом, где мы создаем веб-сайт на основе форума. Мы используем PageDown и Prettify для обработки текста.
но, как и сейчас, мы должны использовать <!--?prettify?-->
в коде, чтобы сделать его красивым и гладким, но есть ли способ, которым мы можем сказать программе, чтобы обрабатывать все <pre>
tags из PageDown автоматически с помощью prettify?
Есть ли недостатки у автоматического SyntaxHighlighter?
1 # Возможное решение, но не то, что я имел в виду:
Вы можете добавить $("pre").addClass("prettyprint");
в javascript. Этот код даст каждому предварительному тегу класс prettyprint, но этот короткий код не будет работать в предварительном просмотре Markdown, поэтому для меня это решение только на 50%.
2 # Возможное решение для предварительного просмотра, но не удобное для пользователя:
Я обнаружил, что вы можете вызвать функцию prettyPrint();
, чтобы выделить все теги <pre>
с помощью class="prettyprint"
. Итак, если мы объединим решение с этим и добавим setInterval()
(или что-то еще вроде .click
) для совершения звонков, мы получим что-то, что работает с предварительным просмотром Markdown. Я считаю, что этот способ не удобен для пользователя, потому что он использует много компьютерной мощности (я думаю), и если вы внимательно посмотрите, вы можете увидеть небольшое мерцание иногда в тегах <pre>
.
Это код:
var timer = setInterval(prettytimer, 0);
function prettytimer() {
$("pre").addClass("prettyprint");
prettyPrint();
};
Если кому-то интересно, почему нет проверки .removeClass()
или hasClass()
, это потому, что .addClass()
не добавляет один и тот же класс дважды.