PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   BB-коды форума (https://www.pspx.ru/forum/forumdisplay.php?f=424)
-   -   [FAQ] bb-код [CODE] - подсветка синтаксиса в коде (https://www.pspx.ru/forum/showthread.php?t=107213)

ErikPshat 30.11.2017 00:45

[FAQ] bb-код [CODE] - подсветка синтаксиса в коде
 
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 -->



Текущее время: 15:14. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.