вопрос
Подскажите пожалуйста как сделать чтоб вставка исходного кода выводилась как у вас на сайте? Вот так
Я ждал этого вопроса ))))
Итак инструкция:
Дополнение от BR0kEN
Первые два пункта взять из вашей инструкции, а третий заменить на описанный ниже.
3. Открыть файл index.php и найти код:
заменить его на:
Таким образом скрипт подсветки синтаксиса будет подгружаться только на тех страницах где был использован тег [ code ].
Итак инструкция:
- Качаем последнюю сжатую (несжатая нам впринципе нафиг не нужна) версию скрипта подсветки синтаксиса с google-code-prettify (на данный момент это версия от 1 июня 2011.) Заливаем файлы в нужные папки шаблона CSS - к CSS, js - к js.
- Открываем файл engine/classes/parse.class.php
Находим код:$source = preg_replace( "#\[code\](.+?)\[/code\]#is", "<!--code1--><div class=\"scriptcode\"><!--ecode1-->\\1<!--code2--></div><!--ecode2-->", $source );
меняем на:$source = preg_replace( "#\[code\](.+?)\[/code\]#is", "<!--code1--><pre class=\"prettyprint linenums\"><!--ecode1-->\\1<!--code2--></pre><!--ecode2-->", $source );
- Открываем файл main.tpl и перед </head> вставляем код:
<script type="text/javascript" src="{THEME}/ПУТЬ/prettify.js"></script>
<script type="text/javascript">$(function(){prettyPrint();});</script>
слово ПУТЬ меняем на нужный путь к файлу prettify.js - Настраиваем CSS под свой сайт.
А для неленивых - на гуглокоде есть несколько тем - Ну и на последок не забываем произвести перестроение публикаций, для того, чтобы исходный код в новостях везде имел положенный вид.
Дополнение от BR0kEN
Первые два пункта взять из вашей инструкции, а третий заменить на описанный ниже.
3. Открыть файл index.php и найти код:
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;
}
заменить его на:
if (strpos ( $tpl->result['content'], "<pre class=\"prettyprint linenums\">" ) !== false) {
$js_array[] = "engine/classes/highlight/prettify.js";
$ajax .= <<<HTML
$(function(){prettyPrint();});
HTML;
}
Таким образом скрипт подсветки синтаксиса будет подгружаться только на тех страницах где был использован тег [ code ].