\ No newline at end of file
diff --git a/docs/_templates/developed-by-ocp.html b/docs/_templates/developed-by-ocp.html
new file mode 100644
index 000000000..9d99c1a17
--- /dev/null
+++ b/docs/_templates/developed-by-ocp.html
@@ -0,0 +1,4 @@
+
+
Developed by
+
+
\ No newline at end of file
diff --git a/docs/_templates/footer.html b/docs/_templates/footer.html
deleted file mode 100644
index c0d167b10..000000000
--- a/docs/_templates/footer.html
+++ /dev/null
@@ -1,5 +0,0 @@
-{% extends "!footer.html" %}
-
-{% block extrafooter %}
-{% trans %}Privacy notice{% endtrans %}.
-{% endblock %}
diff --git a/docs/_templates/language-switcher.html b/docs/_templates/language-switcher.html
new file mode 100644
index 000000000..ec908cbcd
--- /dev/null
+++ b/docs/_templates/language-switcher.html
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html
index 905f3a73b..26225213d 100644
--- a/docs/_templates/layout.html
+++ b/docs/_templates/layout.html
@@ -1,5 +1,3 @@
-{% set css_files = css_files + ["_static/basic.css"] %}
-{% set script_files = script_files + ["_static/renderjson.js", "_static/script.js"] %}
{% extends "!layout.html" %}
{% block mobile_nav %}
@@ -20,12 +18,6 @@
-{% endblock %}
-
{% block language_options %}
{% endblock %}
-
-{% block version_options %}
-
-{% endblock %}
diff --git a/docs/_templates/version-switcher.html b/docs/_templates/version-switcher.html
new file mode 100644
index 000000000..2920ee184
--- /dev/null
+++ b/docs/_templates/version-switcher.html
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/docs/conf.py b/docs/conf.py
index 95208bd29..74bca783a 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -17,7 +17,6 @@
from glob import glob
from pathlib import Path
-import standard_theme
from docutils.nodes import make_id
from ocds_babel.translate import translate
from sphinx.locale import get_translation
@@ -60,9 +59,9 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
-html_theme = 'standard_theme'
-html_theme_path = [standard_theme.get_html_theme_path()]
+html_theme = 'pydata_sphinx_theme'
html_favicon = '_static/favicon-16x16.ico'
+html_logo = "_static/png/logo-ocds.png"
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
@@ -81,7 +80,8 @@
gettext_compact = False
# `DOMAIN_PREFIX` from `config.mk`.
gettext_domain_prefix = f'{profile_identifier}-' if profile_identifier else ''
-locale_dirs = ['locale/', os.path.join(standard_theme.get_html_theme_path(), 'locale')]
+# TODO: figure out how this should be used if we are using the pydata theme
+locale_dirs = ['locale/'] # os.path.join(standard_theme.get_html_theme_path(), 'locale')]
# We use single quotes for codes, which docutils will change to double quotes.
# https://sourceforge.net/p/docutils/code/HEAD/tree/trunk/docutils/docutils/utils/smartquotes.py
smartquotes = False
@@ -100,15 +100,27 @@
html_context = {
'analytics_id': 'HTWZHRIZ',
}
+# TODO: remove these old theme options once the new theme looks correct
+# html_theme_options = {
+# 'display_version': True,
+# 'root_url': f'/profiles/{profile_identifier}' if profile_identifier else '',
+# 'short_project': project.replace('Open Contracting Data Standard', 'OCDS'),
+# 'copyright': copyright,
+# 'license_name': 'Apache License 2.0',
+# 'license_url': f'{repository_url}/blob/HEAD/LICENSE',
+# 'repository_url': repository_url,
+# }
html_theme_options = {
- 'analytics_id': 'HTWZHRIZ',
- 'display_version': True,
- 'root_url': f'/profiles/{profile_identifier}' if profile_identifier else '',
- 'short_project': project.replace('Open Contracting Data Standard', 'OCDS'),
- 'copyright': copyright,
- 'license_name': 'Apache License 2.0',
- 'license_url': f'{repository_url}/blob/HEAD/LICENSE',
- 'repository_url': repository_url,
+ "navbar_align": "left",
+ "navbar_end": ["version-switcher", "language-switcher", "search-field"],
+ "footer_items": ["custom-footer"],
+}
+
+html_sidebars = {
+ "index": ["developed-by-ocp.html"],
+ "**": [
+ "sidebar-nav-bs.html",
+ ]
}
# List the extension identifiers and versions that should be part of this specification. The extensions must be in
@@ -167,3 +179,8 @@ def setup(app):
# The glob patterns in `babel_ocds_codelist.cfg` should match these.
(glob(str(standard_dir / 'codelists' / '*.csv')), standard_build_dir / 'codelists', codelists_domain),
], localedir, language, headers, version=branch)
+
+ # Add assets for website
+ app.add_css_file("basic.css")
+ app.add_js_file("renderjson.js")
+ app.add_js_file("script.js.css")
diff --git a/docs/guidance/map.md b/docs/guidance/map.md
index 1fcaf5622..1b84f1bf2 100644
--- a/docs/guidance/map.md
+++ b/docs/guidance/map.md
@@ -127,8 +127,6 @@ For example, you have created an extension to add a new field to indicate whethe
**Resource:** [Localizing OCDS: Translations, Terminology & Extensions](https://www.open-contracting.org/2016/07/26/localising-ocds-translations-terminology-extensions/)
-**Resource** [OCDS Glossary](https://github.com/open-contracting/glossary)
-
**Action:** [Contact the OCDS Helpdesk](../../support/index) to get help with mapping data or authoring extensions.
**Action:** If you are stuck on a particular concept and are concerned about how it is modelled in OCDS, search the issues in our [GitHub tracker](https://github.com/open-contracting/standard/issues) to see what others in the community are saying about the topic. If you do not see your issue, create a new one!
diff --git a/docs/guidance/map/organization_classifications.md b/docs/guidance/map/organization_classifications.md
index b23167b9a..ab2014ed2 100644
--- a/docs/guidance/map/organization_classifications.md
+++ b/docs/guidance/map/organization_classifications.md
@@ -29,7 +29,7 @@ In the example below, Moldova has disclosed information about the 'Companie mic
### Option 2: Organization classification extension
-In the examples below, two different publishers have disclosed information about organizations involved in their contracting processes. An organization classification needs to consist of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification. In the first example below, the publisher re-uses an existing `classification.scheme`. In the second example below, where a publisher wishes to track specific policy-related data, a local list of categories is used in preference to mapping to a generic set.
+In the examples below, two different publishers have disclosed information about organizations involved in their contracting processes. An organization classification needs to consist of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification. In the [first example](#example-2-1-disclosing-data-using-existing-schemes) below, the publisher re-uses an existing `classification.scheme`. In the [second example](#example-2-2-disclosing-data-using-a-local-scheme) below, where a publisher wishes to track specific policy-related data, a local list of categories is used in preference to mapping to a generic set.
#### Classification schemes
diff --git a/docs/index.md b/docs/index.md
index cbf383a31..046b0488e 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -34,4 +34,5 @@ schema/index
support/index
governance/index
history/index
+Data Review Tool
```