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