diff --git a/.circleci/config.yml b/.circleci/config.yml index 158f88c0..ab13a3b4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 executors: python_executor: docker: - - image: cimg/python:3.7.4 + - image: cimg/python:3.9 node_executor: docker: - image: cimg/node:lts @@ -58,6 +58,7 @@ jobs: done exit $status + # test the build with regular non-insider MkDocs Material theme for compatibility build: executor: python_executor steps: @@ -70,6 +71,8 @@ jobs: command: | python3 -m venv venv . venv/bin/activate + pip install --upgrade pip + pip install -q -r CI/requirements-mkdocs-material.txt pip install -q -r CI/requirements.txt - save_cache: paths: diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..c31bfa44 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +[*] +charset=utf-8 +end_of_line=lf +trim_trailing_whitespace=true +insert_final_newline=true +indent_style=space +indent_size=2 + +[.editorconfig] +indent_style=space +indent_size=4 + +[{*.yml,*.yaml}] +indent_style=space +indent_size=2 + diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000..5dbbd4a2 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,20 @@ +# .readthedocs.yaml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +build: + os: ubuntu-22.04 + tools: + python: "3.9" + +python: + install: + - requirements: CI/requirements-mkdocs-material-insider.txt + - requirements: CI/requirements.txt + +mkdocs: + configuration: mkdocs.yml + fail_on_warning: false diff --git a/CI/requirements-mkdocs-material-insider.txt b/CI/requirements-mkdocs-material-insider.txt new file mode 100644 index 00000000..3767a8bc --- /dev/null +++ b/CI/requirements-mkdocs-material-insider.txt @@ -0,0 +1 @@ +git+https://${MKDOCS_GITHUB_USER}:${MKDOCS_GITHUB_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git@8.3.9-insiders-4.21.0 diff --git a/CI/requirements-mkdocs-material.txt b/CI/requirements-mkdocs-material.txt new file mode 100644 index 00000000..f6118058 --- /dev/null +++ b/CI/requirements-mkdocs-material.txt @@ -0,0 +1,2 @@ +mkdocs-material==8.3.9 + diff --git a/CI/requirements.txt b/CI/requirements.txt index 5637f22e..798689d9 100644 --- a/CI/requirements.txt +++ b/CI/requirements.txt @@ -1,13 +1,10 @@ -mkdocs==1.2.3 -mkdocs-material==6.1.7 -Markdown==3.2.1 -markdown-fenced-code-tabs==1.0.3 -markdown-include==0.5.1 -mkdocs-markdownextradata-plugin==0.1.3 +Markdown==3.4.1 +markdown-fenced-code-tabs==1.0.5 +markdown-include==0.6.0 +mkdocs-markdownextradata-plugin==0.2.5 mkdocs-exclude==1.0.2 -mkdocs-redirects==1.0.0 -mkdocs-git-revision-date-localized-plugin==0.5.0 -# mkdocs-minify-plugin==0.3.0 -plantuml-markdown==3.3.0 -jinja2==3.0.0 +mkdocs-redirects==1.0.4 +mkdocs-git-revision-date-localized-plugin==1.1.0 +mkdocs-minify-plugin==0.5.0 +plantuml-markdown==3.5.3 diff --git a/CI/vale/.vale.ini b/CI/vale/.vale.ini index 277adaf7..ef093a38 100644 --- a/CI/vale/.vale.ini +++ b/CI/vale/.vale.ini @@ -20,7 +20,7 @@ mdx = md # Global settings (applied to every syntax) [*] # ignore includes and latex math code -TokenIgnores = ({![^!}]+!}),(\$[^\n$`]+\$),(\$\$[^$`]+\$\$) +TokenIgnores = (--8<-- "[^"]+"),(\$[^\n$`]+\$),(\$\$[^$`]+\$\$) # List of styles to load BasedOnStyles = Vale, proselint, write-good, Microsoft, Besu # Style.Rule = {YES, NO} to enable or disable a specific rule diff --git a/custom_theme/assets/javascripts/zoomify.min.js b/custom_theme/assets/javascripts/zoomify.min.js deleted file mode 100755 index 9c30af1c..00000000 --- a/custom_theme/assets/javascripts/zoomify.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Zoomify - v0.2.5 - https://github.com/indrimuska/zoomify - (c) 2015 Indri Muska - MIT */ - -!function(z){Zoomify=function(o,i){var t=this;this._zooming=!1,this._zoomed=!1,this._timeout=null,this.$shadow=null,this.$image=z(o).addClass("zoomify"),this.options=z.extend({},Zoomify.DEFAULTS,this.$image.data(),i),this.$image.on("click",function(){t.zoom()}),z(window).on("resize",function(){t.reposition()}),z(document).on("scroll",function(){t.reposition()}),z(window).on("keyup",function(o){t._zoomed&&27==o.keyCode&&t.zoomOut()})},Zoomify.DEFAULTS={duration:200,easing:"linear",scale:.9},Zoomify.prototype.transition=function(o,i){o.css({"-webkit-transition":i,"-moz-transition":i,"-ms-transition":i,"-o-transition":i,transition:i})},Zoomify.prototype.addTransition=function(o){this.transition(o,"all "+this.options.duration+"ms "+this.options.easing)},Zoomify.prototype.removeTransition=function(o,i){var t=this;clearTimeout(this._timeout),this._timeout=setTimeout(function(){t.transition(o,""),z.isFunction(i)&&i.call(t)},this.options.duration)},Zoomify.prototype.transform=function(o){this.$image.css({"-webkit-transform":o,"-moz-transform":o,"-ms-transform":o,"-o-transform":o,transform:o})},Zoomify.prototype.transformScaleAndTranslate=function(o,i,t,n){this.addTransition(this.$image),this.transform("scale("+o+") translate("+i+"px, "+t+"px)"),this.removeTransition(this.$image,n)},Zoomify.prototype.zoom=function(){this._zooming||(this._zoomed?this.zoomOut():this.zoomIn())},Zoomify.prototype.zoomIn=function(){var o=this,i=this.$image.css("transform");this.transition(this.$image,"none"),this.transform("none");var t=this.$image.offset(),n=this.$image.outerWidth(),s=this.$image.outerHeight(),a=this.$image[0].naturalWidth||1/0,e=this.$image[0].naturalHeight||1/0,m=z(window).width(),r=z(window).height(),h=Math.min(a,m*this.options.scale)/n,d=Math.min(e,r*this.options.scale)/s,f=Math.min(h,d),u=(-t.left+(m-n)/2)/f,c=(-t.top+(r-s)/2+z(document).scrollTop())/f;this.transform(i),this._zooming=!0,this.$image.addClass("zoomed").trigger("zoom-in.zoomify"),setTimeout(function(){o.addShadow(),o.transformScaleAndTranslate(f,u,c,function(){o._zooming=!1,o.$image.trigger("zoom-in-complete.zoomify")}),o._zoomed=!0})},Zoomify.prototype.zoomOut=function(){var o=this;this._zooming=!0,this.$image.trigger("zoom-out.zoomify"),this.transformScaleAndTranslate(1,0,0,function(){o._zooming=!1,o.$image.removeClass("zoomed").trigger("zoom-out-complete.zoomify")}),this.removeShadow(),this._zoomed=!1},Zoomify.prototype.reposition=function(){this._zoomed&&(this.transition(this.$image,"none"),this.zoomIn())},Zoomify.prototype.addShadow=function(){var o=this;this._zoomed||(o.$shadow&&o.$shadow.remove(),this.$shadow=z('
'),z("body").append(this.$shadow),this.addTransition(this.$shadow),this.$shadow.on("click",function(){o.zoomOut()}),setTimeout(function(){o.$shadow.addClass("zoomed")},10))},Zoomify.prototype.removeShadow=function(){var o=this;this.$shadow&&(this.addTransition(this.$shadow),this.$shadow.removeClass("zoomed"),this.$image.one("zoom-out-complete.zoomify",function(){o.$shadow&&o.$shadow.remove(),o.$shadow=null}))},z.fn.zoomify=function(t){return this.each(function(){var o=z(this),i=o.data("zoomify");i||o.data("zoomify",i=new Zoomify(this,"object"==typeof t&&t)),"string"==typeof t&&0<=["zoom","zoomIn","zoomOut","reposition"].indexOf(t)&&i[t]()})}}(jQuery); \ No newline at end of file diff --git a/custom_theme/assets/stylesheets/custom_theme.css b/custom_theme/assets/stylesheets/custom_theme.css index e8c1200c..4f7c0001 100644 --- a/custom_theme/assets/stylesheets/custom_theme.css +++ b/custom_theme/assets/stylesheets/custom_theme.css @@ -47,7 +47,7 @@ .md-footer a[href^="http"]:after, .feedback a[href^="http"]:after, -.md-content a[href^="http"]:not(.md-content__icon):after { +.md-content a[href^="http"]:not(.md-content__icon):not(.md-content__button):after { font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: small; diff --git a/custom_theme/assets/stylesheets/zoomify.min.css b/custom_theme/assets/stylesheets/zoomify.min.css deleted file mode 100755 index da3efe7e..00000000 --- a/custom_theme/assets/stylesheets/zoomify.min.css +++ /dev/null @@ -1 +0,0 @@ -.zoomify{cursor:pointer;cursor:-webkit-zoom-in;cursor:zoom-in}.zoomify.zoomed{cursor:-webkit-zoom-out;cursor:zoom-out;padding:0;margin:0;border:none;border-radius:0;box-shadow:none;position:relative;z-index:1501}.zoomify-shadow{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:block;z-index:1500;background:rgba(0,0,0 ,.3);opacity:0}.zoomify-shadow.zoomed{opacity:1;cursor:pointer;cursor:-webkit-zoom-out;cursor:zoom-out} \ No newline at end of file diff --git a/custom_theme/assets/zoomify_LICENSE b/custom_theme/assets/zoomify_LICENSE deleted file mode 100644 index 03808281..00000000 --- a/custom_theme/assets/zoomify_LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -LICENCE for included Javascript and CSS code from https://github.com/indrimuska/zoomify -See javascripts/zoomify.min.js and stylesheets/zoomify.min.css - -The MIT License (MIT) - -Copyright (c) 2015 Indri Muska - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/custom_theme/main.html b/custom_theme/main.html index bb0cad75..286e1e02 100644 --- a/custom_theme/main.html +++ b/custom_theme/main.html @@ -15,11 +15,8 @@
{{config.extra.latest_version_warning.text}}
{% endblock %} -{% block analytics %} - {% include "partials/integrations/analytics.html" %} -{% endblock %} - {% block config %} + {{ super() }} {% if config.plugins.search %} + })(window,document,'script','dataLayer','{{config.extra.analytics.tag_manager}}'); {% endif %} diff --git a/custom_theme/partials/logo.html b/custom_theme/partials/logo.html index 057c469a..2040ddaa 100644 --- a/custom_theme/partials/logo.html +++ b/custom_theme/partials/logo.html @@ -1,22 +1,3 @@ - - {% if config.theme.logo %} {% else %} diff --git a/custom_theme/partials/nav.html b/custom_theme/partials/nav.html index 35698a5b..829cd3f7 100644 --- a/custom_theme/partials/nav.html +++ b/custom_theme/partials/nav.html @@ -1,16 +1,16 @@ -{% set site_url = config.site_url | default(nav.homepage.url, true) | url %} -{% if not config.use_directory_urls and site_url[0] == site_url[-1] == "." %} - {% set site_url = site_url ~ "/index.html" %} +{% set class = "md-nav md-nav--primary" %} +{% if "navigation.tabs" in features %} + {% set class = class ~ " md-nav--lifted" %} {% endif %} -