BBcode [quote] 태그이 첫 쉼표 이후의 출처를 잘라냅니다

BBcode [quote] 태그를 사용하여 출처를 포함해 누군가를 인용할 때, 그 출처에 쉼표가 포함된 경우(예: [quote=“foo, bar”]), 쉼표 이후의 모든 내용이 잘려 나갑니다. 그 결과 다음과 같이 표시됩니다:

솔직히 꽤 특수한 사용 사례이고, 제가 이 문제를 겪은 이유는 오래된 WordPress 댓글을 Discourse로 이식하는 과정에서 *“Foo <foo@bar.quux>, 2020-10-24 11:31, 작성”*과 같이 자동 생성된 출처가 여러 개 있었기 때문입니다.

쉬운 우회 방법은 쉼표를 제거하는 것입니다. 하지만 혹시 다른 분들도 같은 문제에 부딪히실 수 있을까 봐 공유합니다.

이것은 Discourse에서 인용 태그가 작동하는 방식입니다. 따라서 쉼표 이후에는 post, topic, username 순서로 값을 기대합니다. 다른 값을 넣으면 정상적으로 작동하지 않는 것이 예상됩니다.

[quote="Alistair Young, post:1, topic:336217, username:avatar"]

때로는 해당 인용의 출처가 되는 올바른 게시물을 추적할 수 있지만, 그렇지 않은 경우도 있습니다. 인용이 가리키는 게시물의 ID를 알고 있다면 조회를 통해 필요한 정보를 가져올 수 있습니다.

Discourse 전용 형식에 대해 알고는 있었지만, 해당 형식으로 제대로 파싱되지 않는 경우를 인용하기 위해 의도적으로 태그 텍스트만 표시하도록 기본 설정되어 있다는 인식이 있었습니다.

그런데 제 생각이 틀린 것 같고, 그렇다면 해당 동작은 설명이 됩니다. 다만 Discourse 외부의 출처를 인용할 때 사용할 수 있는 인용 태그가 있다면 매우 편리할 것 같습니다.

플러그인을 사용해 해당 정보를 게시물에 직접 포함시키는 방식으로 처리할 수 있습니다. 만약 클라이언트가 이 작업을 요청한다면, 플러그인 없이도 동작하도록 인용 정보(위 줄과 같은 형태)를 원본 텍스트로 이동시키는 방식으로 처리할 가능성이 높습니다.