Modern, easy-to-maintain website built with Hugo static site generator.
- Hugo (v0.100.0 or higher) installed on your system
- Git (for version control and GitHub Pages deployment)
# Navigate to the project directory
cd /path/to/3BIO-Bioinfo
# Start the Hugo development server
hugo server -D
# Open your browser to http://localhost:1313# Build the static site
hugo
# The generated site will be in the 'public/' directory
# Upload the contents of 'public/' to your web serverThis website is designed to be extremely easy to maintain. All common updates can be done by editing simple YAML files - no coding required!
File to edit: data/team.yaml
- Open
data/team.yamlin any text editor - Find the appropriate section (professors, postdocs, phd_students, or staff)
- To add a new member, copy this template:
- name: "Full Name"
role: "Job Title"
email: "email@ulb.be"
phone: "+32 (0)2 650 XX XX"
office: "S.UD3.XXX"
bio: "Brief biography (optional)"
research_interests: []
website: ""- Fill in the details
- Save the file
- The website will automatically update when you rebuild
To remove a team member: Simply delete their entire block from the file.
To update information: Just change the relevant fields and save.
File to edit: data/publications.yaml
- Open
data/publications.yaml - Add a new publication using this template:
- key: "firstauthorYEARkeyword" # unique identifier, used for citations
title: "Your Publication Title"
authors: "Author1 F, Author2 J, Author3 M"
year: 2025
venue: "Journal Name"
volume: "Volume(Issue)"
pages: "Page numbers"
doi: "10.xxxx/xxxxx"
pdf: ""
abstract: "Brief description of the publication"- Publications are automatically sorted by year (newest first)
- Save and rebuild
Tip: The
keyfield is used to cite the publication anywhere on the site (see Citing a Publication below).
File to edit: data/posters.yaml
- Open
data/posters.yaml - Add a new entry:
- key: "firstauthorYEARevent" # unique identifier, used to reference the poster
title: "Poster Title"
authors: "Author1 F, Author2 J"
year: 2025
event: "Conference Name 2025"
pdf: "/posters/firstauthorYEARevent.pdf"- Place the PDF file in
static/posters/(e.g.static/posters/firstauthorYEARevent.pdf) - Save and rebuild
You can reference a publication, poster, or any PDF anywhere on the site — in team member bios or in any page written in Markdown. A citation appears as a clickable inline link; hovering shows a tooltip with the full reference, and clicking a poster/PDF link opens the document in a modal.
| Syntax | Where | YAML required | Result |
|---|---|---|---|
[[cite:doe2024folding]] |
bio, Markdown | ✅ publications.yaml |
[Doe et al., 2024] with tooltip |
[[cite:doe2024folding:Mon libellé]] |
bio, Markdown | ✅ publications.yaml |
Mon libellé with tooltip |
[[poster:doe2024ismb]] |
bio, Markdown | ✅ posters.yaml |
[poster: <titre>], ouvre PDF |
[[poster:doe2024ismb:Mon libellé]] |
bio, Markdown | ✅ posters.yaml |
Mon libellé, ouvre PDF |
[[pdf:/offres/job2026.pdf:Voir l'offre]] |
bio, Markdown | ❌ | Voir l'offre, ouvre PDF |
[[pdf:...]]permet de lier directement un fichier PDF (ex. offre d'emploi) sans passer par un fichier YAML. Placez le PDF dansstatic/et utilisez le chemin absolu depuis la racine du site.
Use the inline syntax directly in the bio field:
- name: "Jane Doe"
bio: "Her work on protein folding [[cite:doe2024folding]] was presented [[poster:doe2024ismb:voir le poster]] at ISMB."Use the corresponding shortcodes:
We showed {{< cite key="doe2024folding" >}} that...
The poster {{< poster key="doe2024ismb" >}} presented at ISMB...File to edit: data/software.yaml
- Open
data/software.yaml - Add a new tool:
- name: "Tool Name"
description: "What the tool does"
url: "https://github.com/username/tool"
documentation: "https://docs.example.com"
publication_doi: "10.xxxx/xxxxx"- Save and rebuild
Directory: content/research/
- Create a new file:
content/research/project-name.md - Use this template:
---
title: "Project Title"
date: 2024-01-01
---
Description of the research project goes here. You can use regular text,
**bold**, *italic*, bullet points, etc.- Save the file
- The project will automatically appear on the Research page
Directory: content/news/
- Create a new file:
content/news/2025-01-15-news-title.md - Use this template:
---
title: "News Title"
date: 2025-01-15
---
Your news content here...- The 3 most recent news items appear on the homepage
File: hugo.toml
Update site-wide settings like:
- Site title
- Contact information
- Menu items
- Social media links
3BIO-Bioinfo/
├── hugo.toml # Main configuration file
├── content/ # Page content
│ ├── _index.md # Homepage content
│ ├── team.md # Team page
│ ├── publications.md # Publications page
│ ├── research/ # Research project pages
│ ├── software.md # Software page
│ ├── opportunities.md # Opportunities page
│ ├── teaching.md # Teaching page
│ └── news/ # News/blog posts
├── data/ # Data files (EASY TO EDIT!)
│ ├── team.yaml # Team members data
│ ├── publications.yaml # Publications data
│ ├── posters.yaml # Posters data
│ └── software.yaml # Software tools data
├── static/
│ └── posters/ # Poster PDF files
├── themes/
│ └── bioinfo-clean/ # Custom theme
└── public/ # Generated site (after running 'hugo')
- Open
data/team.yaml - Scroll to the
phd_students:section - Add:
- name: "New Student Name"
role: "PhD Student"
email: "student@ulb.be"
phone: ""
office: "S.UD3.XXX"
bio: ""
research_interests: []
website: ""- Save and run
hugo serverto preview
- Open
data/team.yaml - Find the person's entry
- Update their
email,phone, orofficefield - Save
- Open
data/publications.yaml - Add all new publications with
year: 2025and a uniquekey - They'll automatically appear under a "2025" heading
- You can then cite them anywhere with
[[cite:key]](in yaml) or{{< cite key="…" >}}(in Markdown) - Save
- Open
content/_index.md - Edit the text below the
---markers - Save
The site uses a clean, minimal design with:
- Responsive layout (works on mobile, tablet, desktop)
- Professional color scheme
- Easy-to-read typography
- Organized layouts for different content types
To modify colors, fonts, or layouts, edit:
- CSS:
themes/bioinfo-clean/static/css/style.css - HTML templates:
themes/bioinfo-clean/layouts/
Automatic deployment on every push to master!
See GITHUB_PAGES_DEPLOYMENT.md for complete setup instructions.
Quick setup:
git init
git add .
git commit -m "Initial commit"
git branch -M master
git remote add origin https://github.com/YOUR-USERNAME/REPO-NAME.git
git push -u origin masterEnable GitHub Pages in your repository settings → Pages → Source: GitHub Actions
Your site will be live at: https://YOUR-USERNAME.github.io/REPO-NAME/
Every time you push to master, GitHub Actions automatically rebuilds and deploys your site!
- Run
hugoto build the site - Upload the entire
public/directory to your web server - Done!
Works with: Netlify, Vercel, CloudFlare Pages, AWS S3, etc.
For Hugo documentation: https://gohugo.io/documentation/
For questions about this specific site, contact the system administrator.
- Always test locally with
hugo serverbefore deploying - Keep backups of your
data/directory - Use descriptive file names for content
- Check that all links work after making changes
- The site builds in seconds, so iterate quickly!