YouTube 채널 활동 자동화를 위한 Jekyll 블로그 포스트 생성

🤖 AI 추천

이 콘텐츠는 YouTube 채널 운영과 개인 블로그 관리를 병행하는 개발자, 콘텐츠 크리에이터, 혹은 자동화 도구를 활용하여 워크플로우를 개선하고자 하는 모든 IT 전문가에게 매우 유용합니다. 특히, 반복적인 수작업을 줄이고 싶은 개발자에게 실질적인 도움을 줄 수 있습니다.

🔖 주요 키워드

YouTube 채널 활동 자동화를 위한 Jekyll 블로그 포스트 생성

YouTube 채널 활동 자동화를 위한 Jekyll 블로그 포스트 생성

핵심 기술

YouTube 채널에 새 영상이 게시될 때마다 개인 Jekyll 블로그에 자동으로 관련 포스트를 생성하는 워크플로우 자동화 방법을 설명합니다. YouTube RSS 피드와 Python 라이브러리를 활용하여 반복적인 수작업을 줄이는 실용적인 기술을 다룹니다.

기술적 세부사항

  • 자동화 목표: YouTube 채널에 새 비디오가 게시되면 Jekyll 블로그에 자동으로 포스트 생성
  • 핵심 라이브러리: feedparser (YouTube RSS 피드 파싱), PyYAML (YAML 프론트매터 처리), slugify (URL 슬러그 생성, 본문에서는 직접 사용되지 않음)
  • 프로세스:
    1. YouTube 채널의 RSS 피드 URL에서 데이터를 가져와 파싱합니다.
    2. 각 피드 항목(entry)에서 URL, 제목, 게시일, 태그(비디오 설명에서 정규표현식으로 추출)를 추출합니다.
    3. 추출된 데이터를 사용하여 _posts 디렉토리에 새로운 Markdown 파일을 생성합니다. 기존에 자동 생성된 포스트는 변경하지 않도록 처리합니다.
  • 데이터 추출 함수 (extract_feed_youtube_data): feedparser를 사용하여 url, title, published 날짜, summary (영상 설명) 및 tags를 추출합니다. published_parsed를 활용하여 datetime 객체로 변환하고, summary에서 get_video_tags 함수로 태그를 추출합니다. 필요시 STANDARD_TAGS를 추가하고 중복 제거 및 정렬하는 클린업 과정을 거칩니다.
  • Markdown 포스트 생성 함수 (create_markdown_blog_post): f-string을 사용하여 Jekyll 포스트 형식의 Markdown을 생성합니다. titledescription 필드에 특수 문자가 포함될 경우 YAML 파싱 오류를 방지하기 위해 |- 접두사를 사용합니다. 비디오 임베드 코드(generate_youtube_embed_code), 관련 링크, 태그 목록 등을 포함합니다.
  • 자동화 트리거: 로컬 pre-commit hook을 통해 스크립트를 실행하며, 필요한 Python 의존성을 별도 환경에 설치합니다.

개발 임팩트

  • 반복적이고 시간 소모적인 수작업을 자동화하여 개발 생산성을 향상시킵니다.
  • 콘텐츠 게시 일관성을 유지하고, 새로운 비디오 발행 즉시 블로그에 정보를 공유할 수 있습니다.
  • 기술적 재활용 가능성이 높은 자동화 스크립트 아키텍처를 제공합니다.

향후 개선 제안

  • 비디오 전사(Transcription)를 가져와 LLM(Ollama)을 활용해 요약문을 생성하고, 수동 검토 후 블로그에 게시.
  • Mastodon API를 활용하여 블로그 포스트 정보를 Mastodon에 자동으로 전송.

📚 관련 자료