Website File Structure Explained

This document explains what each file and folder does in your website.

πŸ“‚ Essential Files (Don’t Delete!)

_config.yml βš™οΈ

What it is: Main configuration file for your entire website
What it controls:

When to edit:


index.md 🏠

What it is: Your home page
What visitors see: First page when they visit your website
When to edit:


πŸ“‚ Page Folders

_pages/ folder

Contains all main pages of your website.

Files inside:

When to edit: Whenever you need to update the content on these pages


_posts/ folder πŸ“°

Contains blog posts and news items.

File naming: Must be named YYYY-MM-DD-title.md

When to edit:

Note: Posts automatically appear on your home page (3 most recent)


_data/ folder

Contains structured data files.

Files inside:

When to edit:


πŸ“‚ Asset Folders

assets/images/ folder πŸ–ΌοΈ

What it stores: All photos and images
Recommended subfolders:

Supported formats: JPG, PNG, GIF When to add files:


assets/pdfs/ folder πŸ“„

What it stores: PDF files
Common files:

When to add files:


πŸ“‚ Configuration Files

.gitignore

What it is: Tells GitHub which files to ignore
Purpose: Prevents build files and temporary files from being uploaded
When to edit: Rarely - only if you know what you’re doing


Gemfile

What it is: Lists Ruby dependencies needed to run Jekyll
Purpose: Ensures correct versions of software are used
When to edit: Very rarely - only to update Jekyll version


.github/workflows/pages.yml

What it is: Automatic deployment configuration
Purpose: Tells GitHub how to build and publish your website
When to edit: Never - it’s already configured correctly


πŸ“‚ Documentation Files

README.md πŸ“–

What it is: Complete documentation for the website
Who it’s for: You! Reference guide for managing the site
When to read: When you need help with anything


CONTENT_GUIDE.md πŸ“

What it is: Templates and examples for common updates
Who it’s for: Reference when adding content
When to read:


SETUP.md πŸš€

What it is: Quick start guide for first-time setup
Who it’s for: Getting the site live for the first time
When to read: Right now! Follow it step by step.


πŸ“‚ Generated Folders (Auto-Created)

_site/ folder (local only)

What it is: Built website files
Created when: Running bundle exec jekyll build
Important: This folder is NOT uploaded to GitHub (it’s in .gitignore)


Gemfile.lock (auto-generated)

What it is: Locked versions of dependencies
Created when: Running bundle install
Important: This file is NOT uploaded to GitHub (it’s in .gitignore)


Quick Reference: What to Edit When

I want to… Edit this file…
Change site title _config.yml
Change my name/email _config.yml
Update home page index.md
Add research info _pages/research.md
Add team member _pages/people.md
Add publication _pages/publications.md
Update contact info _pages/contact.md
Post lab news Create new file in _posts/
Add photo Upload to assets/images/
Add PDF Upload to assets/pdfs/
Change menu _data/navigation.yml

Visual Structure

breisslab/
β”‚
β”œβ”€β”€ πŸ“„ _config.yml          ← Site settings
β”œβ”€β”€ πŸ“„ index.md             ← Home page
β”‚
β”œβ”€β”€ πŸ“ _pages/              ← Main pages
β”‚   β”œβ”€β”€ research.md
β”‚   β”œβ”€β”€ people.md
β”‚   β”œβ”€β”€ publications.md
β”‚   └── contact.md
β”‚
β”œβ”€β”€ πŸ“ _posts/              ← Blog posts/news
β”‚   └── YYYY-MM-DD-title.md
β”‚
β”œβ”€β”€ πŸ“ _data/               ← Site data
β”‚   └── navigation.yml
β”‚
β”œβ”€β”€ πŸ“ assets/              ← Media files
β”‚   β”œβ”€β”€ images/
β”‚   β”‚   β”œβ”€β”€ people/
β”‚   β”‚   └── *.jpg, *.png
β”‚   └── pdfs/
β”‚       └── *.pdf
β”‚
β”œβ”€β”€ πŸ“ .github/             ← GitHub config
β”‚   └── workflows/
β”‚       └── pages.yml       ← Auto-deployment
β”‚
└── πŸ“š Documentation
    β”œβ”€β”€ README.md
    β”œβ”€β”€ SETUP.md
    β”œβ”€β”€ CONTENT_GUIDE.md
    └── FILE_STRUCTURE.md   ← You are here!

Safety Tips πŸ›‘οΈ

βœ… Safe to edit:

⚠️ Edit carefully:

❌ Don’t delete:


Getting Help

If you’re not sure which file to edit:

  1. Check CONTENT_GUIDE.md for examples
  2. Check README.md for detailed instructions
  3. Look at existing files for reference
  4. When in doubt, ask before making big changes!

Remember: GitHub saves every version, so you can always undo changes if something goes wrong! 😊