Как известно, настоящее тестирование начинается только после версии 1.0, когда софт пробует использовать горазд больше людей :-). Первые реальные применения highlight.js выявили один интересный FAQ.
Скрипт подсвечивает блоки кода, находящиеся в <pre><code>...</code></pre>
, но только если там внутри нет других тегов. Изначально так было сделано просто потому что так проще с программной точки зрения. Иначе же надо обходить текст всех вложенных элементов (хотя для этого, наверное, есть какие-нибудь функции). Но хуже другое — непонятно что потом делать с этими элементами дальше, то ли выкидывать, то ли как-то вконструировать обратно.
Ответ на это совсем неоднозначный, потому что есть код, в котором теги "просто попались" и никому не нужны (как <acronym>
ы у Слаффа, которые проставляются там автоматически). А есть код, где тегами задается очень нужное оформление, как например у меня в статье, где <del>
ами показано, что изменилось.
Кстати, Слафф, возможно стоит написать автору плагина с акронимами, чтобы он игнорировал блоки кода. Это, по идее, в любом случае правильно.
Еще одно мелкое теоретическое удобство от этого, что процесс подсветки становится безопасным применять несколько раз: отработает только первый раз, а после этого делать ничего не будет.
В общем и целом, я пока не придумал, оставить ли это как документированную особенность или как-то обработать.