Skip to content

vios-s/vios.science

Repository files navigation

vios.science Website

This repository contains the source code for the vios.science website.

Quick edits via GitHub: You can edit team profiles, news, projects, and tutorials directly on GitHub without cloning the repo. See CONTRIBUTING.md for a quick-start guide with direct links to each content folder.

This README is mainly for people in the group who want to contribute content to the website, whether that means fixing a typo, suggesting new content, updating a bio, or improving publication entries.

Table of Contents

How to Contribute

Small contributions are welcome. If you notice a typo, unclear wording, outdated information, or a missing link, please feel free to open a pull request.

If you are not comfortable editing the site directly, you can still suggest changes by opening an issue or by contacting the maintainers with the text, links, or files you would like added.

Fix Text, Grammar, or Typos

For small wording fixes, update the relevant content file and open a pull request.

Most website text lives in one of these places:

  • src/content/team/ for team biographies
  • src/content/news/ for news posts
  • src/content/tutorials/ for tutorials
  • src/content/pages/ for standalone pages such as research.mdx or alumni.mdx
  • src/data/projects.json for project listings

If you are unsure where some text comes from, searching the repository for a short phrase from the page is usually the fastest way to find it.

Suggest or Add Content

Suggestions for new content are welcome, including:

  • new pages or updates to existing pages
  • news items
  • project updates
  • corrections to team information
  • missing links, PDFs, or publication images

If you want to add the content yourself, edit the relevant file and open a pull request. If you would rather just propose the change, send the text and any supporting links or files to the maintainers.

Update a Team Bio

Team bios are stored as Markdown files in src/content/team/.

To update a bio:

  1. Edit the existing .md file for that person, or create a new one in src/content/team/.
  2. Update the frontmatter fields at the top of the file.
  3. Update the body text below the frontmatter with the biography.
  4. If needed, add or replace the profile image in public/assets/images/team/.

Useful frontmatter fields include:

  • title
  • role
  • subtitle
  • profile
  • linkedin
  • scholar
  • twitter
  • github
  • CV
  • order
  • permalink

Example:

---
title: "First Last"
role: "student"
subtitle: "PhD Student"
profile: "first-last.jpg"
github: "https://github.com/username"
linkedin: "https://linkedin.com/in/username"
scholar: "https://scholar.google.com/citations?user=example"
twitter: "https://twitter.com/username"
CV: "/assets/pdfs/first-last-cv.pdf"
order: 999
collection: team
permalink: /team/first-last
---
Short biographical text goes here.

Notes:

  • profile should be the filename only. The website reads team images from public/assets/images/team/.
  • The biography text is written below the frontmatter in normal Markdown.
  • order controls display order on the team page. Lower numbers appear first.

Update Publication Links or Assets

Publication entries are stored in src/data/publications.yaml.

Core publication metadata is generated from the separate Publication Lists repository and synced into this website repository automatically.

What you should usually edit here:

  • image
  • code
  • pdf
  • website
  • display: false to hide generated entries from the website

What you should not edit here:

  • title
  • authors
  • venue
  • date

Those core fields are generated by the publication-sync workflow and will be overwritten here the next time the sync runs.

If a paper is missing and OpenAlex does not provide the entry, add it to manual_publications.yaml in Publication Lists.

If an author's name is wrong because OpenAlex uses a known variant, add that variant to the member's aliases in the Publication Lists people.yaml file.

Assets should be added here:

  • publication images: public/assets/images/publications/
  • publication PDFs: public/assets/pdfs/

Example publication entry:

- title: Paper Title
  authors: Author A, Author B
  venue: Conference or Journal Name
  date: 'YYYY-MM-DD'
  website: https://doi.org/...
  image: /assets/images/publications/example.png
  pdf: /assets/pdfs/example.pdf
  code: https://github.com/org/repo

Notes:

  • image, code, pdf, display, and website are fields preserved by the publication sync when the generated title and date still match the existing entry.
  • display: false hides a publication from the publication lists. Use it to hide duplicates or incorrectly generated papers.
  • Use website for the publication's main link. This can be a DOI, external project page, or a project page hosted in this repository, such as /project/example-project/.

Host Static Project Pages

Static project pages can be added under public/project/.

Use this when you want vios.science to host a standalone paper or project website, such as:

https://vios.science/project/example-project/

Use this naming convention for the project folder:

{venue}_{year}_{name}_{shortname}

For example, MIDL_2026_Kostas_Anat-LDM becomes:

https://vios.science/project/MIDL_2026_Kostas_Anat-LDM/

The fields mean:

  • venue: short venue name, such as MIDL, MICCAI, CVPR, NeurIPS, or TMI
  • year: publication or conference year
  • name: lead VIOS contributor name, such as Kostas
  • shortname: short project or paper name, such as Anat-LDM

You usually need to prepare five things:

  1. A stable URL slug using the naming convention above.
  2. One static HTML entry point, for example public/project/MIDL_2026_Kostas_Anat-LDM/index.html.
  3. Any page-specific assets, for example images, CSS, JavaScript, or small downloads.
  4. A website field on the related publication entry in src/data/publications.yaml.
  5. A local build and preview check before opening the pull request.

Recommended folder layout:

public/project/example-project/
|-- index.html
`-- assets/
    |-- figure-1.png
    |-- figure-2.png
    `-- teaser.jpg

In your HTML, use root-relative paths for assets so the page works with or without a trailing slash:

<img src="/project/example-project/assets/figure-1.png" alt="Short figure description">
<link rel="stylesheet" href="/project/example-project/assets/style.css">
<script src="/project/example-project/assets/script.js" defer></script>

Avoid paths like assets/figure-1.png unless you have tested both /project/example-project and /project/example-project/. Relative paths can break when the trailing slash is missing.

To link the page from the publication list, first check whether the paper already exists in src/data/publications.yaml. If the paper already exists, set website to the project page path:

- title: Paper Title
  authors: Author A, Author B
  venue: Conference or Journal Name
  date: 'YYYY-MM-DD'
  website: /project/example-project/

If the paper does not exist yet, add it to the Publication Lists repository first, in the manual_publications.yaml file, and wait for the publication sync to run. Once the generated entry exists here, add the hosted page path to its website field.

Before committing, test the page locally:

npm install
npm run build
npm run preview

The preview server prints a local URL, usually http://localhost:4321. Check these pages in your browser:

  • http://localhost:4321/project/example-project/
  • http://localhost:4321/project/example-project
  • http://localhost:4321/publications/

Confirm the following before opening a pull request:

  • The project page loads at both URLs, with and without the trailing slash.
  • All images, CSS, JavaScript, and downloads load correctly.
  • The Website button opens the project page.
  • The page works on a narrow mobile browser width.
  • npm run build finishes successfully.

Your pull request should include:

  • the new public/project/example-project/ folder
  • the website: /project/example-project/ update in src/data/publications.yaml
  • any assets needed by the page
  • a short note that you ran npm run build
  • a screenshot or local preview link if useful for review

Anything in public/project/example-project/ is served unchanged at /project/example-project/, so keep project pages self-contained and avoid relying on files outside the project folder unless they are shared site assets.

Other Content You Can Update

News

News posts live in src/content/news/. Add or edit Markdown or MDX files with frontmatter such as title and date.

Tutorials

Tutorials live in src/content/tutorials/. Useful frontmatter fields include title, description, summary, date, teaser, and author.

Pages

Standalone pages live in src/content/pages/. Examples include research.mdx, join_us.mdx, and alumni.mdx.

Projects

Projects are listed in src/data/projects.json.

Example project entry:

{
  "title": "Project Title",
  "funder": "Funder Name",
  "short_funder": "Short Funder Name",
  "team": "Team structure",
  "timeline": "MM/YY - MM/YY",
  "url": "Project link"
}

Adding Assets

Static assets such as images and PDFs should be placed inside public/.

Examples:

  • public/assets/images/team/
  • public/assets/images/publications/
  • public/assets/pdfs/

Anything in public/ is served from the site root. For example, public/assets/image.jpg becomes /assets/image.jpg.

Run the Website Locally

From the root of the project:

npm install
npm run dev

The local site runs at http://localhost:4321.

Build and Preview

To test a production build locally:

npm run build
npm run preview

About

A new site for vios

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors