9.10.13, 16:29
0 комментарий
  DLE Хаки

Подсветка кода с помощью Google-Code для DLE 9.x - 10.x

Небольшой хак для dle, позволяющий организовать подсветку синтаксиса кода с помощью Google Code Prettify всеми любимой и проверенной библиотеки от гугла.
Подсветка синтаксиса с помощью Google Code Prettify

1. Качаем последнюю сжатую (несжатая нам в принципе нафиг не нужна) версию скрипта подсветки синтаксиса с google-code-prettify (на данный момент это версия от 4 марта 2013 года.)
Заливаем файлы в нужные папки шаблона CSS - к CSS, js - к js.

2. Открываем файл 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 );



3. Открываем файл main.tpl и перед вставляем код:

<script type="text/javascript" src="{THEME}/ПУТЬ/prettify.js"></script>
<script type="text/javascript">$(function(){prettyPrint();});</script>



слово ПУТЬ меняем на нужный путь к файлу prettify.js

4. Настраиваем CSS под свой сайт.



А для не ленивых - на гуглокоде есть несколько тем

5. Ну и напоследок не забываем произвести перестроение публикаций, для того, чтобы исходный код в новостях везде имел положенный вид.

Дополнение от BR0kEN

Первые два пункта взять из инструкции, а третий заменить на описанный ниже.

1. Открыть файл 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;
 
}



2. Заменить его на:

if (strpos ( $tpl->result['content'], "<pre class="prettyprint linenums">" ) !== false) {
 
    $js_array[] = "engine/classes/highlight/prettify.js";
 
    $ajax .= <<<HTML
 
    $(function(){prettyPrint();});
 
HTML;
 
}



Таким образом скрипт подсветки синтаксиса будет подгружаться только на тех страницах где был использован тег [ code ].

Автор: ПАФНУТИЙ
CMS: ВСЕ

СКАЧАТЬ

Вес файла
42.72 Kb

Реклама

Напишите своё мнение

  • acuteaggressiveair_kissangel
    badbbbeachbeee
    biggrinbig_bossblumblush
    boastbombboredombye
    clappingcraycrazycurtsey
    dancedashdeclarediablo
    diroldon-t_mentiondownloaddrinks
    first_moveflirtfocusfool
    friendsgive_heartgive_rosegood
    hangheartheathelp
    hihunterhystericireful
    kingkisslaughlazy
    lolmail1mambaman_in_love
    mdamega_shokmoilmosking
    musicneanegativenew_russian
    okon_the_quietpardonparting
    partypilotpioneerpleasantry
    popcormpranksterprevedpunish
    roflrtfmrussiansad
    sarcasticscarescratchsearch
    secretsensoredshokshout
    slowsmilesmokesoldier
    soldier_girlsorryspitefulspruce_up
    stinkersuicidesunsuperstition
    swoonteasetenderthanks
    thisto_pick_ones_noseto_take_umbragetreaten
    umnikunknwvampirevava
    victorywackowhistlewink
    wizardyahooyesyu
    e101e102e103e104
    e105e106e107e108
    e109e110e111e112
    e113e114e115e116
    e117e118e119e120
    e121e122e123e124
    e125e126e127e128
    e129e130e131e132
    e133e134e135e136
    e137e138e139e140
    e141e142e143e144
    e145e146e147e148
    e149e150e151e152
    e153e154e155e156
    e157e158e159e160
    e161e162e163e164
    e165e166e167e168
    e169e170e171e172
    e173e174e175e176
    e177e178e179e180
    e181e182e183e184
    e185e186e187e188
    e189e190e191e192
    e193e194e195e196
    e197e198e199e200
    e201e202e203e204