색상 있는 가져온 텍스트

안녕하세요,

새로 호스팅된 Discourse 기반 포럼을 한 달간 운영해 왔습니다. 매우 인상적입니다. 이미 2,000명의 사용자를 보유하고 있습니다.

이전 phpBB 포럼에서 사용하던 색상 텍스트를 새 포럼에서도 사용하려고 하는데, 작동하지 않습니다:
[color=#BFBFBF]회색 - “업데이트 준비 완료”[/color], [color=#FF8000]주황색 - 이전 번호[/color] 또는 [color=#00BF00]초록색 - 현재 번호[/color].

제안이 있다면 환영합니다.

BBCode 플러그인을 사용해 본 적 있으신가요?

이것이 호스팅된 포럼에 사용할 수 있나요?

vB에서 Discourse로 약 100만 개의 게시물을 가져오는 동안, 마이그레이션 과정에서 모든 색상 bbcode를 제거했습니다.

우리의 문제는 BBCODE 플러그인이 중첩된 경우(BCODE 안에 BBCODE) 예상대로 작동하지 않는 것이었습니다. 이에 대한 많은 분석 끝에, 마이그레이션 과정에서 모든 색상 BBCODE 태그를 (재귀적으로) 제거하기로 결정했습니다.

중첩된 BBCODE를 가져오는 것은 당연히 매우 복잡합니다! "가능"은 하지만, 우리는 그 노력에 비해 가치가 크지 않다고 판단했습니다(명명된 색상 폰트는 클래스보다 테마 설정을 어렵게 만들기 때문이죠).

도움이 되길 바랍니다.

제 것이 중첩(BBCODE 안에 BBCODE)되어 있나요?
색상 있는 텍스트를 얻을 수 있는 다른 방법이 있나요?

아니요, BBCode를 사용해야 합니다. 의미 있는 경우에만 중첩이 가능하며 (HTML과 비슷합니다). 구현되지 않은 코드가 있을 수도 있습니다.

제 Discourse Frotz 플러그인은 폰트, 색상, 배경색을 결합하기 위해 중첩을 성공적으로 사용합니다. 스크린샷 나침반 위의 빨간색 ‘N’ 문자를 참고하세요.

해당 공식 플러그인을 설치할 수 있는지 호스팅 제공업체에 문의해야 합니다.

@ianm 님 안녕하세요.

제시해 주신 코드 샘플은 중첩이 아닙니다.

공식 BBCODE 플러그인을 사용하면서 겪은 경험에 따르면, 중첩된 BBCODE와 잘 맞지 않는 경우가 많았습니다. 하지만 중첩된 BBCODE가 없다면, 마이그레이션 과정에서 문제가 될 가능성은 거의 없습니다.

저희 사이트 마이그레이션에는 수십 년치에 달하는 중첩된 BBCODE(수십만 개)가 있었고, 이는 큰 문제가 되었습니다(오늘날에도 사용 중인 공식 BBCODE 플러그인을 사용했음에도 불구하고). 그래서 저희는 모든 색상 코드(그리고 필요하지 않던 일부 다른 코드 태그)를 제거했습니다. 5년 전 게시글의 텍스트 색상이 사라졌다는 불만을 제기한 사용자는 단 한 명도 없었고, 앞으로도 없을 것입니다.

마이그레이션된 BBCODE를 올바르게 작동하게 만드는 것은 "공식 BBCODE 플러그인을 사용하면 된다"는 식으로 간단하지 않습니다. 수년에 걸쳐 다양한 조합으로 이루어진 중첩된 BBCODE의 대규모 마이그레이션이 그렇게 간단했다면, 저희의 전체 마이그레이션 기간은 몇 달이 아니라 몇 주였을 것입니다. 이는 직접 경험해 봐야 하는 것이며, "이론"이 아니라 그냥 그런 것입니다. 공식 BBCODE 플러그인은 좋으며 저희도 사용하고 있지만, 상당량의 중첩된 BBCODE를 제거한 후에만 사용했습니다.

또한 저희는 모든 색상 BBCODE 태그를 완전히 제거하기로 결정했습니다. 색상이 텍스트에 하드코딩되어 있으면 한 가지 테마(예: 라이트 테마)에서는 괜찮아 보일 수 있지만, 동일한 색상은 다른 테마(예: 다크 테마)에서는 잘 보이지 않거나 종종 시선을 분산시킬 수 있기 때문입니다. 그래서 모든 색상 BBCODE 태그를 제거하기로 결정했고, 이 결정에 매우 만족하고 있습니다.

물론 각 사이트는 마이그레이션 과정에서 자신의 트레이드오프를 선택해야 합니다. 저희가 마이그레이션을 “완벽하게” 만들기 위해 몇 달 동안 코드를 작성한 "매우 똑똑한 REGEX 전문가들"이 있었다는 것을 말씀드릴 수 있습니다. 그리고 대부분의 시간이 BBCODE 때문에 소모되었습니다. 이를 위한 공식 플러그인과 제이들은 좋은 "첫 번째 근사치"를 제공했지만, 최종 마이그레이션에서는 여전히 많은 부분이 아쉬웠기 때문에, 정리하기 위해 많은 Ruby gsub() REGEX를 작성했습니다.

행운을 빕니다. 그리고 이 "마이그레이션 전선"에서의 실용적인 관점이 도움이 되기를 바랍니다. "멋진 마이그레이션"을 목표로 "대충 해치는 마이그레이션"과 비교할 때, 한 레거시 포럼에서 다른 곳으로의 마이그레이션이 매우 "고난도"일 수 있다는 점은 의심의 여지가 없습니다.

BBCode 플러그인에서는 코드가 현재 상태 그대로 정상적으로 작동합니다:

image

여기서는 중첩을 한 단계 추가했습니다:

image

두 단계는 어떨까요?

image

세 단계, 그리고 조금 더 복잡한 세트는 어떨까요:

image

그 플러그인에서 작동한다는 것을 확인해 주셔서 감사합니다. 저희 호스팅 포럼에 추가할 수 있는지 확인해 보겠습니다 :thinking:

죄송합니다만, BBCode 플러그인은 표준(Standard) 플랜과 비즈니스(Business) 플랜 모두에서 사용할 수 없습니다. 각 플랜에서 사용할 수 있는 플러그인은 여기에서 확인하실 수 있습니다: Plugin directory | Discourse - Civilized Discussion.

다만, BBCode 플러그인과 기타 공식 Discourse 플러그인은 엔터프라이즈(Enterprise) 플랜에서는 설치할 수 있습니다.