diff --git a/docs/_static/custom.css b/docs/_static/custom.css
index bff9755d..46e273a3 100644
--- a/docs/_static/custom.css
+++ b/docs/_static/custom.css
@@ -14,6 +14,54 @@ body[data-theme="dark"] .sidebar-brand-text {
color: #58a6ff !important;
}
+/* Make all heading levels match sidebar title blue color */
+.content h1,
+.content h2,
+.content h3,
+.content h4,
+.content h5,
+.content h6,
+article h1,
+article h2,
+article h3,
+article h4,
+article h5,
+article h6 {
+ color: #0969da !important;
+}
+
+body[data-theme="dark"] .content h1,
+body[data-theme="dark"] .content h2,
+body[data-theme="dark"] .content h3,
+body[data-theme="dark"] .content h4,
+body[data-theme="dark"] .content h5,
+body[data-theme="dark"] .content h6,
+body[data-theme="dark"] article h1,
+body[data-theme="dark"] article h2,
+body[data-theme="dark"] article h3,
+body[data-theme="dark"] article h4,
+body[data-theme="dark"] article h5,
+body[data-theme="dark"] article h6 {
+ color: #58a6ff !important;
+}
+
+@media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) .content h1,
+ body:not([data-theme="light"]) .content h2,
+ body:not([data-theme="light"]) .content h3,
+ body:not([data-theme="light"]) .content h4,
+ body:not([data-theme="light"]) .content h5,
+ body:not([data-theme="light"]) .content h6,
+ body:not([data-theme="light"]) article h1,
+ body:not([data-theme="light"]) article h2,
+ body:not([data-theme="light"]) article h3,
+ body:not([data-theme="light"]) article h4,
+ body:not([data-theme="light"]) article h5,
+ body:not([data-theme="light"]) article h6 {
+ color: #58a6ff !important;
+ }
+}
+
/* Quick Links sidebar styling - darker gray box with proper padding */
.sidebar-quicklinks {
margin: 1rem 0.75rem 1rem 0.75rem;
@@ -23,6 +71,35 @@ body[data-theme="dark"] .sidebar-brand-text {
border: 1px solid #d0d0d0;
}
+/* Style RST sidebar directive boxes to match left sidebar styling */
+.sidebar,
+aside.sidebar {
+ background-color: #e8e8e8 !important;
+ border: 1px solid #d0d0d0 !important;
+ border-radius: 0.25rem !important;
+ padding: 0.75rem 1rem !important;
+}
+
+body[data-theme="dark"] .sidebar,
+body[data-theme="dark"] aside.sidebar {
+ background-color: #0d0d0d !important;
+ border-color: #1a1a1a !important;
+}
+
+@media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) .sidebar,
+ body:not([data-theme="light"]) aside.sidebar {
+ background-color: #0d0d0d !important;
+ border-color: #1a1a1a !important;
+ }
+}
+
+.sidebar p.sidebar-title,
+aside.sidebar p.sidebar-title {
+ font-weight: 600 !important;
+ margin-bottom: 0.5rem !important;
+}
+
/* Dark mode styling for quick links - much darker background */
body[data-theme="dark"] .sidebar-quicklinks {
background-color: #0d0d0d;
diff --git a/docs/index.rst b/docs/index.rst
index 3f487773..4631acab 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,16 +1,65 @@
-HED Python tools
-================
+Python HEDTools
+===============
-Welcome to the HED Python tools documentation. This package provides comprehensive tools for working with Hierarchical Event Descriptors (HED) in Python.
+
+.. sidebar:: Quick links
+
+ * `HED homepage `_
+
+ * `HED vocabularies `_
+
+ * `HED online tools `_
+
+ * `HED browser tools `_
+
+ * `HED organization `_
+
+ * `HED specification `_
+
+Welcome to the Python HEDTools documentation! This package provides comprehensive tools for working with **Hierarchical Event Descriptors (HED)** - a standardized framework for annotating events and experimental metadata in neuroscience and beyond.
+
+What is HED?
+------------
+
+HED is a standardized vocabulary and annotation framework designed to systematically describe events experimental data, particularly neuroimaging and behavioral data. It's integrated into major neuroimaging standards:
+
+* `BIDS `_ (Brain Imaging Data Structure)
+* `NWB `_ (Neurodata Without Borders)
+
+Key features
+------------
+
+* **Validation**: Verify HED annotations against official schemas
+* **Analysis**: Search, filter, and summarize HED-annotated data
+* **BIDS integration**: Full support for BIDS dataset validation and processing
+* **NWB support**: Read and write HED annotations in NWB files using `ndx-hed `_
+* **Multiple formats**: Work with JSON sidecars, TSV files, Excel spreadsheets
+
+Getting started
+---------------
.. toctree::
:maxdepth: 2
- :caption: Contents:
Introduction
+
+Programming with HEDTools
+-------------------------
+
+.. toctree::
+ :maxdepth: 2
+
User guide
+
+API documentation
+-----------------
+
+.. toctree::
+ :maxdepth: 2
+
API reference
+
Indices and tables
==================
diff --git a/examples/extract_json_template.ipynb b/examples/extract_json_template.ipynb
index b9aa50de..7dba137e 100644
--- a/examples/extract_json_template.ipynb
+++ b/examples/extract_json_template.ipynb
@@ -11,7 +11,7 @@
"General strategy for machine-actionable annotation using HED in BIDS is to create a single `events.json` sidecar file in the BIDS dataset root directory.\n",
"Ideally, this sidecar will contain all the annotations needed for users to understand and analyze the data.\n",
"\n",
- "(See the [**BIDS annotation quickstart**](https://www.hed-resources.org/en/latest/BidsAnnotationQuickstart.html) for additional information on this strategy.)\n",
+ "(See the [**BIDS annotation quickstart**](https://www.hedtags.org/hed-resources) for additional information on this strategy.)\n",
"\n",
"This notebook shows how to create a JSON sidecar template from the information in all the event files in a BIDS dataset. To use this notebook, substitute the specifics of your BIDS dataset for the following variables:\n",
"\n",
@@ -27,9 +27,9 @@
"\n",
"Typical `skip_columns` include the `onset`, `duration`, and `sample` columns, which have well-defined meanings according to BIDS. The `value_columns` just require a single annotation, applicable to each value in the column.\n",
"\n",
- "For additional information see the tutorial [**Create a JSON template**](https://www.hed-resources.org/en/latest/BidsAnnotationQuickstart.html#create-a-json-template) which illustrates the creation of a template from a single event file using the online tools.\n",
+ "For additional information see the tutorial [**Create a JSON template**](https://hedtags.org/hed-resources/BidsAnnotationQuickstart.html#create-a-json-template) which illustrates the creation of a template from a single event file using the online tools.\n",
"\n",
- "Additional information about this notebook can be found in [**Extract JSON template**](https://www.hed-resources.org/en/latest/HedPythonTools.html#extract-json-template) in the Python HEDTools user guide."
+ "See [**Sidecar template extraction**](https://www.hedtags.org/hed-python/user_guide.html#sidecar-template-extraction) in the HEDTools documentation for an example of how to directly extract a template using command line tools."
]
},
{
diff --git a/hed/errors/error_reporter.py b/hed/errors/error_reporter.py
index 9b9c3214..3356a5ce 100644
--- a/hed/errors/error_reporter.py
+++ b/hed/errors/error_reporter.py
@@ -628,7 +628,7 @@ def create_doc_link(error_code):
"""
if error_code in known_error_codes["hed_validation_errors"] or error_code in known_error_codes["schema_validation_errors"]:
modified_error_code = error_code.replace("_", "-").lower()
- return f"https://hed-specification.readthedocs.io/en/latest/Appendix_B.html#{modified_error_code}"
+ return f"https://www.hedtags.org/hed-specification/Appendix_B.html#{modified_error_code}"
return None
diff --git a/pyproject.toml b/pyproject.toml
index 12c4071a..abccc202 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -63,7 +63,7 @@ dependencies = [
"Repository" = "https://github.com/hed-standard/hed-python/"
"Bug Tracker" = "https://github.com/hed-standard/hed-python/issues"
"Changelog" = "https://github.com/hed-standard/hed-python/blob/main/CHANGELOG.md"
-"HED Resources" = "https://www.hed-resources.org"
+"HED Resources" = "https://www.hedtags.org/hed-resources/"
[project.optional-dependencies]
dev = [
diff --git a/tests/data/bids_tests/eeg_ds003645s_hed_demo/README.md b/tests/data/bids_tests/eeg_ds003645s_hed_demo/README.md
index de736cee..f3756bcc 100644
--- a/tests/data/bids_tests/eeg_ds003645s_hed_demo/README.md
+++ b/tests/data/bids_tests/eeg_ds003645s_hed_demo/README.md
@@ -131,5 +131,5 @@ are inserted into the template, rather than concatenated:
"(Experiment-participant, ID/sub-001),Age/3,Male,Healthy,Rested,Novide-level"
```
-See [Assembly and curly braces](https://www.hed-resources.org/en/latest/HedAnnotationQuickstart.html#assembly-and-curly-braces)
-in the [HED annotation quickstart](https://www.hed-resources.org/en/latest/HedAnnotationQuickstart.html#) for more information.
\ No newline at end of file
+See [Assembly and curly braces](https:/www.hedtags.org/hed-resources/HedAnnotationQuickstart.html#assembly-and-curly-braces)
+in the [HED annotation quickstart](https:/www.hedtags.org/hed-resources/HedAnnotationQuickstart.html) for more information.
\ No newline at end of file