Я пишу в своем блоге на ASP.NET и использую встраивание Gist для мои кодовые блоки. Я хотел бы раскрасить код, чтобы он соответствовал тому, как конкретный язык отображается в его IDE. В частности, Swift в Xcode.
Я начал с jsFiddle и дошел до того, что выбрал «var» и сделал его красным, но в примере, который я нашел для перебора слов и их переноса, используется значение return, которое прерывает цикл.
update: оператор return, который я нашел здесь, вызывает синтаксическую ошибку. Я адаптировал код из эту публикацию и с удовольствием рассмотрю альтернативы.
Как я могу перебрать каждое слово на экране и условно обернуть их?
Я могу сопоставить одно слово, но не могу найти способ продолжить операцию. Для простоты давайте найдем только два слова: var и override.
мой код:
var line = $('.line');
$.each(line, function(i, val){
var value = $('.line').text();
$("*:contains('var')").html(function(_, html) {
return html.replace(/(var)/g, '<span style="color:red;">$1</span>');
});
$("*:contains('override')").html(function(_, html) {
return html.replace(/(override)/g, '<span style="color:blue;">$1</span>');
});
});
мой jsFiddle.
html
? - person adeneo   schedule 17.05.2015*
соответствует всем, а внешние элементы содержат одни и те же элементы несколько раз, поэтому замены происходят несколько раз и т. д. Вы должны каким-то образом отфильтровать элементы, чтобы получить только элементы без дочерних элементов, а затем выполните замена на тех. - person adeneo   schedule 17.05.2015