제 커뮤니티는 아티스트들이 자신의 음악을 올리고 다른 사람들이 들을 수 있도록 하는 데 초점을 맞추고 있습니다.
사용자가 SoundCloud를 게시하면 iframe이 완벽하게 작동합니다. 그러나 Spotify 트랙과 플레이리스트에 대한 자동 iframe이 없는 것 같습니다.
가능하다면 이 설정을 어떻게 해야 할까요? Spotify의 모든 임베드 코드를 가지고 있지만, Discourse에서 어떻게 설정해야 하는지 모르겠습니다.
감사합니다!
제 커뮤니티는 아티스트들이 자신의 음악을 올리고 다른 사람들이 들을 수 있도록 하는 데 초점을 맞추고 있습니다.
사용자가 SoundCloud를 게시하면 iframe이 완벽하게 작동합니다. 그러나 Spotify 트랙과 플레이리스트에 대한 자동 iframe이 없는 것 같습니다.
가능하다면 이 설정을 어떻게 해야 할까요? Spotify의 모든 임베드 코드를 가지고 있지만, Discourse에서 어떻게 설정해야 하는지 모르겠습니다.
감사합니다!
Soundcloud 원박스(Onebox)는 Discourse에서 훌륭하게 작동합니다. Spotify의 경우, Discourse 게시글에 노래나 플레이리스트의 Spotify 링크를 추가하면 원박스가 생성되지만 Spotify 플레이어는 생성되지 않습니다.
사이트 설정의 allowed iframes에 https://open.spotify.com/embed/를 추가하면 사용자가 Discourse 게시글에 Spotify 임베드 코드(iframe)를 추가할 수 있습니다. 이렇게 하면 사용자가 트랙의 30초 미리듣기를 들을 수 있는 오디오 플레이어가 생성됩니다.
iframe 기능을 내 사용자에게 제공할 수 있도록 반드시 검토해 보겠습니다.
일반적인 Spotify 링크를 자동으로 임베디드 iframe으로 변환하는 방법이 있을까요? 이전에는 Invision Power Board를 사용했는데, 이 소프트웨어는 Spotify를 포함한 다양한 미디어 서비스의 임베디드 코드를 자동으로 생성해 주었습니다. 다만, 해당 소프트웨어가 매우 비싸고 오픈소스가 아니라는 점은 알고 있습니다.
기술적으로는 가능하지만, 이를 의존하고 싶지는 않습니다. 예를 들어, https://open.spotify.com/track/39zWYYZStDgWi32sOU9AX4?si=BLFB8HxuQNC-OaHtwD_E4A와 같은 Spotify 링크는 링크 경로에 /embed를 추가한 후 해당 URL을 iframe의 src로 사용하여 iframe으로 변환할 수 있습니다:
<iframe src="https://open.spotify.com/embed/track/39zWYYZStDgWi32sOU9AX4?si=BLFB8HxuQNC-OaHtwD_E4A"></iframe>
좋은 생각이에요, 네, 그렇게 하면 원하는 결과를 얻을 수 있을 것 같아요. 그런 결과를 얻기 위해 어떤 파일을 수정해야 하는지 알고 계신가요? 어떤 파일인지 알면 제 스스로 코드를 작성할 수 있을 거라고 확신합니다!
Discourse 사이트가 자체 호스팅(self-hosted)된 경우, Spotify 원박스(onebox) 플러그인을 만드는 것이 가장 좋은 방법이라고 생각합니다. Spotify 페이지에서 웹 인스펙터를 열면, iframe으로 Spotify 플레이어를 생성하는 데 필요한 데이터가 페이지의 meta 태그에 포함되어 있는 것을 볼 수 있습니다. 웹 인스펙터를 열려면 키보드 단축키를 사용해야 할 가능성이 높습니다. Spotify은 우클릭을 차단하는 것으로 보입니다.
원박스가 어떻게 생성되는지에 대한 예제는 다음 링크에서 찾을 수 있습니다: GitHub - discourse/onebox: (DEPRECATED) A gem for turning URLs into website previews · GitHub.