AGENT.md
AGENT.md
Objective
Upgrade an existing AcademicPages (Jekyll + GitHub Pages) personal academic website to a more modern research-oriented layout with:
- A research overview page (Zehang Li–style)
- A projects index + individual project pages (Zhenke Wu–style)
- A cleaner homepage with improved hierarchy
The site must remain compatible with GitHub Pages constraints (no unsupported plugins, static build only).
Environment Context
- Framework: Jekyll (AcademicPages / Minimal Mistakes fork)
- Hosting: GitHub Pages
- Content format: Markdown + YAML front matter
- Rendering: Liquid templates
- Build constraint: Only GitHub Pages–supported plugins allowed
High-Level Tasks
1. Fix CV Page
Update the current CV page so it directly opens the PDF instead of sending visitors to a GitHub link.
Behavior:
/cv/should resolve directly to the hosted PDF asset- Keep navigation label as “CV”
- Preserve a clean user flow for downloading or opening the PDF in-browser
2. Add Research Page
Create a structured research overview page.
File:
_pages/research.md
Requirements:
- Render 4–6 research themes
- Each theme includes:
- title
- short description (2–4 sentences)
- keywords/tags
- optional links
- Layout should support card/grid display
- Add a section for selected publications
- Each selected publication should include:
- short blurb
- downloadable paper link
- GitHub link for code and/or data when available
Data source (preferred):
_data/research.yml
3. Add Projects Collection
Create a Jekyll collection for projects.
Update _config.yml:
collections:
projects:
output: true
permalink: /projects/:path/
Directory:
_projects/
Each project file must include front matter:
---
title: "Project Title"
excerpt: "1–2 sentence summary"
date: 2025-01-01
status: ongoing
tags: [LLM, Bayesian, Global Health]
links:
- label: "Paper"
url: ""
- label: "Code"
url: ""
---
4. Create Projects Index Page
File:
_pages/projects.md
Behavior:
- Automatically iterate through
site.projects - Display:
- title
- short description
- tags
- link to project page
5. Add Talks Page
Create a page for selected presentations and talks.
File:
_pages/talks.md
Behavior:
- Highlight selected invited talks, conference presentations, workshops, or guest lectures
- Each item should support:
- title
- venue/event
- date
- short description or takeaway
- optional slides/video/recording link
Preferred approach:
- Reuse existing talks content if already present in the site
- If needed, create a lightweight data source for selected talks
6. Add News Page
Create a page for academic and professional updates.
File:
_pages/news.md
Behavior:
- Display news items in reverse chronological order
- Support concise updates such as papers, awards, talks, grants, teaching, collaborations, or media mentions
- Keep the layout lightweight and easy to update
Data source (preferred):
_data/news.yml
7. Add Personal Page
Create a page about personal interests and fun updates outside formal research.
File:
_pages/personal.md
Behavior:
- Introduce hobbies, interests, side projects, travel, photos, or other light personal content
- Include a “fun news” or life updates section
- Keep tone warm and human while still fitting the broader academic site
8. Improve Homepage
Modify:
_pages/about.md
Changes:
- Shorten biography (≤150 words intro)
- Add:
- research statement (2–3 lines)
- links: CV / Google Scholar / GitHub
- Add section:
- “Selected Research Areas” (link to research page)
- “Selected Projects” (link to projects)
- quick links to talks, news, and personal page if they improve navigation
9. UI / Layout Enhancements
Override theme defaults where needed.
Edit or create:
_layouts/
_includes/
assets/css/custom.scss
Add components:
research-card.htmlproject-card.htmlpublication-card.htmlnews-item.htmltalk-card.html
Styling goals:
- clean academic look
- grid-based layout
- subtle borders (no heavy shadows)
- responsive design
- restrained color palette
Constraints
- Do NOT introduce unsupported Jekyll plugins
- Do NOT break existing collections (publications, talks, etc.)
- Maintain compatibility with GitHub Pages build system
- Preserve existing URLs where possible
Preferred Implementation Patterns
Research (data-driven)
_data/research.yml → rendered via include
News (data-driven)
_data/news.yml → rendered via include or page loop
Projects (collection-driven)
_projects/*.md → auto-indexed
Layout reuse
- Use includes for repeatable UI components
- Avoid duplicating HTML
Example Research YAML
- title: "AI for Population Health"
description: "Developing multimodal ML models for population health insights."
tags: ["LLM", "Multimodal", "Health Data"]
- title: "Data Quality in Surveys"
description: "Measuring and modeling information sufficiency in survey and surveillance systems."
tags: ["Survey Methods", "Data Quality"]
Example Include (Project Card)
<div class="project-card">
<h3><a href=""></a></h3>
<p></p>
<div class="tags">
</div>
</div>
Acceptance Criteria
/cv/opens the PDF directly/research/page exists and renders structured themes/research/includes selected publications with downloadable links and code/data links where available/projects/page lists all projects dynamically- Each project has its own page
/talks/page exists and highlights selected presentations/news/page exists and displays updates cleanly/personal/page exists and presents personal interests/fun updates- Homepage is visually cleaner and shorter
- Site builds successfully on GitHub Pages
- No broken links or layout regressions
Non-Goals
- Do NOT migrate away from Jekyll
- Do NOT introduce React/Vue or dynamic frameworks
- Do NOT redesign publications/talks sections unless necessary
Execution Strategy
- Create new pages and collections
- Add minimal working layouts
- Populate with placeholder content
- Apply styling improvements
- Refactor for reuse and cleanliness
Notes for Codex
- Prefer small, atomic commits
- Validate Liquid syntax carefully (common failure point)
- Test locally with:
bundle exec jekyll serve - Ensure compatibility with GitHub Pages build pipeline
