Техническая поддержка сервиса Quadro.Boards

Объявление

Новости сервиса

О форуме

Quadro.Support – это форум технической поддержки различных проектов и сервисов Quadro.Systems LLC, на котором грамотные технические специалисты всегда смогут помочь вам в решении проблем, или же подсказать ответы на самые сложные вопросы. Так же на форуме собрана обширная база знаний по различным аспектам наших сервисов. Не забывайте пользоваться поиском ;)

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

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


Вы здесь » Техническая поддержка сервиса Quadro.Boards » Скрипты и дополнения » Оформление поста: длинное тире, абзац


Оформление поста: длинное тире, абзац

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

1

Для желающих придать форумам еще больше литературной красоты.
Автор: Deff

Вариант 1.
Заменяем в постах короткое короткое тире и среднее на длинное автоматически.

Код:
<script type="text/javascript">
$('.post-content p').each(function(){
  function replacer(str){return str.replace(/-\s|–\s/gm,'— ');}
  var a = $(this).clone().wrap('<div></div>').parent().html();
  var b = a.replace(/>[^<>]+</gim,replacer);
  if(a!=b)$(this).replaceWith(b)
});
</script>

Пример:
До замены:
- Петя, - спросила она, - а не пойти-ка ли нам в кафе?
После замены:
— Петя, — спросила она, — не пойти-ка ли нам в кафе?

Вариант 2.
Рассчитан на сознательность писателей-ролевиков.
Добавляем в форму ответа кнопку:

Код:
<button style="float:right;" onclick="smile('—')">Вставить: "—"</button>

Теги: дефис,тире,украшение постов,скрипт заменить

Отредактировано Ichimaru Gin (19.02.2016 19:34:03)

+1

2

Deff: http://forum.mybb.ru/viewtopic.php?pid=881705#p881705

Кнопка вставки BB-Тега абзаца(отступов) [indent]
(точнее отступов перед словом и строки от верху, не переводит на новую строку)

http://s2.uploads.ru/3yim7.jpg

HTML низ:
<!--ТЕГ  абзаца - [indent] -->
<style>#button-indent {background:url(http://s7.uploads.ru/t/mnkgq.png)no-repeat center 6px!important;}</style>
<script type="text/javascript">(function(){ var b = '[indent]';
$("#button-strike").after('<td id="button-indent" title="Отступы"><img src="/i/blank.gif"  onclick="smile(\''+b+'\')"></td>');
var indent = '<span style="display:inline-block;margin:1em 2.1em;"></span>'; /*удвоенные Отступы сверху и слево*/
$('.post-content p:contains("'+b+'")').each(function(){ $(this).html( $(this).html().replace(/\[indent\]/gm,indent));});}());
</script>

Вариант с возможностью простановки своих цифр  [indent=2,5] Красным левый отступ, синим - от верха, всё в em
Отступ от верха-синим (вместе с запятой) может отсутствовать=> [indent=2], тогда от верха без дополнительного отступа, идентичен [indent=2,0]
или оба =>[indent], тогда отступ будет установлен по умолчанию

<style>#button-indent {background:url(http://s7.uploads.ru/t/mnkgq.png)no-repeat center 6px!important;}</style>
<!--ТЕГ  абзаца - [indent=X,Y] --><script type="text/javascript">
(function(){var c="[indent",h,e='<span style="display:inline-block;margin:YYem XXem;"></span>';
$("#button-strike").after('<td id="button-indent" title="Отступы"><img src="/i/blank.gif"  onclick="smile(\''+c+']\')\"></td>');
function a(b,d){if(!d){return e.replace("XX","2").replace("YY","1")} /*удвоенные Отступы слево и сверху по умолчанию*/
else{return d.replace(/=(\d+(?:\.\d+)?)((?:,\d+(?:\.\d+)?)?)$/,function(f,i,g){h=e.replace("XX",i);v=g.substr(1);return h.replace("YY",(v?v:"0"));
})}}$('.post-content p:contains("'+c+'")').each(function(){$(this).html($(this).html().replace(/\[indent([=\d\.,]*?)\]/gm,a))})}());
</script>

Знак = (равно) и нужные цифры вписываем в тег [indent=3,4]  сами! (Не стал замудрять скрипт, ибо вставка цифр индивидуально -редко
Можно и дробные, с точкой: [indent=2.3,4.5]
Можно по клику на кнопку вставлять не пустой тег [indent], а уже с атрибутами сдвига по умолчанию(для удобства вставки своих цифр), тогда замените синию строку на:

$("#button-strike").after('<td id="button-indent" title="Отступы"><img src="/i/blank.gif"  onclick="smile(\''+c+'=2,1]\')\"></td>');

+1

3

Простой Вариант замены коротких тире на длинные

В HTML низ:

<script>$('.post-content').each(function(){$(this).html($(this).html().replace(/(\s|&nbsp;)?-(\s|&nbsp;)/g,'$1&mdash;$2'))})</script>

+3

4

Подскажите, пожалуйста, при использовании скрипта вставки BB-Тега абзаца (любого из вариантов / в html формы ответа) сам тег [indent], при нажатии на кнопку, появляется с пробелами до и после тега. Если внимательно приглядеться к скрину в сообщении со скриптом в данной теме, то, судя по всему, это специфика самого скрипта. А нельзя ли как-то решить вопрос, чтобы пробелы автоматически не проставлялись?

0

5

sea-buckthorn
Если еще актуально - тут smile замените на insert

$("#button-strike").after('<td id="button-indent" title="Отступы"><img src="/i/blank.gif"  onclick="smile(

+1

6

Alex_63 написал(а):

Простой Вариант замены коротких тире на длинные

:glasses: Сократил + сделал чоб не работало в блоке код

<script>$('.post-content p').html(function(){return this.innerHTML.replace(/(\s|&nbsp;)?-(\s|&nbsp;)/g,'$1&mdash;$2')})</script>

+1


Вы здесь » Техническая поддержка сервиса Quadro.Boards » Скрипты и дополнения » Оформление поста: длинное тире, абзац


Рейтинг форумов | Создать форум бесплатно