Official website for the Atlas Analytics Lab at Concordia University, Montreal. We focus on AI research in computational pathology, foundation models, and medical imaging.
π Live Site: https://atlasanalyticslab.github.io
π§ Contact: mahdi.hosseini@concordia.ca
π Site Stats: 8 layouts Β· 10 includes Β· 3 JS modules Β· 10 pages Β· Clean codebase (Dec 2025 audit)
The Atlas Analytics Lab operates within Concordia University's Department of Computer Science and Software Engineering (CSSE). Dr. Mahdi S. Hosseini serves as Gina Cody Research Chair, Adjunct Professor in Pathology at McGill University, and Affiliate Member of Mila β Quebec AI Institute.
Research Areas:
- Computational Pathology & Digital Pathology
- Foundation Models & Vision-Language Models
- Self-Supervised Learning & Representation Learning
- Medical Image Analysis & Clinical AI
Affiliations:
- Concordia University
- McGill University - Department of Pathology
- Mila - Quebec AI Institute
- CHUM (Clinical collaborations)
- Ruby: 3.4.7+ (latest stable version)
- Bundler: 2.7.2+ (
gem install bundler) - Build Tools: GCC/Clang, Make (for native gem compilation)
Installation (macOS):
brew install rubyInstallation (Ubuntu/Debian):
sudo apt install ruby-full build-essential zlib1g-dev-
Clone the repository:
git clone https://github.com/AtlasAnalyticsLab/AtlasAnalyticsLab.github.io.git cd AtlasAnalyticsLab.github.io -
Install dependencies:
gem install bundler bundle install
-
Start the development server:
bundle exec jekyll serve --livereload -
Visit: http://127.0.0.1:4000
Changes to files are automatically reloaded. Restart the server after editing _config.yml or plugin files.
# Production build
bundle exec jekyll build
# Clean cache and generated files
bundle exec jekyll clean
# Check configuration
bundle exec jekyll doctorFile: _data/news.yml
Add new items to the top of the file. Supports Markdown formatting:
- date: November 27, 2025
headline: "π **New achievement!** [Link to details](/path)"Files:
_data/principal_investigator.yml- PI information_data/postdocs.yml- Postdoctoral fellows_data/phd_students.yml- PhD students_data/masters.yml- Master's students_data/team_collaborators.yml- External collaborators_data/alumni_members.yml- Former members
Photos: Place headshots in images/teampic/ (use JPG or PNG)
File: _data/publications.yml
Add new publications to the top of the file:
- title: "Your Paper Title"
authors: "Author1, Author2, Author3"
venue: "Conference/Journal Name"
year: 2025
link:
url: "https://arxiv.org/abs/..."
display: "arXiv preprint"
image: your-image.png # Place in images/pubpic/
highlight: 1 # Set to 1 to feature in "Group Highlights"
description: "Brief description of the paper"Images: Place publication thumbnails in images/pubpic/
File: _pages/openings.md
Edit the markdown file directly. Add position announcement PDFs to assets/openings/.
Directory: images/homepic/
Simply add images to this directory - they automatically appear in the carousel. No configuration needed.
Supported formats: JPG, JPEG, PNG, GIF, WebP
Directory: images/picpic/
Layout: CSS Grid Masonry (auto-reordering for tight packing)
Add photos of lab events, conferences, and activities. They automatically appear on the /gallery/ page.
Features:
- Automatic image loading - Just drop images in
images/picpic/ - Masonry layout - Images automatically reorder to minimize gaps
- Responsive grid - 1 column (mobile) β 2 (tablet) β 3 (desktop) β 4 (large screens)
- Respects layout_wide setting - Adapts to site-wide layout configuration
- Supported formats: JPG, JPEG, PNG
How it works:
- Images sorted by filename in reverse order (newest first)
- CSS Grid masonry with JavaScript fallback for browser compatibility
- No code changes needed when adding/removing photos
βββ _config.yml # Site configuration (includes layout_wide setting)
βββ _data/ # YAML data files (news, team, publications)
βββ _includes/ # Reusable components (header, footer, etc.)
βββ _layouts/ # Page templates
βββ _pages/ # Website pages (home, team, publications, etc.)
βββ _plugins/ # Custom Jekyll plugins
βββ _sass/ # SCSS stylesheets
βββ assets/ # Static files (PDFs, documents)
βββ css/ # Compiled stylesheets
βββ images/ # All images organized by type
β βββ homepic/ # Homepage carousel
β βββ teampic/ # Team member photos
β βββ pubpic/ # Publication thumbnails
β βββ logopic/ # Organization logos
β βββ picpic/ # Lab activities gallery
βββ js/ # JavaScript files
βββ _site/ # Generated site (auto-generated, don't edit)
The website supports two layout modes configured in _config.yml:
layout_wide: true- Full viewport width with responsive padding (default)layout_wide: false- Fixed 1000px max-width, centered layout
This setting affects the entire site including header, footer, and content areas.
| Page | URL | Edit |
|---|---|---|
| Home | / |
_pages/home.md |
| Team | /team |
_pages/team.md + _data/ files |
| Publications | /publications |
_data/publications.yml |
| Openings | /openings |
_pages/openings.md |
| Funding | /funding |
_pages/funding.md |
| Contact | /contact |
_pages/contact.md |
| All News | /allnews |
_data/news.yml |
| Gallery | /gallery |
_pages/gallery.md + images/picpic/ |
The site automatically deploys via GitHub Actions when you push to the main branch.
Deployment Workflow:
- Push changes to
mainbranch - GitHub Actions runs
.github/workflows/deploy.yml - Site builds with
JEKYLL_ENV=productionusing official GitHub Pages actions - Build artifact uploaded and deployed to GitHub Pages
- Site updates in 1-2 minutes
GitHub Actions Workflow:
- Uses
actions/configure-pages@v4for Pages configuration - Uses
actions/upload-pages-artifact@v3for build artifact - Uses
actions/deploy-pages@v4for deployment - Ruby 3.4.7 with bundler cache for faster builds
Manual Deployment:
bundle exec jekyll build
yes | bash bin/deploy --src main --deploy gh-pagesStatic Site Generator:
- Jekyll 4.4.1 (Ruby-based)
- Liquid templating engine
- Kramdown Markdown processor
Frontend Framework:
- Bootstrap 5 (Lumen theme)
- Custom SCSS modules (5 partials)
- Responsive design (5 breakpoints: 576px, 768px, 992px, 1200px, 1400px)
JavaScript Modules (3 files):
theme-toggle.js- Three-state theme switcher (light/dark/auto)gallery-masonry.js- CSS Grid masonry fallbackexternal-links.js- Auto-opens external links in new tabs
Layout System:
- 8 layout templates (
_layouts/) - 10 reusable components (
_includes/) - Layout-wide mode: configurable full-width or fixed 1000px
βββ _layouts/ # 8 page layouts (default, homelay, textlay, etc.)
βββ _includes/ # 10 reusable components (header, footer, etc.)
βββ _pages/ # 10 content pages (Markdown)
βββ _data/ # 8 YAML data files (team, publications, news)
βββ _sass/ # 5 SCSS modules (variables, components, themes, etc.)
βββ _plugins/ # 1 Ruby plugin (BibTeX filter)
βββ css/ # Main stylesheet entry point
βββ js/ # 3 JavaScript modules
βββ images/ # 5 subdirectories (team, publications, gallery, etc.)
βββ assets/ # Additional resources (PDFs, documents)
Code Quality:
- Comprehensive inline documentation (all files)
- Standardized comment headers
- Zero unused/redundant code (Dec 2025 audit)
- Clean, maintainable codebase
Problem: Gem compilation fails
Solution: Install missing OS libraries:
# macOS
brew install libffi zlib openssl
# Ubuntu/Debian
sudo apt install libffi-dev zlib1g-dev libssl-devProblem: Changes don't appear
Solution: Clear cache and rebuild:
bundle exec jekyll clean
bundle exec jekyll serveProblem: Broken links or configuration issues
Solution: Run diagnostics:
bundle exec jekyll doctorPull latest changes regularly:
git pull origin main
bundle install- β
Crawler Protection:
robots.txtcontrols search engine access - β Custom 404 Page: User-friendly error handling with navigation
- β DDoS Protection: GitHub Pages + Cloudflare CDN
- β Security Headers: Content security and XSS protection
- Static Site Generator: Jekyll 4.4.1
- Hosting: GitHub Pages (automatic deployment)
- Frontend Framework: Bootstrap 5 (Lumen theme via jsDelivr CDN)
- Template Engine: Liquid (Jekyll's templating system)
- Styling: SCSS/SASS with 5 modular partials
- JavaScript: 3 vanilla JS modules (theme switcher, gallery masonry, external links)
- Theme: Light/Dark/Auto mode with CSS custom properties
- Ruby Plugin: 1 custom Liquid filter (BibTeX keyword hiding)
Build Stats:
- 8 layouts, 10 includes, 10 pages
- 8 YAML data files
- 5+ image directories with auto-loading
- Clean codebase (0 unused files as of Dec 2025)
For lab members and collaborators, see DEVELOPMENT.md for detailed development documentation including:
- Git workflow and branching strategy
- Detailed file structure and architecture
- Comment standardization guidelines
- Development history and changelog
- Code cleanup reports
- Maintenance tasks and verification commands
- URL management and configuration
Quick member instructions: .github/Instructions_members.md
License: MIT License
Original Design: Allan Lab
Adapted From: Uppsala Security Lab & Cloud (USLC)
Customized For: Atlas Analytics Lab, Concordia University
Development: This website was developed with assistance from AI tools for code generation, documentation, and maintenance.
Dr. Mahdi S. Hosseini
Assistant Professor
Department of Computer Science and Software Engineering
Concordia University, Montreal, QC, Canada
π§ Email: mahdi.hosseini@concordia.ca
π Website: https://atlasanalyticslab.github.io
π» GitHub: https://github.com/AtlasAnalyticsLab/AtlasAnalyticsLab.github.io
Last Updated: December 2, 2025