Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Администрирование форума » Есть ли дополнительные инструменты для оформления сообщений на форуме?


Есть ли дополнительные инструменты для оформления сообщений на форуме?

Сообщений 1 страница 12 из 12

1

Я хочу использовать в сообщениях на своём форуме коды из программирования.
Удобно, если слева от кода будут порядковые номера, чтобы при обсуждении указывать о какой строке кода идёт речь.

Чтобы было понятно, что я имею ввиду, вот ссылка на сообщение из форума другого вида:
http://www.cyberforum.ru/post5320461.html

По ссылке много всего, чуть ниже если прокрутите, то будет сообщение, в нём нужно щёлкнуть плюсик. Будет виден код программирования, слева есть порядковые номера строк. Скажите, пожалуйста, вот такие порядковые номера можно сделать на форуме "MYBB"?

Но нужно учитывать следующее. Если участнику форума нужно скопировать код, необходимо, чтобы код копировался без порядковых номеров. Иначе лучше оставить так, как есть, т.к. удалять потом порядковые номера очень сложно.

Отредактировано Участник форума (Вс, 17 Ноя 2013 09:38:43)

0

2

Участник форума написал(а):

Я хочу использовать в сообщениях на своём форуме коды из программирования.Удобно, если слева от кода будут порядковые номера, чтобы при обсуждении указывать о какой строке кода идёт речь.

1.  :glasses: У Вас форум программистов ?
2.  Дайте ссылку на форум, на конкретное сообщение с кодом
3. Фичи ориентированы на большинство, и то не поспевают за пожеланиями
В принципе коли пронраммисты, наверняка есть знакомые с яваскрипт, это десяток строк кода могли бы и сами своять

0

3

Deff, да у меня форум программистов, но сам я не смогу сделать такое дополнение.

Вот ссылка на мой форум, на тему, в которой используется код программирования:
http://excelvba.mybb.ru/viewtopic.php?id=8

В принципе удобно и сейчас (оформлено хорошо, копируется легко), но если понадобится обсудить какую-то строку кода, то указывать будет неудобно, т.к. код большой.

Отредактировано Участник форума (Вс, 17 Ноя 2013 10:06:07)

0

4

Участник форума
Для быстрого полного копирования есть код: https://forum.mybb.ru/viewtopic.php?pid=567143#p567143

Про цифры - подумаю, благо есть пример строк

0

5

Удалил сообщение.

Отредактировано Участник форума (Вс, 17 Ноя 2013 12:14:32)

0

6

Участник форума написал(а):

Удобно, если слева от кода будут порядковые номера, чтобы при обсуждении указывать о какой строке кода идёт речь.

чтобы организовать нумерацию строк в коде, поставьте это
в html-верх:

Код:
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?lang=css&skin=sons-of-obsidian"></script>

а это в html-низ:

Код:
<script type="text/javascript">
$('pre').addClass('prettyprint linenums');
</script>

+1

7

Romych +
:cool:  Класс (СПС), правда для общего пользования нужна кнопа с тегами обертки(не все блоки код зачастую нужны с нумерацией и цветовыделением)

:flag: Ксать и выделение кнопкой скриптом от mkusher поставленным ниже этих скриптов, тоже работает корректно, без взятие нумерации!

Отредактировано Deff (Вт, 19 Ноя 2013 02:00:00)

0

8

Romych, скажите, пожалуйста, а как можно выбирать внешний вид? Сейчас получается тёмный фон и ещё цвет текста делается.

Например, как оставить только нумерацию или выбрать другой цветовой фон?

0

9

Участник форума написал(а):

Romych, скажите, пожалуйста, а как можно выбирать внешний вид? Сейчас получается тёмный фон и ещё цвет текста делается.
Например, как оставить только нумерацию или выбрать другой цветовой фон?

вот по этому адресу доступны другие стили оформления - http://google-code-prettify.googlecode. … index.html

стиль прописывается в адресной строке скрипта:

<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?lang=css&skin=sons-of-obsidian"></script>

0

10

Romych, я попробовал все скины, но только в "sons-of-obsidian" доступны порядковые номера.

Мне скин "sons-of-obsidian" не подходит по следующим причинам:
1) в строках разный цвет текста: в одной строке - один цвет текста, в другой строке - другой и так чередуется;
2) на многих форумах по программированию используются светлый фон в кодах. Мне не хочется, чтобы у меня Форум имел какое-то специфическое оформление.

Вообще, мне подсветка кода не нужна. Подсветка кода - это когда каждое слово окрашивается в какой-то цвет.
Мне нужна только порядковая нумерация.

Отредактировано Участник форума (Вт, 19 Ноя 2013 10:56:11)

0

11

Участник форума
В Начало HTML низ:

Код:
<style type="text/css">
.punbb .post-content pre  li.count{
  list-style-type: decimal-leading-zero!important;
  color:#A9A9A9;
  list-style-position: inside!important;
  float:left;
  width: auto;
  padding:0;margin:0;

}
.punbb .post-content pre{
  //opacity:0.4;
}

</style>
<script type="text/javascript">
$('.post-content pre').each(function(i) {
  var ol = ['<ol>','</ol>']
  var count = '<li class=count></li>'//<span class=count><span>';
  var str =ol[0]+ count + $(this).html().split('\n').join('\n' + count)+ol[1];
$(this).html(str)
});
</script>


<script type="text/javascript">
function select_text(elem) {
	if(window.getSelection) {   
var s=window.getSelection();   
if(s.setBaseAndExtent){   
	s.setBaseAndExtent(elem,0,elem,elem.innerText.length-1);   
}
else {   
	var r=document.createRange();   
	r.selectNodeContents(elem);   
	s.removeAllRanges();   
	s.addRange(r);
}   
	}
	else if(document.getSelection){   
var s=document.getSelection();   
var r=document.createRange();   
r.selectNodeContents(elem);   
s.removeAllRanges();   
s.addRange(r);   
	}
	else if(document.selection){   
var r=document.body.createTextRange();   
r.moveToElementText(elem);   
r.select();
	}   
}
</script>
<script type="text/javascript">
var div = document.getElementById('pun-main').getElementsByTagName('div');
for(x in div){
	if(div[x].className=='code-box'){
div[x].getElementsByTagName('strong')[0].innerHTML = '<a href="#" onclick="select_text(this.parentNode.parentNode.childNodes[1].getElementsByTagName(\'pre\')[0]); return false;">Выделить код</a>';
	}
}
</script>

Вариант 2

Код:
<style type="text/css">
.punbb .post-content pre  li.count{
  list-style-type: decimal-leading-zero!important;
  color:#A9A9A9;
  list-style-position: inside!important;
  width: auto;
  padding:0;margin:0;
}

.punbb .post-content pre  li.count span{
  color:#000;
}
</style>
<script type="text/javascript">
$('.post-content pre').each(function(i) {
  var ol = ['<ol>','</ol>']
  var count = ['<li class=count><span>','</span></li>']//<span class=count><span>'];
  var str =ol[0]+ count[0] + $(this).html().split('\n').join(count[1] + count[0])+ count[1]+ol[1];
$(this).html(str)
});
</script>


<script type="text/javascript">
function select_text(elem) {
	if(window.getSelection) {   
var s=window.getSelection();   
if(s.setBaseAndExtent){   
	s.setBaseAndExtent(elem,0,elem,elem.innerText.length-1);   
}
else {   
	var r=document.createRange();   
	r.selectNodeContents(elem);   
	s.removeAllRanges();   
	s.addRange(r);
}   
	}
	else if(document.getSelection){   
var s=document.getSelection();   
var r=document.createRange();   
r.selectNodeContents(elem);   
s.removeAllRanges();   
s.addRange(r);   
	}
	else if(document.selection){   
var r=document.body.createTextRange();   
r.moveToElementText(elem);   
r.select();
	}   
}
</script>
<script type="text/javascript">
var div = document.getElementById('pun-main').getElementsByTagName('div');
for(x in div){
	if(div[x].className=='code-box'){
div[x].getElementsByTagName('strong')[0].innerHTML = '<a href="#" onclick="select_text(this.parentNode.parentNode.childNodes[1].getElementsByTagName(\'pre\')[0]); return false;">Выделить код</a>';
	}
}
</script>

Отредактировано Deff (Пт, 22 Ноя 2013 08:48:17)

+1

12

Deff, спасибо. Буду использовать.

0


Вы здесь » Единый форум поддержки » Администрирование форума » Есть ли дополнительные инструменты для оформления сообщений на форуме?