Skip to content
71 changes: 71 additions & 0 deletions docs/standards/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,74 @@ You can find further information for:
- the [BIDS schema](./schema/index.md)
- the [BIDS statistical model specification](.//bids_stats_model/index.md)
- the [BIDS apps specification](./bids_app_specification/index.md)

The following figure shows the relationship between the BIDS specification, validator implementations, and the BIDS schema:

```mermaid
---
config:
layout: dagre
---
flowchart TB
subgraph s6["<a href=https://github.com/bids-standard/bids-specification>bids-standard/bids-specification</a>"]
markdown@{ label: "<a href='https://github.com/bids-standard/bids-specification/tree/v1.10.0/src'>src/</a><br>markdown" }
bidsschematools@{ label: "<a href='https://github.com/bids-standard/bids-specification/tree/v1.10.0/tools/schemacode'>tools/schemacode/</a><br/>bidsschematools" }
schema@{ label: "<a href='https://github.com/bids-standard/bids-specification/tree/v1.10.0/src/schema'>src/schema/</a><br>YAMLs" }
end
subgraph s2["<a href=https://bids-specification.readthedocs.io>bids-specification.readthedocs.io</a>"]
specification["specification html"]
schema.json@{ label: "<a href='https://bids-specification.readthedocs.io/en/v1.10.0/schema.json'>schema.json</a>" }
end
subgraph s_jsr["<a href=https://jsr.io/@bids/schema>https://jsr.io/@bids/schema</a>"]
schema.json-jsr["schema.json"]
end
subgraph s5["<a href=https://bids.neuroimaging.io>bids.neuroimaging.io</a>"]
s2
end
subgraph subGraph5["legacy-validator @ v1.15.1"]
Node.js["Node.js"]
regex["filename patterns"]
web1@{ label: "<a href=\"https://bids-standard.github.io/legacy-validator/\">web</a>" }
cli1["cli"]
end
subgraph subGraph6["bids-validator ≥ v2.0"]
web@{ label: "<a href=\"https://bids-standard.github.io/bids-validator/\">web</a>" }
deno["deno"]
cli["cli"]
end
subgraph subGraph7["python-validator ≥ v1.14.7"]
python["python"]
library["library"]
cli3["cli"]
end
schema -. is interpreted by .-> bidsschematools
markdown -- is interpreted by --> mkdocs@{ label: "<a href=''>mkdocs</a>" }
bidsschematools -- provides MACROS for --> mkdocs
mkdocs -- renders HTML --> specification
schema -- is instance of --> bids-schema@{ label: "<a href=\"https://bids-website.readthedocs.io/en/latest/standards/schema/index.html\">BIDS Schema</a>" }
bids-schema -. is implemented by .-> deno & bidsschematools & python
bids-schema -. is reflected in .-> metaschema.json@{ label: "<a href='https://github.com/bids-standard/bids-specification/blob/master/src/metaschema.json'>metaschema.json</a><br/>JSON Schema" }
schema.json -- is instance of --> bids-schema & metaschema.json
schema.json-jsr -- is instance of --> bids-schema & metaschema.json
bidsschematools -- compiles YAMLs as --> schema.json & schema.json-jsr
regex --> Node.js
Node.js --> web1 & cli1
deno --> web & cli
python --> library & cli3
specification -. is interpreted by .-> regex
schema.json-jsr -. is interpreted by .-> deno
bidsschematools -- is used by --> python
markdown@{ shape: docs}
bidsschematools@{ shape: proc}
schema@{ shape: docs}
schema.json@{ shape: doc}
schema.json-jsr@{ shape: doc}
Node.js@{ shape: subproc}
web1@{ shape: rect}
web@{ shape: rect}
deno@{ shape: subproc}
python@{ shape: subproc}
mkdocs@{ shape: proc}
bids-schema@{ shape: rect}
metaschema.json@{ shape: doc}
```
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ plugins:
module_name: macros/main
# toggle to true if you are in CD/CI environment
on_error_fail: true
- panzoom:
full_screen: True # default False
- redirects:
redirect_maps:
# old links from the old website
Expand Down
3 changes: 2 additions & 1 deletion requirements.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ gender_guesser
geopy
jinja2>=3.1.5
markdown-it-py
mkdocs-material[imaging]
mkdocs-material[imaging]>=9.6.3
mkdocs-macros-plugin
mkdocs-open-in-new-tab
mkdocs-panzoom-plugin
mkdocs-redirects
mkdocs-rss-plugin
plotly>=5.3.1
Expand Down
10 changes: 9 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ attrs==23.2.0
# referencing
babel==2.15.0
# via mkdocs-material
beautifulsoup4==4.13.3
# via mkdocs-panzoom-plugin
bibtexparser==1.4.1
# via pyzotero
bids-validator==1.14.6
Expand Down Expand Up @@ -113,18 +115,21 @@ mkdocs==1.6.0
# mkdocs-macros-plugin
# mkdocs-material
# mkdocs-open-in-new-tab
# mkdocs-panzoom-plugin
# mkdocs-redirects
# mkdocs-rss-plugin
mkdocs-get-deps==0.2.0
# via mkdocs
mkdocs-macros-plugin==1.0.5
# via -r requirements.in
mkdocs-material==9.5.26
mkdocs-material==9.6.5
# via -r requirements.in
mkdocs-material-extensions==1.3.1
# via mkdocs-material
mkdocs-open-in-new-tab==1.0.3
# via -r requirements.in
mkdocs-panzoom-plugin==0.1.3
# via -r requirements.in
mkdocs-redirects==1.2.1
# via -r requirements.in
mkdocs-rss-plugin==1.13.0
Expand Down Expand Up @@ -240,6 +245,8 @@ six==1.16.0
# via python-dateutil
smmap==5.0.1
# via gitdb
soupsieve==2.6
# via beautifulsoup4
sqlalchemy==2.0.30
# via pybids
tabulate==0.9.0
Expand All @@ -256,6 +263,7 @@ tinycss2==1.3.0
# cssselect2
typing-extensions==4.12.2
# via
# beautifulsoup4
# formulaic
# sqlalchemy
tzdata==2024.1
Expand Down
Loading