How to setup a similar page
• Paul Gondolf (with the help of Claude)This guide explains how to set up and customize this Jekyll-based website template.
Quick Start
Prerequisites
- Ruby (2.7+)
- Bundler gem
- Git
Installation
- Fork or clone this repository
- Navigate to the project directory
- Update the relevant files with your personal information (see below)
-
Install dependencies:
bundle install
-
Start the development server:
bundle exec jekyll serve
- Visit
http://localhost:4000/baseurl/
to see your site
Configuration
Site Settings (_config.yml)
Update the main configuration file with your information:
# Site settings
title: "Your Name"
description: >-
"Your professional description here."
baseurl: "/websitereponame" # the subpath of your site (the repo name)
url: "https://yourusername.github.io" # the base hostname & protocol for your site
# Social media usernames (without @ symbol)
email: "your.email@example.com"
github_username: "your-github-username"
orcid_id: "0000-0000-0000-0000"
email_user: "youremailusername"
email_domain: "example.com"
# Credit :)
credit-title: "Paul Gondolf"
credit-url: "https://paul-the-wizord.github.io"
Of course you should also update the cv.md, index.md, lecture_notes.md, research.md and talks.md with your own information.
Additional Customizations
Don’t forget to personalize these visual elements:
- Profile Image: Replace the default profile image in
/assets/images/profile.jpg
with your own professional photo - Favicon: Create and add a favicon (the small icon in browser tabs) - you can use your initials, a professional headshot, or a symbol related to your field. Place favicon files in
/assets/images/
and add the appropriate<link>
tags to your layout’s<head>
section
In the robots.txt you should change the link to the Sitemap and also set your privacy settings.
User-agent: *
Allow: /
Sitemap: https://yourusername.github.io/websitereponame/sitemap.xml
Page Templates & Usage
CV Page (cv.md)
The CV template supports structured data for education, teaching, and work experience:
---
layout: cv
title: "Curriculum Vitae"
permalink: /cv/
last_updated: "August 2025"
education:
- date: "Present"
degree: "PhD in Mathematics"
institution: "University Name"
institution_url: "https://university.edu/"
location: "City, Country"
details:
- label: "Expected Graduation"
text: "Month Year"
- label: "Thesis"
text: "Your thesis title"
file: "/path/to/thesis.pdf" # or
url: "https://url-to-your-thesis.com"
- label: "Research Focus"
text: "Your research area"
teaching:
- title: "Course Title"
period: "2022 - 2024"
institution: "University Name"
institution_url: "https://university.edu/"
responsibilities:
- "Responsibility 1"
- "Responsibility 2"
work:
- date: "2021-2022"
position: "Job Title"
company: "Company Name"
company_url: "https://company.com/"
location: "City, Country"
description: "Brief job description"
achievements:
- "Achievement 1"
- "Achievement 2"
---
Research Page (research.md)
The research template organizes publications and preprints:
---
layout: research
title: "Research"
permalink: /research/
description: "Brief description of your research"
published_papers:
- title: "Paper Title"
journal: "Journal Name"
year: 2024
authors:
- name: "Coauthor Name"
- name: "Your Name"
highlight: true # Highlights your name
abstract: "Paper abstract here..."
award: # Optional
title: "Award Name"
url: "https://award-url.com"
description: "Award description"
links:
- text: "arXiv:1234.5678"
url: "https://arxiv.org/abs/1234.5678"
- text: "DOI"
url: "https://doi.org/..."
preprints:
- title: "Preprint Title"
status: "Submitted to Journal Name"
year: 2024
authors: # [same format as above]
abstract: "Abstract..."
links: # [same format as above]
research_interests:
- area: "Research Area 1"
description: "Description of this research area"
- area: "Research Area 2"
description: "Description of this research area"
---
Talks Page (talks.md)
Create a talks page following this structure:
---
layout: talks
title: "Talks"
permalink: /talks/
description: "Conference presentations and seminars"
talks:
- title: "Talk Title"
meta: # all optional
- "Conference/Seminar Name"
- "Month Year"
- "City, Country"
- "Conference Talk" # or "Seminar", "Poster", etc.
description: "Talk abstract..." # or summary, etc.
links:
- text: "Slides"
file: "/path/to/slides.pdf" # or
url: "https://url-to-slides.com"
- text: "Video"
url: "https://youtube.com/..."
---
Lecture Notes Page (_pages/lecture_notes.md)
Structure for course materials:
---
layout: lecture_notes
title: "Lecture Notes"
permalink: /lecture-notes/
description: "Course materials and educational resources"
courses:
- title: "Course Name"
institution: "University Name"
year: "2024"
description: "Course description"
topics:
- "Topic 1"
- "Topic 2"
materials:
- text: "Notes PDF"
url: "/path/to/notes.pdf"
- text: "Problem Sets"
url: "/path/to/problems.pdf"
---
Creating Blog Posts
Blog posts go in the _posts/
directory with the naming convention: YYYY-MM-DD-title.md
---
layout: post
title: "Your Post Title"
date: 2025-08-30
author: "Your Name"
excerpt: "Brief description for previews"
reading_time: 5 # Optional: estimated reading time in minutes
---
Your post content here using Markdown syntax.
## Math Support
The template includes MathJax for mathematical expressions:
Inline math: $E = mc^2$
Display math:
$$\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$$
Customization Tips
Colors & Styling
Modify CSS variables in assets/css/style.css
:
:root {
--color-primary: #B8724D; /* Your brand color */
--color-primary-dark: #9A5F42; /* Darker variant */
--content-max-width: 700px; /* Content width */
--sidebar-width: 320px; /* Sidebar width */
}
Adding New Sections
- Create a new layout in
_layouts/
- Add corresponding styles to
style.css
- Create the markdown file with appropriate front matter
File Organization
Your Jekyll site should be organized as follows:
your-academic-website/
├── _config.yml # Site configuration
├── _layouts/ # HTML templates for different page types
│ ├── default.html
│ ├── cv.html
│ ├── research.html
│ ├── talks.html
│ ├── lecture_notes.html
│ └── post.html
├── _posts/ # Blog posts and articles
│ └── 2025-09-03-how-to-setup.md
├── _pages/ # Pages (.md files)
│ ├── index.md # Homepage
│ ├── cv.md # CV page
│ ├── research.md # Research page
│ ├── talks.md # Talks page
│ └── lecture_notes.md # Lecture notes page
├── assets/ # Static files
│ ├── css/
│ │ └── style.css
│ ├── images/
│ │ └── profile.jpg
│ └── files/ # PDFs, slides, etc.
│ ├── cv.pdf
│ ├── thesis.pdf
│ └── slides/
├── robots.txt # Search engine instructions
├── Gemfile # Ruby dependencies
└── README.md # Repository documentation
Key Directories:
_layouts/
: HTML templates for different page types_posts/
: Blog posts and articles (named YYYY-MM-DD-title.md)_pages/
: Md files for front matterassets/
: Static files (CSS, images, PDFs)
Deployment
GitHub Pages
- Push your repository to GitHub
- Go to Settings > Pages
- Select “Deploy from a branch”
- Choose “main” branch and “/ (root)” folder
- Your site will be available at
https://username.github.io/repository-name
Serving at Root Domain (Optional)
To serve your site at yourusername.github.io
instead of yourusername.github.io/repository-name
:
- Rename your repository to
yourusername.github.io
(must match your GitHub username exactly) -
Update your
_config.yml
:baseurl: "" # Leave empty for root domain url: "https://yourusername.github.io"
-
Update your
robots.txt
:Sitemap: https://yourusername.github.io/sitemap.xml
Note: You can only have one username.github.io
repository per GitHub account.
Troubleshooting
- Build errors: Check
_config.yml
syntax and front matter formatting - Styling issues: Verify CSS file paths and variable names
- Math not rendering: Ensure MathJax configuration is correct in
default.html
- Images not loading: Check file paths and case sensitivity
For more help, refer to the Jekyll documentation.