From a896a9b40daa0eb1da43b4cbf1823f0452d2a3c0 Mon Sep 17 00:00:00 2001 From: Rifa Achrinza <25147899+achrinza@users.noreply.github.com> Date: Wed, 24 Jun 2026 13:37:57 +0800 Subject: [PATCH 1/8] chore(deps): upgrade to `mkdocs-material@9.7.6` - Migrated config - Migrated theme overrides Signed-off-by: Rifa Achrinza <25147899+achrinza@users.noreply.github.com> --- README.md | 4 +- ci/tasks/build.yml | 2 +- content/images/logo-full-white.png | Bin 0 -> 10012 bytes content/index.md | 3 +- mkdocs.yml | 72 +++++--- theme/partials/copyright.html | 14 ++ theme/partials/footer.html | 93 ++++------ theme/partials/nav-item.html | 262 ++++++++++++++++++++--------- theme/partials/nav.html | 49 +++--- theme/partials/source.html | 14 +- theme/partials/tabs.html | 14 +- 11 files changed, 309 insertions(+), 218 deletions(-) create mode 100644 content/images/logo-full-white.png create mode 100644 theme/partials/copyright.html diff --git a/README.md b/README.md index fd5d0944f..38dae7436 100644 --- a/README.md +++ b/README.md @@ -19,12 +19,12 @@ git submodule update --init --recursive # for quick development reloads docker run --rm -it -p 8000:8000 -v "${PWD}:/docs" \ - squidfunk/mkdocs-material:2.7.2 \ + squidfunk/mkdocs-material:9.7.6 \ -- serve --dev-addr=0.0.0.0:8000 --dirtyreload # for a production-like build environment (link checking, etc.) docker run --rm -it -p 8000:8000 -v "${PWD}:/docs" \ - squidfunk/mkdocs-material:2.7.2 + squidfunk/mkdocs-material:9.7.6 ``` You can then make changes in a text editor, and refresh in a local browser at . diff --git a/ci/tasks/build.yml b/ci/tasks/build.yml index 7fe880044..26812bef9 100644 --- a/ci/tasks/build.yml +++ b/ci/tasks/build.yml @@ -3,7 +3,7 @@ image_resource: type: registry-image source: repository: squidfunk/mkdocs-material - tag: 2.7.2 + tag: 9.7.6 run: dir: docs path: /usr/bin/mkdocs diff --git a/content/images/logo-full-white.png b/content/images/logo-full-white.png new file mode 100644 index 0000000000000000000000000000000000000000..b37486be84a60dadc1ece534b710c13969e3d615 GIT binary patch literal 10012 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 UolfjJ`?jTX#Xzg-GA{go0NvoaTL1t6 literal 0 HcmV?d00001 diff --git a/content/index.md b/content/index.md index 18f492f31..b124b1d0f 100644 --- a/content/index.md +++ b/content/index.md @@ -1,6 +1,7 @@ # Welcome to -![Cloud Foundry BOSH](images/logo-full.png) +![Cloud Foundry BOSH](images/logo-full.png#only-light) +![Cloud Foundry BOSH](images/logo-full-white.png#only-dark) BOSH is a project that unifies release engineering, deployment, and lifecycle management of small and large-scale cloud software. BOSH can provision and deploy software over hundreds of VMs. It also performs monitoring, failure recovery, and software updates with zero-to-minimal downtime. diff --git a/mkdocs.yml b/mkdocs.yml index 969795683..69c23236f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,14 +1,15 @@ +# yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json site_name: Cloud Foundry BOSH site_url: "https://bosh.io/docs/" -repo_name: 'cloudfoundry/docs-bosh' -repo_url: 'https://github.com/cloudfoundry/docs-bosh' -edit_uri: edit/master/content/ +repo_name: cloudfoundry/bosh +repo_url: https://github.com/cloudfoundry/bosh +edit_uri: https://github.com/cloudfoundry/docs-bosh/edit/master/content/ # non-default since our repo itself is called "docs" docs_dir: content -pages: +nav: - About: - Welcome: index.md - Project Goals: problems.md @@ -258,7 +259,6 @@ pages: - What is a Stemcell?: stemcell.md - Recent Changes: recent.md - Deploying BOSH with create-env: init.md - - "--- Cloud Providers": divider.md - Alibaba Cloud: - Usage: alicloud-cpi.md @@ -309,18 +309,43 @@ pages: - Using Human-readable VM names: vsphere-human-readable-names.md - Warden: - Usage: warden-cpi.md -# this hack avoids divider.md showing up in navigation and site search -- "--- ": divider.md theme: name: material custom_dir: theme favicon: assets/images/favicon.2776d0bae488.png - feature: - tabs: true + features: + - content.action.edit + - content.code.copy + - navigation.tabs + - navigation.footer palette: - primary: blue - accent: indigo + # Palette toggle for automatic mode + - media: "(prefers-color-scheme)" + toggle: + icon: material/brightness-auto + name: Switch to light mode + primary: blue + accent: indigo + + # Palette toggle for light mode + - media: "(prefers-color-scheme: light)" + scheme: default + toggle: + icon: material/brightness-7 + name: Switch to dark mode + primary: blue + accent: indigo + + # Palette toggle for dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + toggle: + icon: material/brightness-4 + name: Switch to light mode + primary: blue + accent: indigo + logo: assets/images/logo.d93e7da69dbf.png extra_css: @@ -328,38 +353,39 @@ extra_css: markdown_extensions: - markdown.extensions.admonition -- markdown.extensions.codehilite - markdown.extensions.def_list - markdown.extensions.attr_list - markdown.extensions.footnotes -- markdown.extensions.meta -- markdown.extensions.toc(permalink=true) +- markdown.extensions.toc: + permalink: true - pymdownx.arithmatex -- pymdownx.betterem(smart_enable=all) +- pymdownx.betterem: + smart_enable: all - pymdownx.caret - pymdownx.critic - pymdownx.emoji: emoji_generator: !!python/name:pymdownx.emoji.to_svg +- pymdownx.highlight - pymdownx.inlinehilite - pymdownx.magiclink - pymdownx.mark - pymdownx.smartsymbols - pymdownx.snippets - pymdownx.superfences -- pymdownx.tasklist(custom_checkbox=true) +- pymdownx.tasklist: + custom_checkbox: true - pymdownx.tilde extra: + analytics: + provider: google + property: !ENV GOOGLE_ANALYTICS_KEY # avoid forks accidentally using us + social: - - type: 'github' + - icon: fontawesome/brands/github link: 'https://github.com/cloudfoundry/bosh' - - type: 'slack' + - icon: fontawesome/brands/slack link: 'https://cloudfoundry.slack.com/messages/C02HPPYQ2/' -google_analytics: -# avoid forks accidentally using us -- !!python/object/apply:os.getenv ["GOOGLE_ANALYTICS_KEY"] -- auto - # since we publish via bosh.io, avoid unintentionally using gh-pages remote_branch: docroot diff --git a/theme/partials/copyright.html b/theme/partials/copyright.html new file mode 100644 index 000000000..0e7834cb8 --- /dev/null +++ b/theme/partials/copyright.html @@ -0,0 +1,14 @@ + diff --git a/theme/partials/footer.html b/theme/partials/footer.html index a91914c58..c97b7acab 100644 --- a/theme/partials/footer.html +++ b/theme/partials/footer.html @@ -19,85 +19,56 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -->#} - -{% import "partials/language.html" as lang with context %} - -{##} diff --git a/theme/partials/nav-item.html b/theme/partials/nav-item.html index 1bf5dd60b..e75a7f040 100644 --- a/theme/partials/nav-item.html +++ b/theme/partials/nav-item.html @@ -22,92 +22,190 @@ IN THE SOFTWARE. -->#} -{##} -{% set class = "md-nav__item" %} -{% if nav_item.active %} - {% set class = "md-nav__item md-nav__item--active" %} -{% endif %} - -{##} -{% if nav_item.children %} -
  • - - {##} - {% if nav_item.active %} - - {% else %} - +{% macro render_status(nav_item, type) %} + {% set class = "md-status md-status--" ~ type %} + {% if config.extra.status and config.extra.status[type] %} + + + {% else %} + + {% endif %} +{% endmacro %} +{% macro render_title(nav_item) %} + {% if nav_item.title[0:4] == "--- " %} + {% set title = nav_item.title[4:] %} + {% else %} + {% set title = nav_item.title %} + {% endif %} + {% if nav_item.typeset %} + + {{ nav_item.typeset.title }} + + {% else %} + {{ title }} + {% endif %} +{% endmacro %} +{% macro render_content(nav_item, ref) %} + {% set ref = ref or nav_item %} + {% if nav_item.meta and nav_item.meta.icon %} + {% include ".icons/" ~ nav_item.meta.icon ~ ".svg" %} + {% endif %} + + {{ render_title(ref) }} + {% if nav_item.meta and nav_item.meta.subtitle %} +
    + {{ nav_item.meta.subtitle }} {% endif %} - - {##} - - -
  • - -{##} -{% elif nav_item == page %} -
  • - {% set toc_ = page.toc %} - - {##} - - - {##} - {% if toc_ | first is defined and "\x3ch1 id=" in page.content %} - {% set toc_ = (toc_ | first).children %} + + {% if nav_item.meta and nav_item.encrypted %} + {{ render_status(nav_item, "encrypted") }} + {% endif %} + {% if nav_item.meta and nav_item.meta.status %} + {{ render_status(nav_item, nav_item.meta.status) }} + {% endif %} +{% endmacro %} +{% macro render_pruned(nav_item, ref) %} + {% set ref = ref or nav_item %} + {% set first = nav_item.children | first %} + {% if first and first.children %} + {{ render_pruned(first, ref) }} + {% else %} + + {{ render_content(ref) }} + {% if nav_item.children | length > 0 %} + + {% endif %} + + {% endif %} +{% endmacro %} +{% macro render(nav_item, path, level, parent) %} + {% set class = "md-nav__item" %} + {% if nav_item.active %} + {% set class = class ~ " md-nav__item--active" %} + {% endif %} + {% if nav_item.pages %} + {% if page in nav_item.pages %} + {% set nav_item = page %} {% endif %} - - {##} - {% if toc_ | first is defined %} - + {% endif %} + {% if nav_item.children %} + {% set _ = namespace(index = none) %} + {% if "navigation.indexes" in features %} + {% for item in nav_item.children %} + {% if item.is_index and _.index is none %} + {% set _.index = item %} + {% endif %} + {% endfor %} {% endif %} - - {{ nav_item.title }} - - - {##} - {% if toc_ | first is defined %} - {% include "partials/toc.html" %} + {% set index = _.index %} + {% if "navigation.tabs" in features %} + {% if level == 1 and nav_item.active %} + {% set class = class ~ " md-nav__item--section" %} + {% set is_section = true %} + {% endif %} + {% if "navigation.sections" in features %} + {% if level == 2 and parent.active %} + {% set class = class ~ " md-nav__item--section" %} + {% set is_section = true %} + {% endif %} {% endif %} -
  • - -{##} -{% elif nav_item.title[0:4] == "--- " %} - {% if level != 1 %}{# 1 = mobile-friendly nav where this does not make sense to show #} + {% elif "navigation.sections" in features %} + {% if level == 1 %} + {% set class = class ~ " md-nav__item--section" %} + {% set is_section = true %} + {% endif %} + {% endif %} + {% if "navigation.prune" in features %} + {% if not is_section and not nav_item.active %} + {% set class = class ~ " md-nav__item--pruned" %} + {% set is_pruned = true %} + {% endif %} + {% endif %} +
  • + {% if not is_pruned %} + {% set checked = "checked" if nav_item.active %} + {% if "navigation.expand" in features and not checked %} + {% set indeterminate = "md-toggle--indeterminate" %} + {% endif %} + + {% if not index %} + {% set tabindex = "0" if not is_section %} + + {% else %} + {% set class = "md-nav__link--active" if index == page %} + + {% endif %} + + {% else %} + {{ render_pruned(nav_item) }} + {% endif %} +
  • + {% elif nav_item == page %}
  • - + {% set toc = page.toc %} + + {% set first = toc | first %} + {% if first and first.level == 1 %} + {% set toc = first.children %} + {% endif %} + {% if toc %} + + {% endif %} + + {{ render_content(nav_item) }} + + {% if toc %} + {% include "partials/toc.html" %} + {% endif %}
  • + {% else %} + {% if nav_item.title[0:4] == "--- " %} + {% if level == 2 and parent.active %} + {% set class = class ~ " md-nav__item--section" %} + {% set is_section = True %} + {% endif %} + {% endif %} + {% if is_section == True %} +
  • + +
  • + {% else %} +
  • + + {{ render_content(nav_item) }} + +
  • + {% endif %} {% endif %} - -{##} -{% else %} -
  • - - {{ nav_item.title }} - -
  • -{% endif %} +{% endmacro %} diff --git a/theme/partials/nav.html b/theme/partials/nav.html index 05ea172b1..3a6c18de5 100644 --- a/theme/partials/nav.html +++ b/theme/partials/nav.html @@ -17,44 +17,33 @@ IN THE SOFTWARE. -->#} -{##} -