Thank you for contributing to the Deep-MI lab website! This guide will help you add content correctly.
- Creating News Posts
- Adding Members
- Adding Publications
- Validation Before Committing
- Local Development
- Create a new file in
_posts/directory - Name it:
YYYY-MM-DD-Short-Title.md(e.g.,2026-02-13-New-Grant.md) - Use the template from
_templates/post-template.md
---
title: Your Article Title
author: First Lastname
layout: post
group: news
---- Use Markdown for formatting
- Include images in
/static/img/directory - Keep image file sizes reasonable (< 500KB)
- Add member info to
_data/members.yml - Prepare photo: 365×365 pixels, 72 DPI, JPEG format
- Save photo to
/static/img/members/lastname.jpg - Use the template from
_templates/member-template.md
name: Full nameimage: Path to photo (e.g.,/static/img/members/lastname.jpg)position: Job title
email: Email addressscholar: Google Scholar IDtwitter: Twitter handleorcid: ORCID identifiergithub: GitHub usernamedescription: Biography (use single quotes for multi-line)
- Add publication info to
_data/publications.yml - Prepare teaser image: Max 200px height, JPEG, max 100KB
- Save files:
- Image:
/static/pub/paper_id.jpg - BibTeX:
/static/pub/paper_id.bib - PDF (optional):
/static/pub/paper_id.pdf
- Image:
- Use the template from
_templates/publication-template.md
id: Unique identifier (usuallylastname_year)authors: Author list (bold lab members:**Name**)title: Paper titlejournal: Journal/conference nametype: One of: journal, conference, workshop, abstract, poster, preprintyear: Publication year
doi: Digital Object Identifierimage: Teaser image pathbibtex: BibTeX file pathpdf: Link to open access PDF or local file
Always validate your changes before committing:
# Validate YAML files
./scripts/validate_yaml.rb
# Validate post filenames and format
./scripts/validate_posts.sh
# Test the site locally
bundle exec jekyll serveVisit http://localhost:4000 to preview your changes.
Optimize images to meet size requirements:
# Optimize a single member photo (365x365, 72 DPI)
./scripts/optimize_images.sh member static/img/members/lastname.jpg
# Optimize a single publication teaser (max 200px height, max 100KB)
./scripts/optimize_images.sh pub static/pub/paper_id.jpg
# Optimize all member photos at once
./scripts/optimize_images.sh all-members
# Optimize all publication teasers at once
./scripts/optimize_images.sh all-pubsRequirements: ImageMagick
Installation:
- macOS:
brew install imagemagick - Ubuntu/Debian:
sudo apt-get install imagemagick - Fedora/RHEL:
sudo yum install imagemagickorsudo dnf install imagemagick - Arch Linux:
sudo pacman -S imagemagick - Windows: Download from imagemagick.org or use
choco install imagemagick
Install a pre-commit hook to automatically validate changes:
cp scripts/pre-commit.sh .git/hooks/pre-commit
chmod +x .git/hooks/pre-commitThis will automatically run validation scripts before each commit.
# Install bundler (without sudo)
gem install bundler --user-install
# Install dependencies
bundle install# Start development server
bundle exec jekyll serve
# Site available at: http://localhost:4000# Build site
bundle exec jekyll build
# Check for broken links
bundle exec htmlproofer ./_site --disable-external- Use clear, concise language
- Check spelling and grammar
- Use proper citations for published work
- Optimize images before uploading
- Use descriptive filenames
- Keep file sizes small:
- Member photos: max 100KB
- Publication teasers: max 100KB
- Post images: max 500KB
- Follow Jekyll conventions
- Keep YAML files properly indented (2 spaces)
- Use single quotes for strings in YAML
- Escape single quotes with double single quotes:
Alzheimer''s
If you have questions or run into issues, please:
- Check the templates in
_templates/ - Review existing examples in the data files
- Contact the lab's web administrator
All pull requests are automatically tested using GitHub Actions:
- Jekyll build verification
- HTML validation
- Link checking
Make sure your changes pass these tests before requesting review.