Цветной импортированный текст

Привет,

Мы уже месяц работаем с новым хостингом форума на базе Discourse. Очень довольны. У нас уже 2000 пользователей.

Переносим цветной текст с предыдущего форума на phpBB, но не можем заставить его работать в новом:
[color=#BFBFBF]серый — «Готов к обновлению»[/color], [color=#FF8000]оранжевый — старое число[/color] или [color=#00BF00]зелёный — текущее число[/color].

Будем благодарны за любые предложения.

Вы рассматривали возможность использования плагина BBCode?

Можно ли использовать это для хостинг-форума?

Когда мы импортировали почти миллион сообщений из vB в Discourse, мы удалили все теги цвета BBCode в процессе миграции.

Проблема заключалась в том, что плагин BBCode не работает должным образом, когда BBCode вложен (BBCode внутри BBCode), поэтому после тщательного анализа мы решили удалить все теги цвета BBCode (рекурсивно) в процессе миграции.

Вложенный BBCode действительно сложно импортировать, очевидно! Это «возможно», но мы решили, что это не стоит усилий (и добавляет мало ценности, поскольку именованные цветные шрифты, в отличие от классов, усложняют темизацию).

Надеемся, это поможет.

Мой код вложен (BBCode внутри BBCode)?
Есть ли какая-либо альтернатива для получения цветного текста?

Нет, вам нужно использовать BBCode. Вы можете вложенно использовать теги, но только если это имеет смысл (как и в HTML). Возможно, некоторые коды ещё не реализованы.

Мой плагин Discourse Frotz успешно использует вложенность для сочетания шрифта, цвета и цвета фона. Обратите внимание на красную букву «N» на компасе на скриншоте.

Вам нужно спросить у вашего хостера, могут ли они установить этот официальный плагин.

Привет, @ianm

Приведённый вами пример кода не является вложенным.

Наш опыт работы с официальным плагином BB-кода показал, что он плохо работает с вложенными тегами BB-кода. Однако, если у вас нет вложенного BB-кода, это, скорее всего, не станет проблемой при вашем переносе.

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

Правильная работа перенесённого BB-кода — это не так просто, как «просто используйте официальный плагин BB-кода». Если бы масштабный перенос лет различных комбинаций вложенного BB-кода был таким простым, наш полный процесс переноса занял бы недели, а не месяцы. Это нужно испытать на собственном опыте, это не «теория», а просто реальность. Официальный плагин BB-кода хорош, и мы его используем, но только после удаления большей части вложенного BB-кода.

Мы также приняли решение полностью удалить все теги цвета в BB-коде, потому что, когда цвет прописан жестко в тексте, он может выглядеть нормально на одной теме (например, светлой), но тот же цвет будет плохо смотреться и часто отвлекать внимание на другой теме (например, тёмной). Поэтому мы решили удалить все теги цвета в BB-коде и очень довольны этим решением.

Конечно, каждый сайт должен сам принимать решения о компромиссах во время переноса. Могу сказать, что у нас были «очень умные специалисты по регулярным выражениям», которые работали месяцами, чтобы сделать наш перенос «идеальным», и большая часть времени была потрачена именно из-за BB-кода. Официальные плагины и библиотеки для этого были хорошим «первым приближением», но оставляли желать лучшего в финальном результате, поэтому мы написали множество Ruby-выражений с gsub() и регулярными выражениями для его очистки.

Удачи вам, и надеюсь, что этот практический взгляд «с поля битвы переноса» оказался полезным. Без сомнения, перенос с одного устаревшего форума на другой может быть очень «сложным», если ваша цель — «отличный результат», а не «какой-то небрежный перенос».

Ваш код работает как есть в плагине BBCode:

image

здесь я добавил один уровень вложенности:

image

как насчёт двух уровней?

image

а как насчёт трёх уровней и чуть более сложной структуры?

image

Спасибо за подтверждение, что это работает в том плагине. Я посмотрю, можно ли добавить это на наш размещённый форум :thinking:

Извините, но плагин BBCode недоступен ни в нашем стандартном, ни в бизнес-плане. Плагины, доступные в каждом из этих планов, перечислены здесь: Plugin directory | Discourse - Civilized Discussion.

Плагин BBCode и любые другие официальные плагины Discourse можно установить в рамках нашего корпоративного плана.