메타, 다시 돌아왔어요. Markdown-it과 BBcode에 대해 이야기해 봅시다

면책 조항: BBCode를 Discourse에 다시 적용하려는 시도는 비전통적이라는 점을 잘 알고 있습니다. 하지만 이는 Discourse로의 완전한 이전을 막고 있는 몇 가지 요인 중 하나이며, 실제로 일부 대규모 사이트(소수이지만)가 커스텀 bbcode를 상당히 활용하고 있는 것을 확인했습니다. 도움이 된다면 감사하겠습니다.

안녕하세요 여러분,

1년간의 테스트 휴지기 이후, 대량 가져오기(bulk import) 테스트가 재개되었습니다. 이제 수백만 건의 메시지(개인 메시지 포함), 사용자, 아바타 등을 몇 시간도 안 되는 시간에 처리할 수 있습니다. 첨부 파일은 여전히 일주일 정도를 소요되지만, 완벽한 것은 없으니까요.

지난번 작업의 마지막 항목 중 하나는 바로 bbcode 스위트였습니다. 위치는 여기입니다: Making sure you're not a bot! (해당 링크는 Xenforo 기반의 라이브 사이트이며, 모든 코드는 커뮤니티를 위해 우리가 직접 제작한 것입니다).

Discourse에서 대부분 작동하도록 만들었습니다: GitHub - RpNation/discourse-rpn-bbcode · GitHub

하지만 블록 코드 내부의 인라인 bbcode에서 문제가 발생했습니다:

[block][inline]text[/inline]
text
[/block]

이 문제를 우회하기 위해 bbcode 파싱 후 정규식 치환을 실행하는, 우아하지 못한 Refactor/TextPostProcss 분기를 사용하고 있습니다.

Markdown-it과 discourse의 범위 내에서 우리가 하고 있는 일을 개선할 방법에 대해 조언을 구합니다. 언젠가 완전히 새로운 bbcode 파서를 사용하는 것도 옵션으로 고려하고 있습니다.

호기심이 있으신 분들을 위해, Xenforo에서 일부 사용자가 bbcode로 만든 콘텐츠의 예시는 여기 있습니다: Making sure you're not a bot!

새로운 분기 덕분에 이제 Discourse에서 대부분 작동하지만, 아직 bbcode용 Discourse 데모를 설정하지는 않았습니다. (bbcode 전체에 다시 주의를 기울이기 전에 먼저 대량 가져오기 도구와 스타일링에 집중할 예정입니다).

지난해 bbcode 프로젝트를 이끌어준 @Alteras에게 감사를 드립니다. @Ghan도 마찬가지입니다. 그는 주로 대량 가져오기 도구에 집중하고 있고, 저는 스타일링 담당이며 사이트 소유자입니다.

말씀하신 내용을 전부 이해한 것은 아니지만, 이 정보가 도움이 될 수도 있을 것 같아 공유합니다.

불행히도 그렇지 않지만, 이미 몇 가지 단서를 확보했습니다!

bbcode에서 HTML 커스텀 요소로 전환하면 더 쉬워질지 궁금합니다. 이것이 가능한가요?

과거에 분명히 고민하고 원했던 부분입니다. 기존에 허용된 HTML 태그 목록을 확장하고 화이트리스트에 추가할 수 있다는 사실은 몰랐습니다. 현재 이 문제에 대한 임시 해결책은 이미 갖추고 있지만, 클라이언트 측에서 실행되는 정규식(regexp)으로 남아 있는 태그 문제를 수정하는 방식입니다.

관련 문서나 예시를 알려주실 수 있으신가요?