The official website for the Roberts Lab at the University of Washington School of Aquatic and Fishery Sciences.
🌐 Live site: faculty.washington.edu/sr320
This website is built with Quarto, a scientific and technical publishing system. Content is written in .qmd (Quarto Markdown) files, rendered to HTML, and served from the docs/ directory via GitHub Pages.
lab-website/
├── _quarto.yml # Site-wide configuration (navbar, sidebar, theme)
├── index.qmd # Home page (front page listings + lab description)
├── people.qmd # Lab members page
├── projects.qmd # Research projects listing page
├── publications.qmd # Publications page (papers, preprints, theses)
├── posts.qmd # News and updates listing page
├── courses.qmd # Courses page
├── research.qmd # Full research overview page
├── dei.qmd # Outreach and DEI page
├── undergraduate_guide.qmd # Undergraduate guide page
├── calendar.qmd # Lab calendar page
├── contact.qmd # Contact page
├── notebooks.qmd # Lab notebooks page
├── styles.css # Custom site styles
│
├── posts/ # News posts and updates
│ ├── _metadata.yml # Shared metadata for all posts (freeze, banner)
│ ├── frontpage/ # Posts featured on the home page
│ │ └── <post-name>/
│ │ └── index.qmd
│ └── <post-name>/ # Regular news posts
│ └── index.qmd
│
├── research/ # Individual research project pages
│ ├── cod.qmd
│ ├── e5.qmd
│ ├── usda.qmd
│ └── ...
│
├── publications/
│ └── articles/ # One .qmd file per publication
│ └── <paper-slug>.qmd
│
├── img/ # Images used across the site
├── resources/ # Downloadable resources (e.g., CV template)
├── ejs/ # EJS templates (e.g., publications listing template)
├── _extensions/ # Quarto extensions
├── _freeze/ # Frozen computation outputs (do not edit manually)
└── docs/ # Rendered HTML output (deployed via GitHub Pages)
- Quarto CLI (version 1.3 or later)
- R with RStudio (recommended) — some
.qmdfiles use R code chunks - Git
# Preview the site with live reload
quarto preview
# Render the full site to the docs/ directory
quarto renderThe rendered output goes to docs/ and is served via GitHub Pages at the site URL.
News posts appear on the News and Updates page (posts.qmd). Posts featured on the home page go in posts/frontpage/.
-
Create a new directory under
posts/(orposts/frontpage/for home-page features):posts/<your-post-name>/ -
Create an
index.qmdfile inside that directory with this front matter:--- title: "Your Post Title" description: "A short description of the post." author: - name: Your Name url: https://your-website.com affiliation: UW - School of Aquatic and Fishery Sciences affiliation-url: https://robertslab.info date: MM-DD-YYYY categories: [keyword1, keyword2] # used for filtering image: /img/your-image.png # thumbnail image draft: false # set to true to hide from listing ---
-
Write your post content in Markdown below the front matter.
Note: Posts use
freeze: true(set inposts/_metadata.yml), which means code chunks are not re-executed on each render unless you explicitly runquarto render <file> --no-freeze.
Publications appear on the Publications page (publications.qmd) rendered via the EJS template in ejs/article.ejs.
-
Create a new
.qmdfile inpublications/articles/:publications/articles/<authoryear>.qmd -
Use this front matter template:
--- title: "Full Paper Title" type: "article" author: "Last, F.I., Last, F.I., ..." year: "2025" publication: "Journal Name" preprint: "" doi: "10.xxxx/xxxxx" materials: "" eprint: "https://link-to-full-text" toc: FALSE categories: - keyword1 - keyword2 ---
-
Optionally add a
## Citationand## Abstractsection below the front matter.
Research projects appear on the Research Projects page (projects.qmd) and are also listed on research.qmd.
-
Create or edit a
.qmdfile inresearch/:research/<project-name>.qmd -
Use this front matter template:
--- title: "Project Title" status: "active" # active or completed type: "grant" agency: "Funding Agency" year: "2023" github: "https://github.com/RobertsLab/project-name" image: "/img/project-image.png" toc: FALSE categories: - keyword1 - keyword2 ---
-
To feature a project on the home projects grid, add its path to the
projects.qmdlisting:listing: contents: - "research/your-project.qmd"
The People page (people.qmd) uses custom HTML cards defined directly in the file.
- Open
people.qmd. - To add a new lab member, copy an existing
<div class="person-card">block and update:- Name, photo URL, links (notebook, GitHub, ORCID, etc.)
- Biography text
- To move someone to Alumni, find their card and move it to the alumni section at the bottom.
- Add a headshot image to the
img/directory and reference it in the card.
Site navigation (navbar, sidebar) is configured in _quarto.yml.
- Navbar tools (icons in the top-right): edit the
website.navbar.toolssection. - Sidebar links: edit the
website.sidebar.contentssection. - Site title and URL: edit
website.titleandwebsite.site-url.
- Global theme: configured in
_quarto.ymlunderformat.html.theme(currently uses Flatly/Darkly for light/dark mode). - Custom CSS: add styles to
styles.css. To activate it, uncommentcss: styles.cssin_quarto.ymlunderformat.html.
The site is deployed via GitHub Pages from the docs/ directory on the main branch. After rendering locally with quarto render, commit and push the updated docs/ directory to deploy changes.
quarto render
git add docs/
git commit -m "Render updated site"
git pushThe live site updates automatically once changes are pushed to main.