Вход

Просмотр полной версии : [FAQ] bb-код [CODE] - подсветка синтаксиса в коде


ErikPshat
30.11.2017, 00:45
headinclude - бэкап кода, залитого на форуме (старая версия):
<link rel="stylesheet" href="styles/ir_black.css" />

<!-- highlight.js block code -->
<script type="text/javascript" src="highlight.pack.js"></script>
<script type="text/javascript">
hljs.tabReplace = ' ';
hljs.initHighlightingOnLoad();
</script>
<!-- / highlight.js block code -->


Новая версия 9.12.0 грузится со скоростного сервера CDN (улучшена подсветка синтаксиса):
176 languages and 79 styles
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/vs2015.min.css" />

<!-- highlight.js block code -->
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- / highlight.js block code -->


Оффсайт: https://highlightjs.org
Стили на CDN: https://cdnjs.com/libraries/highlight.js/
Демонстрация стилей и подсветки языков программирования: https://highlightjs.org/static/demo/


SHOWTHREAD - выделение кода
<!-- Select Code -->
<script type="text/javascript">
function selectCode(a)
{
var e = a.parentNode.parentNode.getElementsByTagName('PRE')[0];
if (window.getSelection)
{
var s = window.getSelection();
if (s.setBaseAndExtent)
{
s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
}
else
{
var r = document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}
}
else if (document.getSelection)
{
var s = document.getSelection();
var r = document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}
else if (document.selection)
{
var r = document.body.createTextRange();
r.moveToElementText(e);
r.select();
}
}
</script>
<!-- / Select Code -->

ErikPshat
16.12.2017, 03:11
В шаблоне "bbcode_code" удалено после <div> кнопка Код: "Выделить"

Было:
<div style="margin-bottom:15px;">
<div class="smallfont" align="right">$vbphrase[code]: <a href="#" onclick="selectCode(this); return false;"><input type="button" value="Выделить" style="width:63px; font-size:11px;" /></a></div>
<pre class="alt2" dir="ltr" style="
background-color: #2B303B;
margin: 0px;
padding: $stylevar[cellpadding]px;
border: 1px inset;
text-align: left;
white-space: pre-wrap;
overflow: auto;"><code>$code</code></pre>
</div>
Стало:
<div style="margin:15px 0 15px 0;">
<pre class="alt2" dir="ltr" style="
background-color: #2B303B;
margin: 0px;
padding: $stylevar[cellpadding]px;
border: 1px inset;
text-align: left;
white-space: pre-wrap;
overflow: auto;"><code>$code</code></pre>
</div>
Из SHOWTHREAD так же удалён скрипт выделения:
<!-- Select Code -->
<script type="text/javascript">
function selectCode(a)
{
var e = a.parentNode.parentNode.getElementsByTagName('PRE')[0];
if (window.getSelection)
{
var s = window.getSelection();
if (s.setBaseAndExtent)
{
s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
}
else
{
var r = document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}
}
else if (document.getSelection)
{
var s = document.getSelection();
var r = document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}
else if (document.selection)
{
var r = document.body.createTextRange();
r.moveToElementText(e);
r.select();
}
}
</script>
<!-- / Select Code -->