| title | About the website |
|---|---|
| layout | textlay |
| excerpt | About the website. |
| permalink | /aboutwebsite.html |
This website is powered by Jekyll and uses Bootstrap 5 with the Lumen Bootswatch theme.
Attribution: This website was adapted from the Uppsala Security Lab & Cloud (USLC) website, which itself was based on Allan Lab's website. The template has been customized for the Atlas Analytics Lab at Concordia University and developed with AI assistance.
Prerequisites:
- Ruby 3.4.7+ and Ruby development headers
- Bundler 2.7.2+ (
gem install bundler) - Build tools (Make, GCC/Clang) for native gem compilation
- Git for version control
Quick Start:
# Clone the repository
git clone https://github.com/AtlasAnalyticsLab/AtlasAnalyticsLab.github.io.git
cd AtlasAnalyticsLab.github.io
# Install dependencies
gem install bundler
bundle install
# Run locally with live reload
bundle exec jekyll serve --livereloadVisit http://127.0.0.1:4000 to see your site. Changes to most files reload automatically, but restart the server after editing _config.yml or plugin files.
All pages are written in Markdown for easy editing. Jekyll uses the Liquid template language for data-driven pages.
Key Directories:
_pages/– Markdown page content (home, team, research, publications, etc.)_data/– YAML data files for publications, news, team members_layouts/– HTML templates that wrap page content_includes/– Reusable HTML components (header, footer, news widget, team grid)_sass/– SCSS stylesheets compiled to CSSimages/– Image assets organized by type (teampic, pubpic, logopic, homepic)assets/– Static files (papers, documents)
Data-Driven Content:
_data/publications.yml– Publication list with metadata, thumbnails, and highlights_data/news.yml– News items (5 most recent shown on homepage, all on /allnews)_data/principal_investigator.yml– Lab director information_data/phd_students.yml,postdocs.yml,masters.yml– Team member profiles_data/team_collaborators.yml,alumni_members.yml– Collaborators and alumni
Update these YAML files to change content without touching HTML or Liquid templates. Jekyll takes all markdown and data files and generates static HTML in the _site/ folder.
Step 1: Update Site Configuration
Edit _config.yml to set your site's basic information:
title: Your Lab Name
email: your.email@university.edu
description: Research group at University Name
baseurl: "" # Leave empty for username.github.io, or "/repository-name" for project sites
url: "https://yourusername.github.io"Step 2: Add Your Content
-
Team Members: Edit YAML files in
_data/:principal_investigator.yml– Lab directorpostdocs.yml,phd_students.yml,masters.yml– Current membersalumni_members.yml– Former members- Add photos to
images/teampic/(reference filename in YAMLphoto:field)
-
Publications: Update
_data/publications.yml:- Add entries at the TOP (newest first)
- Include title, authors, venue, year, links
- Set
highlight: 1for featured papers - Add thumbnails to
images/pubpic/(reference inlist_image:field) - Supports DOI links, PDFs, arXiv, GitHub repos, posters, and videos
-
News: Update
_data/news.yml:- Add entries at the TOP (reverse chronological order)
- Supports Markdown, HTML styling, and emojis
- Homepage shows 5 most recent;
/allnewsshows all - See file header comments for emoji codes and styling examples
-
Homepage Carousel: Add images to
images/homepic/- All images automatically load in carousel (no code changes needed)
- Recommended size: 1200x600 pixels or similar aspect ratio
Step 3: Customize Pages
Edit markdown files in _pages/:
home.md– Homepage content and welcome messageteam.md– Team page introductionpublications.md– Publication page introductionopenings.md– Job/student positionsfunding.md– Funding acknowledgments (logos inimages/logopic/)contact.md– Contact information
Step 4: Update Branding
- Logo: Replace
images/logopic/group_logo_medium.svgand.pngwith your lab logo - Favicon: Replace
images/logopic/favicon.pngwith your icon (32x32 or 64x64 px) - Lab Color: Edit
_sass/_variables.scssto change the primary color (currently#951D33) - Theme: Modify
_sass/_themes.scssfor dark/light mode customization
Step 5: Header and Footer
- Edit
_includes/header.htmlto change navigation menu items - Edit
_includes/footer.htmlto update footer links and social icons - Update logo and lab name references
- Consistent indentation (use spaces, not tabs)
- Quotes around strings with special characters
- Proper list formatting with
-prefix
✅ Testing: After each change:
bundle exec jekyll build # Check for errors
bundle exec jekyll serve # Preview locally📝 Documentation: Each file has detailed header comments explaining:
- Purpose and usage
- Required vs optional fields
- Examples and templates
- Customization options
GitHub Pages (Recommended):
This site uses GitHub Actions for automatic deployment:
- Fork or clone this repository to your GitHub account
- Rename the repository to
yourusername.github.io(for user/org site) or keep any name (for project site) - Enable GitHub Pages:
- Go to repository Settings → Pages
- Source: "Deploy from a branch"
- Branch:
gh-pages(created automatically by GitHub Actions)
- Push changes to the
mainbranch- GitHub Actions workflow (
.github/workflows/deploy.yml) automatically builds and deploys - Site published at
https://yourusername.github.ioorhttps://yourusername.github.io/repository-name
- GitHub Actions workflow (
Custom Domain (Optional):
- Update
CNAMEfile with your domain (e.g.,www.yourlab.edu) - Configure DNS records at your domain provider:
- Add CNAME record pointing to
yourusername.github.io
- Add CNAME record pointing to
- Enable "Enforce HTTPS" in GitHub Pages settings
Manual Deployment:
# Build production site
bundle exec jekyll build
# Upload _site/ folder to your web server
rsync -avz _site/ user@yourserver.edu:/var/www/html/✨ Modern Design:
- Bootstrap 5 with Lumen Bootswatch theme
- Responsive layout (mobile, tablet, desktop)
- Dark/light mode toggle (3-state: auto, dark, light)
- Custom CSS variables for easy theming
📚 Content Management:
- Publication list with highlighting and categorization
- News feed with Markdown, HTML styling, and emoji support
- Team member profiles with photos and social links
- Dynamic homepage carousel (auto-loads all images from folder)
🔧 Technical Features:
- Jekyll 4.x with Liquid templating
- SCSS preprocessing with custom variables
- Jekyll Scholar for BibTeX support
- GitHub Actions for CI/CD
- Local development with live reload
- SEO-friendly URLs and metadata
- Jekyll Documentation – Official Jekyll guide
- Liquid Template Language – Templating syntax
- Markdown Cheatsheet – Markdown syntax guide
- Bootstrap 5 Documentation – Component library
- GitHub Pages Guide – Hosting documentation
Build Errors:
bundle exec jekyll doctor # Check for configuration issues
bundle exec jekyll build --verbose # Show detailed error messagesCommon Issues:
- YAML syntax errors: Check indentation and quotes
- Missing images: Verify file paths and filenames match references
- Plugin errors: Ensure all gems are installed (
bundle install) - Deployment failures: Check GitHub Actions logs in repository
Need Help?
- Check file header comments for usage instructions
- See
README.mdfor comprehensive documentation - Review
PROJECT_REVIEW.mdfor architectural overview - Open an issue on GitHub for questions
Attribution Chain:
- Original design: Allan Lab
- Adapted from: Uppsala Security Lab & Cloud (USLC)
- Current version: Atlas Analytics Lab, Concordia University
- Development: AI-assisted customization and documentation
License: MIT License – You can use this template freely for your academic research group. Attribution to the original sources (Allan Lab, USLC Lab) is appreciated but not required.
Code Repository: github.com/AtlasAnalyticsLab/AtlasAnalyticsLab.github.io