Подсветка текста с DLE 9.5 для DLE 9.х


Хаки для DLE - Подсветка текста с DLE 9.5 для DLE 9.х




Как вы уже знаете в DLE 9.5 появилась встроенная подсветка кода ! Решил вырезать эту функцию и прикрутить к DLE 9.4 (Возможно и ниже.)

Установка
1.Кидаем в engine/classes папку highlight берем с дистрибутива DLE 9.5

2.Открываем index.php находим
Code
if ($config['fast_search'] AND $user_group[$member_id['user_group']]['allow_search']) {

  $ajax .= <<<HTML
var dle_search_delay = false;
var dle_search_value = '';
$(function(){
  FastSearch();
});
HTML;

}


Ниже вставляем
Code
if (strpos ( $tpl->result['content'], "<pre><code>" ) !== false) {

  $js_array[] = "engine/classes/highlight/highlight.code.js";

  $ajax .= <<<HTML

$(function(){
  $('pre code').each(function(i, e) {hljs.highlightBlock(e, null)});
});
HTML;

}


3.Открываем engine/classes/parse.class.php находим
Code
$source = preg_replace( "#\[code\](.+?)\[/code\]#is", "<!--code1--><div class=\"scriptcode\"><!--ecode1-->\\1<!--code2--></div><!--ecode2-->", $source );
$source = preg_replace( "#\[(left|right|center)\](.+?)\[/\\1\]#is", "<div align=\"\\1\">\\2</div>", $source );


Заменяем на
Code
$source = preg_replace( "#\[code\](.+?)\[/code\]#is", "<pre><code>\\1</code></pre>", $source );

  if ( !$parse->allow_code ) {
  $source = preg_replace( "#<pre><code>(.+?)</code></pre>#ies", "\$this->clear_p_tag('\\1')", $source );
  }

  $source = preg_replace( "#\[(left|right|center)\](.+?)\[/\\1\]#is", "<div align=\"\\1\">\\2</div>", $source );


Ищем
Code
$txt = str_replace( "</li><!--dle_li--><li>", '[*]', $txt );


Ниже вставляем
Code
$txt = str_replace( "<pre><code>", '[code]', $txt );
$txt = str_replace( "</code></pre>", '[/ code]', $txt );


Уберите пробел в [/ code]

Снова ищем
Code
function build_thumb($gurl = "", $url = "", $align = "") {


Выше вставляем
Code
function clear_p_tag($txt) {

  $txt = stripslashes( $txt );

  $txt = preg_replace('/<p[^>]*>/', '', $txt);
  $txt = str_replace("</p>", "", $txt);  

  return "<pre><code>".$txt."</code></pre>";

  }


4.Открываем templates/ваш шаблон/style/engine.css и в самый низ добавляем
Code
/*---подсветка текста в теге [ code ]---*/
pre code {
  display: block; padding: 0.5em;
  background: #f9fafa;
  border: 1px solid #dce7e7;
  overflow:auto;
  white-space: pre;
}

pre .comment,
pre .template_comment,
pre .diff .header,
pre .doctype,
pre .lisp .string,
pre .javadoc {
  color: #93a1a1;
  font-style: italic;
}

pre .keyword,
pre .css .rule .keyword,
pre .winutils,
pre .javascript .title,
pre .method,
pre .addition,
pre .css .tag,
pre .lisp .title {
  color: #859900;
}

pre .number,
pre .command,
pre .string,
pre .tag .value,
pre .phpdoc,
pre .tex .formula,
pre .regexp,
pre .hexcolor {
  color: #2aa198;
}

pre .title,
pre .localvars,
pre .function .title,
pre .chunk,
pre .decorator,
pre .builtin,
pre .built_in,
pre .lisp .title,
pre .identifier,
pre .title .keymethods,
pre .id {
  color: #268bd2;
}

pre .tag .title,
pre .rules .property,
pre .django .tag .keyword {
  font-weight: bold;
}

pre .attribute,
pre .variable,
pre .instancevar,
pre .lisp .body,
pre .smalltalk .number,
pre .constant,
pre .class .title,
pre .parent,
pre .haskell .label {
  color: #b58900;
}

pre .preprocessor,
pre .pi,
pre .shebang,
pre .symbol,
pre .diff .change,
pre .special,
pre .keymethods,
pre .attr_selector,
pre .important,
pre .subst,
pre .cdata {
  color: #cb4b16;
}

pre .deletion {
  color: #dc322f;
}

pre .tex .formula {
  background: #eee8d5;
}


Готово.


  Категория: DLE-хаки | Добавил: AID | Дата: 09.04.2012

Другие новости


Поделиться ссылкой


Ссылка:
BB-code:
HTML:
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Хостинг от uCoz