Измененный вид тега code с возможностью выделить код + подсветка синтаксиса от google-code.
Пример можно увидеть на нашем сайте, смотрится довольно неплохо и при этом нет ничего лишнего.
Для начала изменим внешний вид. Вставляем данный код себе в css:
Код
.bbCodeName {
padding:0!important;
margin-bottom:5px;
}
.codeMessage {
margin: 0px 0px 15px 0px;
padding:5px 10px;
border:1px solid #CEE7EC!important;
background:#fff url(http://wos.ucoz.com/winter-2015/bb-fon.png);
font:11px Verdana,Arial,sans-serif;
text-align:left;
color:#555;
}
Если хотите, перезалейте фон к себе на сайт, вот картинка:
Далее установим кнопку "Выделить все". Заходим в ПУ → Управление дизайном → Каталог файлов → Страница материала и комментариев к нему, ищем там $MESSAGE$ и после него вставляем этот скрипт:
Код
<script type="text/javascript">
function selectCode(a){
var e=a.parentNode.parentNode.getElementsByTagName('code')[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();}}
// Замена Code на Выделить всё...
codediv=document.getElementsByTagName('div');
for(i=0;i<codediv.length;i++){
if(codediv[i].className=="bbCodeBlock"){
s=codediv[i].innerHTML;
s=s.replace(/>Code</g,'><a href="#" onclick="selectCode(this);return false;">Выделить всё<\/a><').replace('<!--uzc-->','<!--uzc--><code>').replace('<!--\/uzc-->','<\/code><!--\/uzc-->');
codediv[i].innerHTML=s;}}
$(function() {prettyPrint();});
</script>
Если не хотите ставить эту кнопку, но надпись "Код" над кодом не нравится, то вставьте в CSS вот это:
Код
.bbCodeName {
display:none;
}
Теперь приступим к установке подсветки синтаксиса кода. Я немного перекрасил его, сделав более похожим на подсветку кода юкоз. Как по мне, так выглядит привычнее. Снова заходим (если успели закрыть) в "Страницу материала и комментариев к нему" и после ставим вот это:
Код
<script src="http://wos.ucoz.com/winter-2015/js/podsvetka_code.js"></script>
js файл прикрепил к материалу.
В css ставим:
Код
div .codeMessage .nocode {background-color:none; color: #555 }
div .codeMessage .str {color: #cd5c5c }
div .codeMessage .kwd {color: #555; font-weight: bold }
div .codeMessage .com {color: #aa5500 }
div .codeMessage .typ {color: #00853E }
div .codeMessage .lit {color: #aa1111 }
div .codeMessage .pun {color: #000 }
div .codeMessage .pln {color: #aa1111 }
div .codeMessage .tag {color: #117700; font-weight: bold }
div .codeMessage .atn {color: #0000cc; font-weight: bold }
div .codeMessage .atv {color: #aa1111}
div .codeMessage .dec {color: #98fb98 }
/* Specify class=linenums on a pre to get line numbering */
ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE } /* IE indents via margin-left */
li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none }
/* Alternate shading for lines */
li.L1,li.L3,li.L5,li.L7,li.L9 { }
/* Выделение кода
------------------------------------------*/
/* webkit, opera, IE9 */
.codeMessage ::selection {
background:#C0C0C0;
}
/* mozilla firefox */
.codeMessage ::-moz-selection {
background:#C0C0C0;