자체 호스팅된 디스커스 인스턴스 위에 검색 엔진, 문서 자료, 위키 등 다양한 커스텀 기능을 포함하는 플랫폼을 구축할 계획입니다. 이 기능들은 주로 정적 페이지 형태로 HTML, CSS, JavaScript를 사용하여 개발됩니다.
제 목표는 이러한 커스텀 페이지를 디스커스 포럼에 직접 통합하여 게시글이 아닌 네이티브 페이지처럼 보이게 하고, 포럼의 일부로 자연스럽게 느껴지는 매끄러운 사용자 경험을 제공하는 것입니다. 이 정적 페이지가 포럼 사용자에게 접근 가능해야 하며, 모든 JavaScript 기능이 의도대로 작동해야 합니다.
디스커스 내에서 이러한 접근 방식이 가능한지 조언을 구합니다. 아니면 살펴봐야 할 특정 플러그인, 모범 사례, 또는 설정이 있는지요? 게시글처럼 보이지 않도록 커스텀 HTML/JS 페이지를 임베드하고 표시하는 방법에 대한 모든 안내에 감사하겠습니다!
계획하고 있는 모든 기능, 즉 위에서 언급한 것들은 정적 코드이며, 이는 HTML, CSS, 그리고 바닐라 JS를 통해 모두 구축된다는 뜻입니다. 정적 페이지를 만들고, 위에서 언급한 기능들의 커스텀 코드를 제 자신의 Discourse 인스턴스에 추가하는 것이 가능한지 궁금합니다.
음, 제 질문이 매우 혼란스러울 수 있다는 걸 알아차렸으니, ChatGPT로 메시지를 다시 생성해 질문을 수정했습니다. 수정된 질문은 다음과 같습니다:
디스코스 커뮤니티 여러분, 안녕하세요!
자체 호스팅된 디스코스 인스턴스 위에 검색 엔진, 문서 자료, 위키 등 다양한 맞춤형 기능을 포함하는 플랫폼을 구축할 계획입니다. 이러한 기능은 주로 정적 페이지 형태로 HTML, CSS, JavaScript를 사용하여 개발되었습니다.
제 목표는 이러한 맞춤형 페이지를 디스코스 포럼에 직접 통합하여 게시물이 아닌 네이티브 페이지처럼 보이게 하고, 포럼의 일부인 것처럼 느껴지는 매끄러운 사용자 경험을 제공하는 것입니다. 이 정적 페이지가 포럼 사용자에게 접근 가능하고, 모든 JavaScript 기능이 의도한 대로 작동하기를 바랍니다.
디스코스에서 이러한 접근 방식이 가능한지 조언해 주실 수 있을까요? 아니면 살펴봐야 할 특정 플러그인, 모범 사례, 설정이 있다면 알려주시면 감사하겠습니다. 게시물이 아닌 것처럼 보이는 방식으로 맞춤형 HTML/JS 페이지를 임베딩하고 표시하는 방법에 대한 모든 지침에 감사하겠습니다!
가장 쉬운 방법은 이 페이지들을 다른 곳에 호스팅한 후, 테마 컴포넌트를 사용하여 링크를 추가하고 해당 사이트의 테마를 Discourse 사이트와 동일하게 설정하는 것입니다. 사람들은 URL을 거의 신경 쓰지 않으므로, 다른 사이트의 내비게이션을 유지하여 사용자가 Discourse로 돌아올 수 있게만 하면 자연스럽게 작동하며 복잡한 작업이 필요하지 않습니다.
그것이 정확히 무엇을 의미하는지 잘 모르겠지만, 정말로 사용자 정의 기능을 Discourse에 추가하고 싶다면 플러그인이나 테마 컴포넌트로 만들어야 합니다.
늦게 답변드려 죄송합니다. 제가 나열한 기능들은 구현하고 싶은 기능의 몇 가지 예시일 뿐이며, 총 20개 정도가 있습니다. 이 기능들은 모두 서버 측 렌더링 없이 순수 JS, HTML, CSS로 작성되었습니다.
저는 이를 Discourse에 직접 통합하는 방식을 선호합니다. 예를 들어 Discourse 내에서 페이지를 생성하고, 해당 페이지를 편집하여 모든 사용자 정의 코드를 추가한 뒤 Discourse와 함께 배포하는 방식입니다. 이렇게 하면 모든 것이 한곳에 모여 있어 저에게는 유지보수가 훨씬 쉬울 것이며, 사용자는 Discourse 포럼에서 벗어나지 않고도 콘텐츠를 직접 접근할 수 있습니다. 이것이 Discourse에서 가능한가요? 가능하다면 어떻게 해야 하나요?
제가 호스팅하는 Discourse 포럼에 사용자 정의 기능을 추가하고 싶습니다. 이 기능들은 HTML, CSS, 순수 JS로 직접 구축됩니다. 플러그인을 생성할 필요 없이 직접 구현할 수 있는지 궁금합니다.
여기서 설명하시는 것에 대해 제가 사용하는 또 다른 접근 방식은, 커스텀 페이지를 표시하고 싶은 개별 페이지나 게시물을 생성하고 호스팅하기 위해 Ghost 블로그/CMS를 사용하는 것입니다. Ghost는 페이지별로, 또는 섹션/태그별로, 또는 “헤더 코드 주입”, “푸터 코드 주입”, 그리고 페이지/게시물 에디터 내의 인라인 코드/스크립트 포함을 통해 사이트 전체에 걸쳐 JS, CSS, HTML 세 가지 유형의 코드를 포함하고 삽입하는 데 있어 유연성이 뛰어나기 때문에 이 용도에 특히 잘 적합합니다.
그 다음, Discourse에서 이러한 외부 페이지를 Discourse 사이트에 어떻게 임베드하거나 기타 방식으로 원활하게 포함할 것인지에 대해 여러 옵션을 제공합니다. RSS, 임베드된 댓글, Iframe, 링크된 페이지 또는 기타 방법을 사용할 수 있습니다.
Discourse와 Ghost의 이러한 조합/결합은 “즉석(on-the-fly)” 코딩과 임의의 JavaScript 주입이 필요한 이 특정 사용 사례에 이상적인 플랫폼을 제공할 수 있다고 생각합니다.
두 플랫폼(Ghost와 Discourse)의 정반대이지만 매우 상호보완적인 자연스러운 강점과 한계, 그리고 두 플랫폼을 어떻게 결합하고 통합할 수 있는지를 이해한 이후로, 저는 더 나은 솔루션을 찾지 못했습니다.
이 방식을 통해 Discourse의 매우 견고한 전체 콘텐츠 조직 및 커뮤니티 플랫폼 기능과 함께, Ghost의 인라인 코드 편집에 대한 즉석 접근법의 단순함과 개별 페이지에서 JS, CSS, HTML(그리고 심지어 Markdown까지)을 포함하는 유연성을 모두 누릴 수 있습니다.
진정한 보너스는 두 플랫폼 모두 오픈 소스이며 GitHub 기반이라는 점입니다. 따라서 두 플랫폼 모두 견고하고 활발하며 친근하고 지원이 좋은 커뮤니티를 갖추고 있어, 커뮤니티에 참여하고 지원을 받으며 빠르게 그리고 끝없이 배울 수 있습니다.