[javascript] PhotoSwipe와 연동하여 이미지 블로그 포스트 생성하기

이번 포스트에서는 PhotoSwipe라는 JavaScript 라이브러리를 사용하여 이미지 블로그 포스트를 생성하는 방법을 알아보겠습니다. PhotoSwipe는 모바일과 데스크톱에서 매끄럽게 작동하는 이미지 갤러리를 구현할 수 있도록 도와줍니다.

PhotoSwipe 라이브러리 설치하기

PhotoSwipe를 사용하기 위해서는 먼저 해당 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 PhotoSwipe 라이브러리를 설치합니다.

npm install photoswipe

HTML 구조 설정하기

다음으로는 HTML 구조를 설정해야 합니다. PhotoSwipe는 이미지를 갤러리로 표시하기 위해 특정한 HTML 구조를 사용합니다. 아래의 예시 코드를 참고하여 HTML 파일에 PhotoSwipe 구조를 추가합니다.

<div class="my-gallery">
    <figure>
        <a href="path/to/image.jpg" data-size="600x400">
            <img src="path/to/image.jpg" alt="Image description">
        </a>
    </figure>
    <!-- 추가 이미지를 여기에 추가 -->
</div>

JavaScript 초기화하기

이제 JavaScript를 사용하여 PhotoSwipe를 초기화해야 합니다. 이 단계에서는 PhotoSwipe 라이브러리를 로드하고, 이미지를 클릭했을 때 갤러리를 열기 위한 이벤트 처리 로직을 작성합니다. 아래의 예시 코드를 참고하여 JavaScript 파일에 PhotoSwipe 초기화 코드를 추가합니다.

// PhotoSwipe 라이브러리 로드
import PhotoSwipe from 'photoswipe';
import PhotoSwipeUI_Default from 'photoswipe/dist/photoswipe-ui-default';

// 이미지 클릭 이벤트 핸들러
const gallery = new PhotoSwipe(document.querySelector('.my-gallery'), PhotoSwipeUI_Default);
const handleClick = (e) => {
  e.preventDefault();
  gallery.init();
};
const images = document.querySelectorAll('.my-gallery a');
images.forEach((image) => {
  image.addEventListener('click', handleClick);
});

CSS 스타일링하기

마지막으로, PhotoSwipe를 스타일링해주어 갤러리가 예쁘게 보이도록 만들어야 합니다. PhotoSwipe는 CSS 파일을 따로 제공하므로, 아래 링크를 통해 해당 파일을 다운로드하고 HTML 파일에 추가하세요.

PhotoSwipe CSS 다운로드 링크

<link rel="stylesheet" href="path/to/default-skin.css">

위의 링크를 HTML 파일의 head 태그 안에 추가하여 PhotoSwipe의 스타일을 적용합니다.

결론

위에서 설명한 단계들을 따라하면 PhotoSwipe와 연동하여 이미지 블로그 포스트를 생성할 수 있습니다. PhotoSwipe의 다양한 설정 옵션을 활용하여 원하는 스타일과 기능을 구현할 수도 있습니다. 자세한 내용은 PhotoSwipe 공식 문서를 참고하시기 바랍니다.

참고 자료: