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