Website Editing Guide

A complete reference for editing text, links, images, and content on your Academic Pages / Jekyll portfolio site
Nishant.github.io — Academic Pages (Jekyll)

Contents

  1. Project Structure Overview
  2. Site-Wide Settings & Profile (_config.yml)
  3. Navigation Bar
  4. Home / About Page
  5. Profile Photo & Images
  6. CV Page
  7. Publications
  8. Talks
  9. Teaching
  10. Blog Posts
  11. Uploading Files (PDFs)
  12. Markdown Quick Reference

1   Project Structure Overview

Your website is built with Jekyll and hosted on GitHub Pages. You never touch raw HTML for regular edits — almost everything is controlled by simple text files using YAML (settings) and Markdown (content).

Key folders and files at a glance

PathWhat it controls
_config.ymlGlobal site settings — your name, bio, social links, profile photo filename
_data/navigation.ymlTop navigation bar links and their order
_pages/about.mdHome page body text
_pages/cv.mdCV / Resume page content
_publications/*.mdOne file per publication entry
_talks/*.mdOne file per talk or presentation
_teaching/*.mdOne file per teaching position
_posts/*.mdBlog post entries
images/Photos and images used anywhere on the site
files/Downloadable files — PDFs, ZIPs, etc.
Every time you save and push a file to GitHub, the site automatically rebuilds within ~1–2 minutes. You do not need to run any build commands manually.

2   Site-Wide Settings & Profile

File: _config.yml

This single file controls your name, tagline, sidebar bio, profile photo, and all social/academic links. Open it in any text editor and look for the fields described below.

2.1   Your Name & Site Title

title: "Your Name / Site Title" # shown in the browser tab name: &name "Your Full Name" # used throughout the site description: &description "Your description"

2.2   Sidebar Bio & Location

author: avatar: "profile.png" # filename of your photo inside images/ name: "Your Sidebar Name" pronouns: "she/her" # optional, leave blank to hide bio: "Short biography for the left-hand sidebar" location: "New York, USA" employer: "MIT" email: "you@example.com"

2.3   Social & Academic Links

Below the author: section you will find fields for every major platform. Paste the full URL (or just a username where indicated):

googlescholar: "https://scholar.google.com/citations?user=XXXX" github: "yourgithubusername" # username only, not full URL linkedin: "yourlinkedinusername" # username only twitter: "yourhandle" # without @ orcid: "https://orcid.org/0000-0000-0000-0000" email: "you@university.edu"
Any field that is left blank will simply not appear as an icon in the sidebar — you will never see a broken icon.

2.4   Site URL (important before publishing)

url: "https://yourgithubusername.github.io" baseurl: "" # leave blank unless in a sub-folder repo repository: "yourgithubusername/yourgithubusername.github.io"

3   Navigation Bar

File: _data/navigation.yml

This file controls which links appear in the top header bar and in what order.

3.1   Current structure

main: - title: "Talks" url: /talks/ - title: "Teaching" url: /teaching/ - title: "Blog Posts" url: /year-archive/ - title: "CV" url: /cv/

3.2   How to edit

Indentation in YAML uses spaces, not tabs. Each level must be indented by exactly 2 spaces or the file will fail to parse and your site will not build.

4   Home / About Page

File: _pages/about.md

This is the first page visitors see. It is a standard Markdown file with a small YAML header at the top (called "front matter").

4.1   Front matter (top of file)

--- permalink: / # keeps this as the homepage — do not change title: "Jane Smith — Researcher" # displayed as the page heading author_profile: true # shows sidebar — set false to hide ---

4.2   Body text

Everything below the closing --- is the page body written in Markdown. You can:

4.3   Adding an image inline

Place the image file in the images/ folder, then reference it in the Markdown:

![Alt description text](/images/your-image-filename.jpg)

To control the size, use an HTML img tag instead:

<img src="/images/your-image-filename.jpg" width="400" alt="Description" />

5   Profile Photo & Images

5.1   Changing your profile/sidebar photo

  1. Prepare a square photo (recommended minimum 300×300 px). Ideally crop it to a square so it displays correctly in the circular frame.
  2. Name the file something simple, e.g. profile.png or photo.jpg.
  3. Upload (copy) it into the images/ folder in your project.
  4. Open _config.yml and update the avatar field to match your exact filename:
    avatar: "photo.jpg"
The filename is case-sensitive. Photo.JPG and photo.jpg are different files on Linux servers (GitHub Pages runs Linux).

5.2   Using images in page content

Any image file placed in images/ can be referenced from any Markdown page:

What you wantMarkdown / HTML to write
Basic image![Description](/images/file.png)
Image with fixed width<img src="/images/file.png" width="300">
Centered image<p align="center"><img src="/images/file.png"></p>
Image as a link[![Alt](/images/file.png)](https://example.com)

5.3   Supported image formats

PNG, JPG/JPEG, GIF, SVG, and WebP are all supported. Keep file sizes reasonable — large images slow down page loads. Aim for under 500 KB per image for web use.


6   CV Page

File: _pages/cv.md

The CV page is a Markdown file where you write your resume content directly. The Publications, Talks, and Teaching sections are auto-populated from their respective folders, but Education, Work Experience, and Skills are typed manually.

6.1   Editing Education & Work Experience

Education ====== * Ph.D in Computer Science, MIT, 2024 * M.S. in Machine Learning, Stanford, 2020 * B.S. in Mathematics, UCLA, 2018 Work Experience ====== * 2022–2024: Research Scientist * Google DeepMind * Developed models for X and Y * Supervisor: Dr. Lastname * 2020–2022: Graduate Research Assistant * Stanford University, AI Lab

6.2   Adding a Skills section

Skills ====== * Programming: Python, R, C++, Julia * Frameworks: PyTorch, TensorFlow, JAX * Deep Learning * Reinforcement Learning * Languages: English (native), Spanish (conversational)

6.3   Auto-populated sections

The following sections in cv.md automatically pull from their folders — you do NOT edit them here:

Section in CVData comes from
Publications_publications/*.md
Talks_talks/*.md
Teaching_teaching/*.md

7   Publications

Folder: _publications/

Each publication is its own .md file. The filename format is YYYY-MM-DD-short-title.md — the date controls sort order.

7.1   Publication file template

--- title: "Full Title of Your Paper" collection: publications category: manuscripts # options: manuscripts | conferences | books permalink: /publication/2024-paper-short-name excerpt: 'One or two sentence summary shown in the list view.' date: 2024-06-15 venue: 'Nature, Vol. 12' paperurl: 'https://doi.org/10.xxxx/xxxxx' # or /files/paper.pdf citation: 'Smith, J. (2024). &quot;Title.&quot; <i>Nature</i>. 12(1).' --- Full abstract or description goes here. Supports all Markdown formatting.

7.2   Adding a new publication

  1. Copy any existing file in _publications/.
  2. Rename it to match the date and title, e.g. 2024-09-01-my-new-paper.md.
  3. Edit all the fields in the front matter (between the --- markers).
  4. If you have a PDF, copy it to files/ and set paperurl: '/files/mypaper.pdf'.

7.3   Changing publication categories

category: valueAppears under heading
manuscriptsJournal Articles
conferencesConference Papers
booksBooks

The heading labels can be changed in _config.yml under the publication_category: section.


8   Talks

Folder: _talks/

Each talk is its own .md file. Same naming convention: YYYY-MM-DD-talk-title.md.

8.1   Talk file template

--- title: "Title of Your Talk" collection: talks type: "Conference talk" # e.g. "Invited talk", "Tutorial", "Poster" permalink: /talks/2024-06-my-talk venue: "NeurIPS 2024" date: 2024-12-10 location: "Vancouver, BC, Canada" slidesurl: '/files/slides_neurips24.pdf' # optional paperurl: 'https://arxiv.org/abs/xxxx' # optional --- Abstract or description of the talk. You can write as much as you like here.

8.2   Adding a new talk

  1. Create a new file in _talks/ with the date-based filename format.
  2. Fill in the front matter fields above.
  3. Write a description in the body (below the second ---).
The type field is displayed as a label on the Talks page. Common values: "Conference talk", "Invited talk", "Workshop", "Tutorial", "Poster".

9   Teaching

Folder: _teaching/

9.1   Teaching file template

--- title: "Course Title" collection: teaching type: "Graduate course" # e.g. "Undergraduate course", "Workshop" permalink: /teaching/2024-fall-course-name venue: "MIT, Department of EECS" date: 2024-09-01 location: "Cambridge, MA" --- Description of the course, your role, topics covered, etc.

9.2   Adding a new course

  1. Copy an existing file in _teaching/.
  2. Rename it with the semester and course, e.g. 2024-fall-intro-ml.md.
  3. Edit the front matter and body text.

10   Blog Posts

Folder: _posts/

Blog post filenames must follow the exact format YYYY-MM-DD-title-slug.md — Jekyll requires this.

10.1   Blog post template

--- title: "My Blog Post Title" date: 2024-06-15 permalink: /posts/2024/06/my-post-title/ tags: - machine-learning - research --- Your post content here. Use full Markdown formatting: **bold**, *italic*, [links](https://url.com), etc. ## Section Heading More text...

10.2   Adding a new blog post

  1. Create a new file in _posts/ with the exact filename format, e.g. 2024-06-15-my-research-update.md.
  2. Write the front matter with at minimum title, date, and permalink.
  3. Write your post content below the closing ---.
Posts whose date is in the future will not appear unless future: true is set in _config.yml. Your config already has this set to true.

11   Uploading Files (PDFs, etc.)

Folder: files/

Anything placed in the files/ folder is publicly accessible at https://yourusername.github.io/files/filename.pdf.

11.1   How to add a file

  1. Copy your PDF (or any file) into the files/ folder.
  2. Commit and push to GitHub (or upload via the GitHub web interface).
  3. Link to it from any Markdown page using: [Download PDF](/files/myfile.pdf)

11.2   Linking to a CV PDF

A common use case is a downloadable CV. Copy your CV PDF to files/cv.pdf and then in _pages/cv.md add:

Download a PDF version of my CV [here](/files/cv.pdf).

11.3   Current files in this project

FileAccess URL
paper1.pdf/files/paper1.pdf
paper2.pdf/files/paper2.pdf
slides1.pdf/files/slides1.pdf

12   Markdown Quick Reference

All page content (about, cv, publications, talks, posts) is written in Markdown. Here is everything you need for everyday edits.

What you wantMarkdown syntaxResult
Large heading# HeadingBig bold heading
Sub-heading## Sub-headingSmaller heading
Heading (underline style)Title
======
Same as #
Bold text**bold**bold
Italic text*italic*italic
Hyperlink[text](https://url.com)Clickable link
Image![alt text](/images/file.png)Displayed image
Bullet list- Item 1
- Item 2
• Item 1 • Item 2
Numbered list1. First
2. Second
1. First 2. Second
Inline code\`code\`code
Horizontal rule--- (on its own line)Divider line
Paragraph breakOne blank line between paragraphsNew paragraph
Line breakTwo spaces at end of line then EnterNew line, same paragraph

12.1   Linking to a downloadable file

Download my paper [here](/files/paper1.pdf). View my slides [PDF](/files/slides1.pdf).

12.2   Linking to an external website

Visit [Google Scholar](https://scholar.google.com) for more. Check out the [project repository](https://github.com/you/repo).

12.3   Embedding a YouTube video

Markdown does not support videos natively, but you can use an HTML iframe:

<iframe width="560" height="315" src="https://www.youtube.com/embed/VIDEO_ID" frameborder="0" allowfullscreen></iframe>

Replace VIDEO_ID with the ID from the YouTube URL (the part after v=).


Quick Reference — Where Is What?

Common Edit Tasks → File to Open
I want to change…Open this fileField / Section
My name everywhere on the site_config.ymlname: and author: name:
My sidebar bio_config.ymlauthor: bio:
My profile photo_config.yml + images/author: avatar: + photo file
My email / social links_config.ymlUnder author: section
The top navigation links_data/navigation.ymltitle: and url:
The homepage text_pages/about.mdBody below the ---
My CV / resume content_pages/cv.mdEducation, Work, Skills sections
A publication entry_publications/YYYY-MM-DD-name.mdFront matter fields
A talk entry_talks/YYYY-MM-DD-name.mdFront matter fields
A teaching entry_teaching/YYYY-MM-DD-name.mdFront matter fields
A blog post_posts/YYYY-MM-DD-title.mdFront matter + body
Add a downloadable PDFfiles/ folderCopy file here, link with /files/name.pdf
Add an imageimages/ folderCopy file here, reference with /images/name.jpg
The site URL_config.ymlurl: field
After making any edit, save the file and commit + push to GitHub. The site will rebuild automatically in about 1–2 minutes. Visit your GitHub repository → Actions tab to see the build status.
Website Editing Guide  ·  Academic Pages / Jekyll  ·  Generated 2026-05-29