안녕하세요, 대규모 Drupal 포럼을 Discourse로 가져오는 작업을 진행 중입니다. Drupal을 비롯한 대부분의 포럼/CMS 플랫폼은 단순히 https://example.com을 입력하기만 하면 게시글에 HTML 링크를 자동으로 생성해 줍니다. Discourse도 마찬가지입니다. 다만 Discourse는 게시글이 마크다운으로 작성된 경우에만 이를 수행하며, HTML 요소 내부(가져온 게시글이든 사용자가 다른 곳에서 HTML을 붙여넣든)에서는 적용하지 않습니다. 다른 포럼 플랫폼에서 가져온 HTML의 경우, 원본 게시글 본문에 링크로 태그되지 않은 URL이 많은데, 포럼 엔진은 렌더링된 게시글에서 URL을 감지하여 자동으로 링크로 변환해 줍니다. 하지만 Discourse에서는 다음과 같은 HTML 단락의 URL은 링크가 되지 않습니다:
<p>Take a look at http://example.com for that.</p>
Take a look at http://example.com for that.
가져오기 스크립트에서 정규식을 사용해 원시 URL을 감지하여 마크다운 링크로 변환하는 방법이 있거나, 단순히 <p> 태그를 줄바꿈으로 교체하면 Discourse가 올바르게 렌더링할 것입니다. 하지만 이는 상당히 어수선한 해결책이며, 정규식 처리 과정에서 의도치 않게 링크가 생성되거나 게시글 전체가 삭제되는 특수한 케이스가 발생할까 봐 제 정규식 실력이 믿어지지 않습니다. HTML 코드 내부의 원시 URL을 감지하여 자동으로 링크로 변환해 주는 Discourse 옵션이 있다면 매우 유용할 것입니다.