«Поле, русское поле...»
Подсветка синтаксиса внутри тега [code]...[/code]
devmode, интеграция, highlight
Интеграция подсветки синтаксиса и раскраски кода при помощи... остановился на библиотеке highlight.js

Возможно не так зрелищно и наворочено, как например в SyntaxHighlighter - зато внедряется на полпинка, весит почти ничего и с основной задачей - форматирование и выделение кода вполне справляется, то что надо

Тест:

Код:
{', '<', '>' , '\'', '"', "<!--", '$'


php:

Код:
<?php

     phpinfo();

?>


html:

Код:
<!-- BEGIN: HEADER -->{HEADER_DOCTYPE}
<html>
<head>
<title>{HEADER_TITLE}</title>
<base href="http://{PHP._SERVER.HTTP_HOST}/" />


css:
Код:
.snippet-reveal pre.sh_sourceCode {padding:.5em 1em; text-align:right;}
.snippet-wrap .snippet-num li{padding-left:0.1em; }
.snippet-wrap .snippet-no-num{list-style:none; padding:.6em 1em; margin:0;}
.snippet-wrap .snippet-no-num li {list-style:none; padding-left:0;}
.snippet-wrap .snippet-num {margin:0 0 0 1em; padding-left:1em;}
.snippet-wrap .snippet-num li {list-style:decimal-leading-zero outside none;}
.snippet-wrap .snippet-no-num li.box {padding:0 6px; margin-left:-6px;}
.snippet-wrap .snippet-num li.box {border:1px solid; list-style-position:inside; margin-left:-3em; padding-left:6px;}




Интеграция: в header.tpl добавлено что-то вроде

Код:
<script type="text/javascript" src="skins/{PHP.skin}/js/jquery.js"></script>
<script type="text/javascript" src="/skins/{PHP.skin}/js/highlight.pack.js"></script>
<script type="text/javascript">
<!--
$(document).ready(function() {
  $('div.code').each(function(i, e) {hljs.highlightBlock(e, '<span class="codetab">&nbsp; </span>', true)});
});
//-->
</script>
<link rel="stylesheet" type="text/css" href="/skins/{PHP.skin}/antony.highlight.css" />


Моя css-ка с оформлением поля кода:

Код:
.codetitle {
font-size:10px;
color:#e3c089;
padding:2px;
margin:5px 2px 2px 20px;
font-weight: bold; }

.code {
font-size:12px;
color:#252525;
padding:10px;
margin:2px 2px 2px 20px;
font-family:monospace;
border:1px dashed #808080;
background-color:#e3c089;
box-shadow: 0px 0px 10px 3px #000;
-moz-box-shadow: 0px 0px 10px 3px #000;
-webkit-box-shadow: 0px 0px 10px 3px #000;
max-width:650px;
overflow:auto;
white-space:nowrap; }

.codetab { background:url('img/rarr.png') center center no-repeat; }




Муки творчества, куски процесса и т.п. - пусть тут полежат:

system/functions.php

Код:
function sed_predelbr($bloc)
{
return preg_replace("/<br \/>/si", "", $bloc[1]);
}
// добавить перед
function sed_parse($text, $parse_bbcodes=TRUE, $parse_smilies=TRUE, $parse_newlines=TRUE)


Код:
if ($parse_newlines)
{ $text = nl2br($text); }
// после добавить
$text = preg_replace_callback("/(<pre([^>])*>.*?<\/pre>)/si", "sed_predelbr", $text);


Благодарю Amro за содействие по данному вопросу

[ написать отзыв ]
Ноябрь →
2011
пн
21
вс
сб
пт
18
чт
ср
16
вт
15
пн
вс
13
сб
12
пт
чт
10
ср
9
вт
8
пн
7
вс
сб
пт
чт
ср
2
вт
1