Skip to content

Contributing to the BIDS website

We hope that these guidelines are designed to make it as easy as possible to make changes to the BIDS website. If you have any questions that aren't discussed below, please let us know by opening an issue.

If you are not familiar with Git and GitHub, check our generic contributing guidelines.

Serving locally

Requirements

  • uv
  • node.js >= 14
  • npm >= ???

Even though this is not required, having make installed will make it easier to easily serve the website locally.

Install and serve

Fork and clone the repository and its submodules

bash git clone https://github.com/YOUR_USER_NAME/bids-website.git --recurse-submodules

Run uv to create a virtual environment in .venv/.

bash uv sync --frozen

Generate all the content required for the build:

  • copies some pages from the specification repo

  • updates the list of contributors

  • generates the page for each BEP based on its metadata

  • updates the list of BIDS examples

  • generates all the 'plotly' interactive plots as html files in the tmp folder that will be 'injected' in the website as snippets (with --8<--)

bash make update

Serve the website with the mkdocs.

bash uv run mkdocs serve

Maintenance

Requirements

Same as for the install but you will also need to install tox.

bash uv run tox

Update all files

bash make update

Run all formatting / linting tools

bash tox make remark

Using remark to format a file

If you have a completely new file that you want to lint, you can use the following to get most of the markdown formatting done.

Some will still need some manual work.

bash npm run format -- path_to_file --ouput

Upgrading dependencies

Rerun uv sync:

bash uv sync --upgrade