Description

page ๊ตฌ์„ฑ ์š”์†Œ๋กœ Youtube Iframe์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ.
๋‹จ์ˆœํžˆ Iframe์„ ์ถ”๊ฐ€ํ•จ.
(์ถ”ํ›„์— customํ•ด์„œ ์›ํ•˜๋Š” ์˜์ƒ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•  ์˜ˆ์ •)

Required

none.

Source

View

path: quartz/components/custom/MusicBox.tsx

MusicBox.tsx
import { QuartzComponent, QuartzComponentConstructor } from "../types"  
import style from "../styles/custom/musicBox.scss"  
  
const MusicBox: QuartzComponent = () => {  
  return (  
    <div className="music-box">  
    <h3 className="music-box-title">Music</h3>  
    <div className="iframe-container">  
      <iframe  
        src="https://www.youtube.com/embed/tI-5uv4wryI?si=kLiQKCxDLzhLqSuC&autoplay=1&mute=1&controls=0&loop=1&playlist=tI-5uv4wryI"  
        title="YouTube video player"  
        frameBorder="0"  
        allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"  
        referrerPolicy="strict-origin-when-cross-origin"  
        allowFullScreen  
      ></iframe>  
    </div>  
    </div>  
  )}  
  
MusicBox.css = style  
  
export default (() => MusicBox) satisfies QuartzComponentConstructor

CSS

path:quartz/components/styles/musicBox.scss

musicBox.scss
.music-box-title {  
  margin: 0;  
  color: var(--textHighlight);  
}  
.iframe-container {  
  border-radius: 5px;  
  overflow: hidden;  
  display: inline-block;  
  margin: .5em 0;  
}  
  
iframe {  
  border: none;  
  width: 100%;  
  height: 100%;  
  display: block;  
}