WP Discourse 및 RSS 플러그인으로 생성된 게시물의 깨진 이미지 수정

Discourse 설정 페이지의 로그인(Login) 섹션에서 이 작업을 수행할 수 있습니다. 로그인 필수(login required) 설정을 선택하여匿名用户(익명 사용자)가 사이트를 볼 수 없도록 방지할 수 있습니다.

이것은 WP Discourse 플러그인이 Discourse 사이트로 API 호출을 수행할 수 있다는 의미일 뿐, WordPress 사이트가 Discourse에서 발생한 요청을 허용한다는 뜻은 아닙니다. “Show Full Post” 버튼을 클릭하면 Discourse는 게시글 내용을 가져오기 위해 WordPress 사이트로 요청을 시도합니다. 이 요청이 차단되고 있을 가능성이 높습니다.

훌륭한 정보를 알려주셔서 감사합니다. 로그인을 비활성화했습니다(좋은 팁이었어요!). 이제 메인 사이트를 정식 오픈할 때까지 기다려 보겠습니다. 그때쯤이면 ‘전체 게시물 보기’ 버튼이 제대로 활성화될 수도 있겠네요.

Onebox에 대해 질문이 있는데, https 사이트에서만 작동하는지 아시나요?

링크가 Onebox로 생성되려면 몇 가지 요구 사항이 있습니다. HTTPS가 이제 필수 조건인지 확신은 없지만, 필수 조건일 가능성이 높다고 생각합니다. 다른 요구 사항으로는 링크된 페이지에 Open Graph 설명 태그가 설정되어 있어야 하고, Discourse 서버에서 해당 페이지로 보낸 요청이 허용되어야 한다는 것입니다. 스테이징 사이트에서 Onebox 생성을 방해하는 몇 가지 문제를 겪고 계신 것으로 보입니다.

1개의 좋아요

Simon님,

말씀하신 내용이 이해가 됩니다. 메인 사이트를 라이브로 전환한 후 Oneboxing을 다시 시도해 보겠습니다.

위에서 언급했듯이, 사이트를 라이브로 전환하고 스테이징 환경에서 해제하면 discourse로 게시물을 보내는 기능에도 도움이 될 것으로 기대합니다.

도와주신 점과 조언에 대해 다시 한번 감사드립니다.

RSS 피드에서 가져온 깨진 이미지는 수동으로 수정할 수 없는 것 같습니다.
에디터 오른쪽 미리보기에서 이미지가 다시 표시되는 것을 볼 수 있습니다. 하지만 저장을 누른 후에도 게시물에서 이미지는 여전히 깨져 있습니다.

이미지가 로컬에 있지 않으면 Discourse는 섬네일을 생성하지 않습니다. disabled image download domains를 설정하면 가져온 모든 게시물에 섬네일이 없게 됩니다.

4개의 좋아요

같은 문제를 겪고 있습니다. 미리보기에서는 두 개의 이미지가 보이지만, 저장 후에는 다음과 같이 보입니다:

미리보기뿐만 아니라 게시글에도 이미지가 표시되도록 하는 해결책이 있을까요?

업데이트: 2.7.0.beta7

2개의 좋아요

마크다운 태그 양쪽 위에 빈 줄을 추가하도록 게시물을 편집해야 합니다.

웹사이트에서 Discourse로 게시물을 게시하는 경우, 이미지가 제공되는 도메인을 Discourse의 disabled image download domains 사이트 설정에 추가해야 합니다. 이렇게 하면 Discourse에 게시되는 새 게시물에서 해당 문제가 발생하지 않도록 방지할 수 있습니다.

Simon님, 감사합니다. 불행히도 작동하지 않습니다:

공개 URL을 보내드릴 수는 있지만, 이것이 스팸으로 간주되는지 확실하지 않습니다. 원하시면 DM으로 보내드리겠습니다.

추가 정보가 필요하시면 알려주세요.
(현재 2.7.0.beta7, 890b06b10f 사용 중)

업데이트: 추가 배경 정보: 해당 게시글들은 Freshdesk 포럼 XML 내보내기로 생성된 import script를 통해 가져온 것입니다. 실제 콘텐츠에는 전체 HTML이 포함되어 있었습니다. 이후 로컬 개발 시스템의 백업을 새로 설정한 프로덕션 인스턴스로 가져왔습니다. 처음에는 이미지가 표시되었는데, 외부 URL을 참조하는 원래의 img 태그 때문이었습니다. 잠시 후 Discourse가 외부 원격 이미지를 다운로드했지만, 그 결과 위에서 보시는 것처럼 게시글이 깨진 형태로 나타났습니다.

1개의 좋아요

여기서 무슨 복잡한 문제가 있는 건지 정말 모르겠어요. 분명히 HTML 이미지 태그가 마크다운으로 대체되고 있잖아요 — 예를 들어 ![](upload://6zqK52dO23i1JsYH2oyMU12U2ro.jpeg)처럼요. 왜 ! 앞에 개행 문자 두 개를 넣도록 하지 않는 걸까요? 그러면 올바르게 렌더링되고, 이미지 업로드 기능이 작동해서 깨진 이미지와 크로스 사이트 문제를 방지할 수 있을 텐데 말이에요.

그 공백이 실제로 문제를 일으킬 수 있는 비이론적인 현실적인 상황이 있을까요? 그런 문제가 현재 플러그인의 “이미지가 항상 깨져 있는” 상태보다 더 나쁠까요?

저희 WordPress 플러그인은 WordPress 쪽에서 정확히 그렇게 처리하여 이 문제를 우회합니다. 게시글이 Discourse에 게시되기 이전에 모든 HTML img 태그 앞에 캐리지 리턴 두 개를 삽입하면 문제가 해결됩니다.

저는 Markdown 파서에서 이와 유사한 기능을 추가하는 것을 제안한 적이 있다고 생각합니다: Markdown rendering issue with image surrounded with HTML. 해당 접근 방식이 거부된 이유는 CommonMark 사양에서 벗어나고 싶지 않기 때문이라고 생각합니다.

음, 이제 더 혼란스러워졌네요! 그리고 약속하지만, 이건 진짜 혼란스러운 것이지, 효과를 위해 일부러 그러는 게 아닙니다. :slight_smile: 저희는 Discourse를 호스팅하고 있고, WordPress에는 플러그인의 최신 버전(2.3.0)이 설치되어 있다고 생각하는데, 여전히 깨진 이미지가 표시되고 있어서 제가 직접 들어가서 빈 줄을 추가해야 합니다. 이 기능을 활성화하려면 제가 해야 할 일이 있나요?

물론이죠. 복잡한 문제입니다. WP Discourse 플러그인은 이미지 문제를 해결하려고 시도하고 있지만, 현재는 WordPress 블록 편집기를 사용하여 게시물이 게시되고 기본 이미지 블록을 통해 이미지가 추가된 경우에만 이미지를 감지합니다. WordPress 사이트의 게시물에 이미지를 추가하는 방법에 대해 몇 가지 세부 사항을 공유해 주시면, 이 문제를 처리할 방법을 찾아낼 수 있을 것입니다.

이상적으로는 Discourse 측에서 이 문제가 수정되어야 하지만, 그것이 불가능하다면 WP Discourse 플러그인이 수행하는 이미지 파싱 기능을 개선해야 합니다.

음, 알겠습니다. 그래서 Would you use this as your homepage? – Fedora Community Blog 링크가 Would you use this as your homepage? - Fedora Discussion 로 연결되었습니다. (두 번째 링크의 이미지가 제대로 표시되는 이유는 제가 게시글을 직접 편집했기 때문입니다.)

워드프레스 백엔드를 확인해보니, 이미지들이 모두 이미지 블록으로 되어 있습니다.

다시 한번 말하지만, 여기의 복잡성을 이해하지 못하겠습니다. _무언가_가 디스커스 사이트의 각 게시글 원문에 ![](upload://na9g3dGvhEU753JEnGrz8xER4XS.png)와 같은 마크다운을 추가하고 있습니다. 왜 그 무언가가 각 마크다운 삽입 위치 앞에 빈 줄을 하나씩 추가하도록 하지 않는 걸까요?

해당 질문을 여기의 관련 버그 주제에서 게시해 보시겠습니까: Markdown rendering issue with image surrounded with HTML. 버그 주제에서 게시하면 더 많은 관심을 받을 가능성이 높습니다.

수정: WP Discourse 플러그인이 이미지를 올바르게 파싱하지 않아 발생하는 문제를 @angus에게 알릴 것입니다. WordPress 쪽에서 문제를 수정하기 위해 그의 진단에 도움이 될 추가적인 세부 정보가 필요할 수 있습니다.

1개의 좋아요