CLAUDE.md - Personal Website Overview

CLAUDE.md - Personal Website Overview

Project Overview

This is Emanuel Tewolde’s personal academic website (emanueltewolde.com) built using Jekyll and hosted on GitHub Pages. The site is based on the Academic Pages template, a fork of the Minimal Mistakes Jekyll theme.

Website Owner

Emanuel Tewolde - 4th year PhD student in Computer Science at Carnegie Mellon University

  • Research focus: Algorithmic game theory, reinforcement learning, AI safety, coordination, cooperation, and alignment
  • Advisor: Vincent Conitzer
  • Supported by: Cooperative AI PhD Fellowship

Technical Stack

  • Framework: Jekyll (Ruby-based static site generator)
  • Theme: Academic Pages (forked from Minimal Mistakes)
  • Hosting: GitHub Pages
  • Domain: emanueltewolde.com (via CNAME file)
  • Ruby Dependencies: Managed via Gemfile/Bundler
  • JavaScript: Minimal - mainly for UI enhancements (jQuery, plugins)

Repository Structure

Configuration Files

  • _config.yml - Main Jekyll configuration with site metadata, author info, collections, and build settings
  • _config.dev.yml - Development configuration override
  • Gemfile - Ruby dependencies (github-pages, jekyll plugins)
  • package.json - npm build scripts for JavaScript minification

Content Collections

The site uses Jekyll collections to organize different types of content:

Publications (_publications/)

  • 8 academic papers (2021-2025)
  • Format: Markdown files with YAML front matter
  • Fields: title, authors, venue, status, dates, file links, arXiv URLs
  • Example: 2025-04-01-LearnPhiEQs.md (EC 2025 paper)

Working Papers (_workingpapers/)

  • 3 working papers (2025)
  • Similar format to publications but for unpublished work
  • Example: 2025-05-01-Concordia.md (Concordia LLM evaluation paper)

Teaching (_teaching/)

  • 9 teaching experiences (2014-2025)
  • Format: Course information with dates and descriptions
  • Latest: “Cooperative AI” course (2025) as Head TA

Talks (_talks/)

  • Academic presentations and tutorials
  • Currently has 4 sample entries

Portfolio (_portfolio/)

  • Project showcase (minimal content currently)

Pages (_pages/)

Key pages include:

  • about.md - Homepage with bio, research interests, and dynamic content sections
  • cv.md - Curriculum vitae page
  • publications.md - Publications listing
  • teaching.html - Teaching experience
  • Various archive and utility pages

Layout & Design (_layouts/, _includes/, _sass/)

  • Layouts: Templates for different page types (single, archive, talk)
  • Includes: Reusable components (header, footer, author profile, navigation)
  • Sass: Styling with variables, mixins, and component styles

Assets

  • files/ - PDFs (CV, papers, posters)
  • images/ - Profile photos and icons
  • assets/ - CSS, JavaScript, fonts
  • _site/ - Generated static site (build output)

Data (_data/)

  • navigation.yml - Site navigation (currently commented out)
  • authors.yml - Author information
  • ui-text.yml - UI text strings

Key Features

Dynamic Content Generation

The homepage (about.md) dynamically displays:

  • Working papers section (if any exist)
  • Publications (reverse chronological)
  • Teaching experience (reverse chronological)

Build Process

  • Jekyll processes Markdown + YAML front matter
  • Sass compilation for CSS
  • JavaScript minification via npm scripts
  • Output to _site/ directory

SEO & Analytics

  • Google Analytics integration
  • Sitemap generation
  • SEO optimization via jekyll-seo-tag

Development Workflow

Local Development

bundle install          # Install Ruby dependencies
bundle exec jekyll serve # Run local server
npm run build:js        # Build JavaScript assets

Content Management

  • Publications and manuscripts: Add entries to _publications/ and set publication_type to conference, journal, or manuscript.
  • Teaching: Add new .md files to _teaching/
  • Active preprints: Add entries to _workingpapers/ with publication_type: preprint.
  • Workshop papers use publication_type: workshop and receive a separate W number.
  • Category codes and legend labels are defined in _data/publication_types.yml.
  • Files: Upload PDFs to files/ directory

Currently, main navigation is commented out in _data/navigation.yml, making the site a single-page layout focused on the about page.

Blog Posts and Mentoring

  • Add blogurl: 'https://...' to any publication or working paper to show a [blog post] link beside its other resource links and include it in the homepage Blog Posts list.
  • Optionally set blogtitle to use a different title in the Blog Posts list.
  • Set blogdate to the publication date; paper-related blog entries receive a separate B number and appear newest first at the bottom of the homepage.
  • Add posts unrelated to a paper in _data/blog_posts.yml. Paper-related posts appear newest blog date first, followed by standalone posts in their data-file order.
  • Fill the two placeholder records in _data/mentoring.yml with student names, research topics, and subsequent positions/institutions. Each record becomes one list item at the bottom of the homepage.

Site Icons

  • Browser and search icons are linked in _includes/head/custom.html: /favicon.ico, /images/favicon-96x96.png, and /images/apple-touch-icon.png.
  • These are square portrait icons based on images/profile.png; changing the profile photo alone does not regenerate them.
  • Google must recrawl the deployed homepage and icon before search results can update; favicon display is not guaranteed.

Content Conventions

  • Author ordering notation: “- αβ -“ indicates alphabetical ordering
  • Equal contribution: “==” superscripts
  • File naming: YYYY-MM-DD-descriptive-name.md
  • YAML front matter required for all content files

Dependencies & Security

  • Uses GitHub Pages compatible gems
  • All dependencies managed through Gemfile
  • No custom plugins that would break GitHub Pages compatibility
  • Regular Jekyll and theme updates via gem updates

Notes

  • The site is currently a work in progress, particularly the working papers section
  • Navigation is simplified to focus content on the main about page
  • Academic focus with emphasis on publications and teaching
  • Clean, professional design suitable for academic portfolio