Personal website built with Jekyll, featuring a YouTube video integration for media appearances.
- Install dependencies:
bundle install- Create a
.envfile in the root directory with your YouTube API key:
YOUTUBE_API_KEY=your_api_key_hereRun the Jekyll development server with live reload:
bundle exec jekyll serve --livereloadThe site uses a two-step process to display YouTube videos:
-
Maintain a simple list of video URLs in
_data/video_urls.yml, organized by category:- interviews
- podcasts
- lectures
- press_conferences
-
Generate enriched video data using the YouTube API:
node scripts/fetch_youtube_data.jsThis script:
- Reads video URLs from
_data/video_urls.yml - Fetches metadata from YouTube (titles, thumbnails, view counts, etc.)
- Generates
_data/youtube_videos.ymlwith enriched data
_data/video_urls.yml- Source file with YouTube video URLs_data/youtube_videos.yml- Generated file with enriched video data_layouts/minimal.html- Minimal layout templateindex.html- Main page with video gridscripts/fetch_youtube_data.js- YouTube data fetching script
- The
.envfile is ignored by Git to keep the API key secure - Videos are displayed in reverse chronological order (newest first)
- Each video category uses a horizontal scrolling grid
- Video cards show:
- High-quality thumbnail
- Video duration
- Title
- Channel info with logo
- View count
- Publication date