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

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

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

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<--)

make update

Serve the website with the mkdocs.

uv run mkdocs serve

Maintenance

Requirements

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

uv run tox

Update all files

make update

Run all formatting / linting tools

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.

npm run format -- path_to_file --ouput

Upgrading dependencies

Rerun uv sync:

uv sync --upgrade