A research team website built with Hexo for the CanBreach project, a NSERC-funded university-industry research collaboration focused on tailings dam breach analysis. The site showcases research directions, team members, and academic publications.
- Responsive design with a clean, academic aesthetic
- Scrollable header with dynamic resizing
- Color scheme based on dark greens (#163d2f) and neutral tones
- Mobile-friendly layout adaptations
-
Team member profiles
- Random ordering of team members on index page
- Individual profile pages with publications
- Circular profile photos with hover animations
-
Publications management
- Multiple publication types (Theses, Journal articles, Conference papers, etc.)
- Automatic citation formatting
- DOI linking with external link indicators
- Sticky sidebar navigation
- Author linking to team member profiles
- YAML-based data management
-
Research directions
- Tabbed content for different project generations
- Visual representation of university partnerships
- Structured presentation of research focus areas
-
Search functionality
- Full-text search across all content
- Highlighted search terms in results
- Relevance-based result ranking
- Search result previews with context
- YAML-based publication data management
- Automated search index generation
- Dynamic partner logo display with captions
- Responsive image handling
- Clean URL structure
canbreach/
βββ themes/canbreach-theme/
β βββ layout/
β β βββ _partial/
β β β βββ tabbed-content.ejs
β β βββ author.ejs
β β βββ index.ejs
β β βββ layout.ejs
β β βββ page.ejs
β β βββ publications.ejs
β β βββ search.ejs
β β βββ team-index.ejs
β βββ scripts/
β β βββ menu_helper.js
β β βββ partner-names.js
β β βββ publications.js
β β βββ search_index.js
β βββ source/
β βββ css/
β βββ style.css
βββ source/
βββ _data/
β βββ publications.yml
βββ team/
β βββ index.md
β βββ a-bunch-of-members-here.md
βββ directions/
β βββ index.md
βββ publications/
β βββ index.md
βββ search/
β βββ index.md
βββ index.md
To disable tabbed content and show only first generation content:
- Open
/themes/canbreach-theme/layout/_partial/tabbed-content.ejs
- Set the configuration variable at the top:
<%
// Set this to true to show only first generation content
const showOnlyFirstGen = true;
%>
- Create a new page in
source/team/[name].md
- Include required front matter:
---
title: [Full Name]
date: [Date]
menu_item: true
menu_order: [number]
layout: author
photo: [path-to-photo]
---
- Add the team member name to the author linking system in
/themes/canbreach-theme/scripts/publications.js
:
const authorsWithLinks = [
"Negar Ghahramani",
"Daniel Adria",
"Nahyan Rana",
"New Team Member Name" // Add the name here
];
This step is necessary for creating automatic links from publications to author profiles.
-
Hide/Show Members Navigation:
# In members/index.md front matter --- title: Members menu_order: 3 menu_item: false # Add to hide, remove to show ---
-
Remove/Restore Member Profile Links:
// In publications.js const authorsWithLinks = []; // Empty array to remove links // Restore with original array when needed: const authorsWithLinks = [ "Negar Ghahramani", "Daniel Adria", "Nahyan Rana" ];
- Edit
source/_data/publications.yml
- Publications are organized by type with required fields:
- type: [Publication Type]
title: [Title]
authors: [Author Array]
year: [Year]
doi: [DOI link] # optional
# Additional fields based on type:
journal: [Journal Name] # for articles
conference: [Conference Name] # for conference papers
subtype: [Thesis Type] # for theses
repository: [Repository Name] # for databases
The month
field in publications.yml
refers to the issue date, not the publication date. For example:
- For a journal article published online in January but issued in the March edition, use
month: March
- For conference papers, use the month when the conference was held
- For theses, use the month of graduation/defense
This image provides some explanation.
- Add new pages in
source/
- Include menu metadata for navigation:
---
title: [Page title]
menu_item: true
menu_order: [number]
---
Pages can include both first and second generation content using the front matter:
---
first_generation: |
[First generation content]
second_generation: |
[Second generation content]
---
- Main styles in
themes/canbreach-theme/source/css/style.css
- Key color variables:
- Primary: #163d2f
- Secondary: #2d7f62
- Text: #333333
- Scrollable header functionality
- Publication rendering system
- Search indexing and display
- Team member randomization
- Partner logo management
- Generate static files:
hexo generate
- Deploy to your hosting service:
hexo deploy
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers
First generation:
- Field and remote observation (University of Waterloo)
- Laboratory-based physical modelling (Queen's University)
- Numerical modelling (University of British Columbia)
First generation:
- Universities: UBC, Waterloo, Queen's
- Industrial Partners: BGC Engineering, Klohn Crippen Berger, Golder/WSP, Imperial Oil, Suncor Energy
- Funding: NSERC
- Fork the repository
- Create a feature branch
- Submit a pull request
This project is licensed under the MIT License:
MIT License
Copyright (c) 2025 CanBreach research team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
- β You can use the code commercially
- β You can modify the code
- β You can distribute the code
- β You can use the code privately
- β You can sublicense the code
- β The original copyright/license notice must be included
- β No liability or warranty from the authors
Inspired on these icons:
- When using this project, maintain the copyright notice in all copies
- You can modify and adapt the code for your needs
- You don't need to share your modifications, but it's encouraged
- You must include the MIT License text in any substantial portions of the code that you use
To properly credit this project in your own work, include:
Based on CanBreach website (https://github.com/brunohoo/canbreach)
Copyright (c) 2025 CanBreach research team
Licensed under the MIT License
Bruno Oliveira Rodrigues, [email protected]