Jekyll 기반 블로그에 YouTube 미러링 페이지 자동 생성 스크립트

🤖 AI 추천

이 콘텐츠는 웹 개발자, 특히 Jekyll 블로그를 운영하며 콘텐츠를 효율적으로 관리하려는 개발자에게 매우 유용합니다. 특히 미들 레벨 이상의 개발자라면 자동화 스크립트 구현 및 유지보수에 대한 이해를 높일 수 있으며, 주니어 개발자도 Jekyll 기반의 웹사이트 구축 및 콘텐츠 관리 워크플로우를 배우는 데 도움이 될 것입니다.

🔖 주요 키워드

Jekyll 기반 블로그에 YouTube 미러링 페이지 자동 생성 스크립트

핵심 기술

이 글은 Jekyll 블로그에서 YouTube 영상 콘텐츠를 자동으로 미러링하는 페이지를 생성하는 Python 스크립트를 소개합니다. Apache HTTP 서버의 디렉토리 리스팅을 활용하여 YouTube 영상 ID를 수집하고, 로컬 마크다운 파일과의 차집합을 통해 누락된 영상을 식별한 후, 각 영상의 제목, 영상 파일, 썸네일 정보를 자동으로 가져와 Jekyll 페이지를 생성하는 과정을 다룹니다.

기술적 세부사항

  • Apache Auto-Indexing 활용: Apache HTTP 서버의 자동 인덱싱 기능을 통해 영상 ID, 영상 파일(.webm), 썸네일 파일(.png), 그리고 제목 파일(.txt)이 저장된 디렉토리 구조를 스크랩합니다.
  • Python 스크립트: httpx 라이브러리로 HTTP 요청을 처리하고, BeautifulSoup으로 HTML을 파싱하여 필요한 정보를 추출합니다.
  • YouTube Video ID 추출: 정규 표현식(re)을 사용하여 유효한 YouTube Video ID 패턴을 가진 링크를 필터링합니다.
  • 로컬 파일 비교: pathlib을 사용하여 로컬 Jekyll 블로그의 마크다운 파일(*.md)을 스캔하고, 원격 영상 목록과의 차집합 연산을 통해 새롭게 생성해야 할 페이지를 식별합니다.
  • 데이터 수집 및 가공: 각 영상 ID에 대해 title.txt, .webm, .png 파일의 URL을 구성하고, title.txt 파일에서 영상 제목을 가져와 데이터 구조로 만듭니다.
  • Jekyll 페이지 생성: f-string을 사용하여 각 영상에 대한 Jekyll 마크다운 페이지를 생성하며, YAML 프런트 매터에 layout, title, permalink, description, backup_url, poster_image 등의 정보를 포함시킵니다.
  • Pre-commit Hook 설정: 생성된 스크립트를 Git pre-commit hook으로 등록하여 변경 사항이 커밋될 때마다 자동으로 실행되도록 설정합니다.

개발 임팩트

  • YouTube 영상 콘텐츠를 자체 서버에 백업하고 블로그에 통합 관리하는 시스템을 구축할 수 있습니다.
  • 새로운 영상이 업로드될 때마다 수동으로 페이지를 생성하는 번거로움을 자동화하여 개발자의 생산성을 높입니다.
  • YouTube 채널의 안정성 문제나 콘텐츠 변경 시에도 자체적으로 호스팅되는 백업본을 통해 서비스 연속성을 확보할 수 있습니다.

커뮤니티 반응

  • 원문 작성자는 이 시리즈가 유용했는지 독자들에게 피드백을 요청하고 있으며, 본인의 YouTube 채널을 확인하도록 안내하고 있습니다. 커뮤니티의 직접적인 반응에 대한 언급은 없습니다.

톤앤매너

전문적이고 실용적인 톤으로, 개발자가 따라 할 수 있도록 코드 예시와 함께 각 단계별 설명을 명확하게 제공합니다.

📚 관련 자료