diff --git a/.github/actions/hugo-build-versioned-action/action.yaml b/.github/actions/hugo-build-versioned-action/action.yaml
index 8f36cce2f..b815c19b3 100644
--- a/.github/actions/hugo-build-versioned-action/action.yaml
+++ b/.github/actions/hugo-build-versioned-action/action.yaml
@@ -80,4 +80,4 @@ runs:
HUGO_ENV: ${{ inputs.hugo-env }}
shell: bash
run: |
- hugo --minify ${BASE_URL:+--baseURL $BASE_URL}
+ hugo_env=public hugo --minify ${BASE_URL:+--baseURL $BASE_URL}
diff --git a/.github/workflows/netlify-deploy-v2.yaml b/.github/workflows/netlify-deploy-v2.yaml
index 07ebe55c7..d311945f1 100644
--- a/.github/workflows/netlify-deploy-v2.yaml
+++ b/.github/workflows/netlify-deploy-v2.yaml
@@ -126,7 +126,7 @@ jobs:
working-directory: ./docs
env:
HUGO_ENV: production
- run: hugo --minify
+ run: hugo_env=public hugo --minify
- name: Publish (draft)
uses: netlify/actions/cli@master
with:
diff --git a/docs/assets/icons/chevron-menu.svg b/docs/assets/icons/chevron-menu.svg
deleted file mode 100644
index 94675f40b..000000000
--- a/docs/assets/icons/chevron-menu.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/docs/assets/icons/chevron.svg b/docs/assets/icons/chevron.svg
deleted file mode 100644
index 5ea1d731e..000000000
--- a/docs/assets/icons/chevron.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/docs/assets/icons/docs-icon.svg b/docs/assets/icons/docs-icon.svg
deleted file mode 100644
index e8a46bba6..000000000
--- a/docs/assets/icons/docs-icon.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- Icon Docs & APIs 2
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/assets/icons/slack.svg b/docs/assets/icons/slack.svg
deleted file mode 100644
index 19ecf2b01..000000000
--- a/docs/assets/icons/slack.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/assets/js/base.js b/docs/assets/js/base.js
deleted file mode 100644
index e69de29bb..000000000
diff --git a/docs/assets/json/offline-search-index.json b/docs/assets/json/offline-search-index.json
deleted file mode 100644
index c4d5e0e41..000000000
--- a/docs/assets/json/offline-search-index.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{{- $.Scratch.Add "offline-search-index" slice -}}
-{{- $pages := where .Site.AllPages ".Params.exclude_search" "!=" true -}}
-{{- if eq hugo.Environment "public" -}}
-{{- $.Scratch.Add "filtered" (where $pages "Section" "!=" "docs") -}}
-{{- else -}}
-{{- $.Scratch.Add "filtered" $pages -}}
-{{- end -}}
-{{- range $.Scratch.Get "filtered" -}}
-{{/* We have to apply `htmlUnescape` again after `truncate` because `truncate` applies `html.EscapeString` if the argument is not HTML. */}}
-{{/* Indvidual taxonomies can be added in the next line by add '"taxonomy-name" (.Params.taxonomy-name | default "")' to the dict (as seen for categories and tags). */}}
-{{- $.Scratch.Add "offline-search-index" (dict "ref" .RelPermalink "title" .Title "categories" (.Params.categories | default "") "tags" (.Params.tags | default "") "description" (.Description | default "") "body" (.Plain | htmlUnescape) "excerpt" ((.Description | default .Plain) | htmlUnescape | truncate (.Site.Params.offlineSearchSummaryLength | default 70) | htmlUnescape)) -}}
-{{- end -}}
-{{- $.Scratch.Get "offline-search-index" | jsonify -}}
diff --git a/docs/assets/scss/_local-overrides.scss b/docs/assets/scss/_local-overrides.scss
new file mode 100644
index 000000000..5ab062715
--- /dev/null
+++ b/docs/assets/scss/_local-overrides.scss
@@ -0,0 +1,227 @@
+// Project-local overrides layered on top of gooddata-docs-theme.
+
+@import "variables/variables";
+
+// ---------------------------------------------------------------------------
+// Header — custom GitHub button + icon spacing (not provided by the theme)
+// ---------------------------------------------------------------------------
+.gd-docs-header-nav {
+ &__secondary,
+ &__slack {
+ svg {
+ margin-right: 10px;
+ }
+ }
+
+ &__github {
+ align-self: center;
+ color: $color-black;
+ border-color: $color-black;
+ font-size: 14px;
+ line-height: 1;
+ height: 2rem;
+ padding: 0.5rem 0.8rem;
+
+ &,
+ &:hover,
+ &:focus,
+ &:active {
+ background-color: $color-white;
+ }
+
+ &:hover,
+ &:focus,
+ &:active {
+ color: $color-marlin-black;
+ border-color: $color-marlin-black;
+ }
+
+ &:focus {
+ box-shadow: 0 0 0 0.2rem rgba($color-black, 0);
+ }
+
+ svg {
+ margin-right: 10px;
+ }
+ }
+}
+
+// Dark mode — outlined header buttons (GitHub + Ask AI, which share the
+// __github class) match the theme's secondary/slack buttons: lime-green
+// outline, filled lime-green on hover.
+[data-theme="dark"] {
+ .gd-docs-header-nav__github,
+ .ask-ai-button {
+ color: $color-lime-green;
+ border-color: $color-lime-green;
+ background-color: transparent;
+
+ &:hover,
+ &:focus,
+ &:active {
+ color: $color-black;
+ border-color: $color-lime-green;
+ background-color: $color-lime-green;
+ }
+
+ svg path {
+ fill: currentColor;
+ }
+ }
+}
+
+// ---------------------------------------------------------------------------
+// Alert — tighter padding + custom warning label variant
+// ---------------------------------------------------------------------------
+.alert,
+.td-content > blockquote {
+ padding: 10px 10px 10px 45px;
+}
+
+// The icon is absolutely positioned by the theme for its larger 68px/24px
+// padding; re-anchor it to match the tighter padding above.
+.alert > svg {
+ top: 13px;
+ left: 15px;
+}
+
+.alert-label-warning {
+ border-left-color: $color-alert-warning !important;
+ background-color: $color-alert-warning-bg;
+ color: black;
+
+ a {
+ &,
+ &:hover,
+ &:focus,
+ &:active {
+ color: black;
+ text-decoration: underline;
+ }
+ }
+
+ svg path {
+ fill: $color-alert-warning !important;
+ }
+
+ &::before {
+ background-color: $color-alert-warning !important;
+ }
+}
+
+// ---------------------------------------------------------------------------
+// Tooltip — custom dark tooltip for all arrow directions.
+// NOTE: kept deep-purple to preserve the previous look; swap to $color-tooltip
+// to track the rebranded theme default.
+// ---------------------------------------------------------------------------
+.tooltip {
+ font-family: inherit;
+
+ .tooltip-inner {
+ padding: 12px 15px;
+ max-width: 300px;
+ font-family: inherit;
+ color: $color-white;
+ text-align: center;
+ background-color: $color-deep-purple;
+ }
+
+ &.bs-tooltip-top .tooltip-arrow::before,
+ &.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
+ border-top-color: $color-deep-purple;
+ }
+
+ &.bs-tooltip-right .tooltip-arrow::before,
+ &.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
+ border-right-color: $color-deep-purple;
+ }
+
+ &.bs-tooltip-bottom .tooltip-arrow::before,
+ &.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
+ border-bottom-color: $color-deep-purple;
+ }
+
+ &.bs-tooltip-left .tooltip-arrow::before,
+ &.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
+ border-left-color: $color-deep-purple;
+ }
+}
+
+// Fallback for older Bootstrap markup (non-nested arrow selectors)
+.bs-tooltip-top .tooltip-arrow::before,
+.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
+ border-top-color: $color-deep-purple;
+}
+.bs-tooltip-right .tooltip-arrow::before,
+.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
+ border-right-color: $color-deep-purple;
+}
+.bs-tooltip-bottom .tooltip-arrow::before,
+.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
+ border-bottom-color: $color-deep-purple;
+}
+.bs-tooltip-left .tooltip-arrow::before,
+.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
+ border-left-color: $color-deep-purple;
+}
+
+// ---------------------------------------------------------------------------
+// Tables — custom table styling (compact, no row striping, scrollable wide)
+// ---------------------------------------------------------------------------
+.table-responsive,
+.td-content {
+ table {
+ font-size: 14px;
+
+ th,
+ td {
+ padding: 10px;
+ border: 1px solid $color-gray-bg;
+ }
+
+ thead {
+ th {
+ border-bottom: 1px solid $color-gray-bg;
+ background-color: $color-gray-bg;
+ }
+ }
+
+ tbody {
+ tr {
+ &:nth-child(even),
+ &:nth-child(odd) {
+ background: none;
+ }
+ }
+ }
+ }
+}
+
+.table-responsive {
+ @include media-breakpoint-up(lg) {
+ max-width: 80%;
+ }
+
+ &__inner {
+ overflow: auto;
+ display: flex;
+ }
+
+ &__wide {
+ position: relative;
+
+ &::after {
+ content: "";
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ width: 20px;
+ background: linear-gradient(90deg, rgba($color-white, 0) 0%, rgba($color-white, 1) 100%);
+ }
+ }
+
+ &__wide &__inner {
+ padding-right: 20px;
+ }
+}
diff --git a/docs/assets/scss/_styles_project.scss b/docs/assets/scss/_styles_project.scss
index 56029cb63..181787e9e 100644
--- a/docs/assets/scss/_styles_project.scss
+++ b/docs/assets/scss/_styles_project.scss
@@ -1,10 +1,12 @@
-// Import external styles TODO: link those directly from gooddata/gdc-website repository
+// Functions, mixins and variables (resolved from the gooddata-docs-theme module)
@import "functions/functions.pxtorem";
@import "mixins/mixins.media-queries";
@import "variables/variables.colors";
@import "variables/variables.media-queries";
-// Local styles
+// Component styles (all resolved from the theme module; local shadow copies
+// have been removed). Project-specific tweaks live in _local-overrides.scss,
+// which is imported last so it layers on top of these.
@import "typography";
@import "header";
@import "breadcrumbs";
@@ -31,6 +33,13 @@
@import "skip-links";
@import "heading-anchor";
@import "ask-ai-button";
+@import "theme-switcher";
+
+// Project-local overrides — must come after all theme component imports above.
+@import "local-overrides";
+
+// Dark-mode overrides — must come last so [data-theme="dark"] rules win.
+@import "dark-theme";
#print {
display: none; // Hide print functionality for now
@@ -44,4 +53,33 @@
&-buttons svg {
vertical-align: top;
}
+
+ // Mirrored from the theme's _styles_project.scss (which this file shadows).
+ // Match the live www.gooddata.ai footer; selectors must outrank
+ // learn-assets Footer.css, which loads after the theme stylesheet.
+ .gd-footer-buttons {
+ gap: 12px;
+ }
+
+ .gd-footer-buttons-item {
+ margin: 0;
+ }
+
+ .gd-footer-buttons-item-icon-button {
+ width: 48px;
+ height: 48px;
+ }
+
+ @media only screen and (min-width: 993px) {
+ .gd-footer-banner-links .gd-footer-banner-links-item {
+ padding: 80px 40px;
+ }
+ }
+
+ .gd-footer-banner-links-item-wrap {
+ p {
+ margin: 32px 0 24px;
+ line-height: 24px;
+ }
+ }
}
diff --git a/docs/assets/scss/alert.scss b/docs/assets/scss/alert.scss
deleted file mode 100644
index d7ee8ff53..000000000
--- a/docs/assets/scss/alert.scss
+++ /dev/null
@@ -1,120 +0,0 @@
-@import "variables/variables";
-
-.alert,
-.td-content > blockquote {
- padding: 10px 10px 10px 45px;
- border: none;
- border-left: $alert-border-width solid $color-gray-tag;
- border-radius: 0;
- color: $color-alert;
- background-color: $color-alert-bg;
-}
-
-.alert {
- position: relative;
-
- &-heading {
- color: $color-gray-tag;
-
- .td-content & {
- margin-top: 10px;
- margin-bottom: 5px;
- }
- }
-
- &-primary {
- border-left-color: $color-gray-tag;
- color: $color-deep-purple;
- }
-
- &-primary &-heading {
- color: $color-deep-purple;
- }
-
- &-info {
- border-left-color: $color-alert-info;
- color: $color-deep-purple;
- background-color: $color-alert-info-bg;
- }
-
- &-info &-heading {
- color: $color-alert-info;
- }
-
- &-warning {
- border-left-color: $color-alert-warning;
- background-color: $color-alert-warning-bg;
- }
-
- &-warning &-heading {
- color: $color-alert-warning;
- }
-
- &-label {
- padding-top: 8px;
- padding-bottom: 8px;
- border-left-color: transparent;
- color: $color-white;
- background-color: $color-deep-purple;
-
- &::before {
- content: "";
- position: absolute;
- top: 0;
- left: -$alert-border-width;
- bottom: 0;
- width: $alert-border-width;
- border-left: $alert-border-width solid rgba($color-deep-purple, 0.3);
- background-color: $color-white;
- }
-
- svg {
- position: absolute;
- top: 13px;
- left: 15px;
- }
-
- strong {
- font-family: $gdfont-demibold;
- }
-
- a {
- &,
- &:hover,
- &:focus,
- &:active {
- color: $color-white;
- text-decoration: underline;
- }
- }
-
- &-warning {
- border-left-color: $color-alert-warning !important;
- background-color: $color-alert-warning-bg;
- color: black;
-
- a {
- &,
- &:hover,
- &:focus,
- &:active {
- color: black;
- text-decoration: underline;
- }
- }
- svg path {
- fill: $color-alert-warning !important;
- }
-
- &::before{
- background-color: $color-alert-warning !important;
- }
-
- }
- }
-}
-
-.td-content .alert.alert-label {
- margin-top: 1.5rem;
- margin-bottom: 1.5rem;
-}
diff --git a/docs/assets/scss/content-select.scss b/docs/assets/scss/content-select.scss
deleted file mode 100644
index 5c381819d..000000000
--- a/docs/assets/scss/content-select.scss
+++ /dev/null
@@ -1,62 +0,0 @@
-@import "variables/variables";
-
-.gd-docs-content-select,
-.highlight {
- @include mq(xxx-large) {
- width: 80%;
- }
-}
-
-.gd-docs-content-select {
- display: flex;
- flex-direction: column;
- margin-top: 45px;
-
- &__tabs {
- width: 100%;
- display: flex;
- align-self: flex-start;
- z-index: 1;
- margin-bottom: -1px;
- }
-
- &__tab {
- padding: 10px 20px 11px;
- border-top: 1px solid transparent;
- border-left: 1px solid transparent;
- border-right: 1px solid transparent;
- border-top-left-radius: 4px;
- border-top-right-radius: 4px;
- color: rgba($color-deep-purple, 0.5);
- font-family: $gdfont-demibold;
- font-size: 14px;
- line-height: 1.25;
- cursor: pointer;
-
- &:hover,
- &:active,
- &:focus,
- &.active {
- color: $color-deep-purple;
- }
-
- &.active {
- border-color: $color-dove-gray;
- background-color: $color-white;
- }
- }
-}
-
-.gd-docs-content__block {
- display: none;
- padding: 24px;
- border: 1px solid $color-dove-gray;
-
- &.active {
- display: block;
- }
-
- .highlight {
- width: 100%;
- }
-}
diff --git a/docs/assets/scss/functions/_functions.pxtorem.scss b/docs/assets/scss/functions/_functions.pxtorem.scss
deleted file mode 100755
index c94b4ec75..000000000
--- a/docs/assets/scss/functions/_functions.pxtorem.scss
+++ /dev/null
@@ -1,15 +0,0 @@
-// -------------------------------------
-// pixels to rems
-// -------------------------------------
-
-@function pxtorem($pixels) {
- @if ($pixels == 0) {
- @return 0;
- }
-
- @if (unit($pixels) == "px") {
- @return $pixels / 16px * 1rem;
- } @else {
- @error "passed value must be in pixels or equal to zero";
- }
-}
diff --git a/docs/assets/scss/header.scss b/docs/assets/scss/header.scss
deleted file mode 100644
index 41ca0cf4f..000000000
--- a/docs/assets/scss/header.scss
+++ /dev/null
@@ -1,346 +0,0 @@
-// (C) 2023 GoodData Corporation
-@import "variables/variables";
-
-.gd-docs-header {
- &-tag {
- display: block;
- margin-left: 30px;
- padding: 4px 10px;
- border-radius: 50px;
- color: $color-white;
- font-family: $gdfont-demibold;
- font-size: 14px;
- line-height: 19px;
- background: #94A1AE;
- }
-
- &-breadcrumb {
- display: flex;
- align-items: center;
- color: #2F3336;
- font-size: 14px;
- line-height: 30px;
- opacity: 0.8;
-
- svg {
- margin-right: 10px;
- }
- }
-}
-
-.gd-docs-header-nav {
- position: fixed;
- right: 0;
- left: 0;
- z-index: 32;
- display: flex;
- flex-wrap: nowrap;
- justify-content: space-between;
- align-items: center;
- padding: 0 20px;
-
- &__menu {
- overflow-y: auto;
- }
-
- &__desktop {
- display: flex;
- min-width: 55px;
- nav {
- display: none;
- @include mq(large) {
- display: block;
- }
- }
- }
-
- &__mobile {
- display: block;
- @include mq(large) {
- display: none;
- }
- }
-
- &__first {
- top: 0;
- min-height: $header-first-nav-height;
- background-color: $color-white;
- z-index: 35;
-
- &.td-navbar-cover {
- background-color: $color-white !important;
- }
- }
-
- &__second {
- top: $header-first-nav-height;
- height: $header-second-nav-height;
- background: $color-mist-gray;
- border-bottom: 1px solid transparentize($color-black, 0.8);
- border-top: 1px solid transparentize($color-black, 0.8);
- }
-
- &__first &__left,
- &__first &__right {
- @include mq(xxx-large) {
- min-width: 380px;
- }
- }
-
- &__second &__left,
- &__desktop,
- &__second &__right {
- flex: 0 0 auto;
-
- @include mq(x-large) {
- flex: 1 0 0;
- }
- }
-
- &__second &__left {
- min-width: 55px;
- align-self: stretch;
- }
-
- &__second &__center {
- flex: 1 0 13%;
- }
-
- &__left {
- display: flex;
- }
-
- &__right {
- display: none;
- text-align: right;
-
- @include mq(x-large) {
- display: flex;
- justify-content: flex-end;
- }
- }
-
- &__title {
- display: none;
- font-size: 14px;
-
- @include mq(medium) {
- display: block;
- }
-
- svg {
- width: 24px;
- height: 24px;
- margin-right: 10px;
-
- g {
- fill: $color-deep-purple;
- }
- }
- }
-
- &__cta {
- display: flex;
- align-items: center;
- height: 2.5rem;
- padding: .56rem 1.06rem;
- border: 1px solid transparent;
- border-radius: 40px;
- font-family: $gdfont-demibold;
- font-size: 18px;
- font-weight: normal;
- line-height: 1.375;
- background-color: $color-shocking-pink;
- transition: $transition;
-
- &,
- &:hover,
- &:focus,
- &:active {
- color: $color-white;
- text-decoration: none;
- }
-
- &:hover,
- &:focus,
- &:active {
- background-color: $color-shocking-pink-dark;
- }
-
- & + & {
- margin-left: 1rem;
- }
-
- svg {
- margin-right: 10px;
- }
- }
-
- &__secondary,
- &__slack {
- color: $color-deep-purple;
- border-color: $color-deep-purple;
-
- &,
- &:hover,
- &:focus,
- &:active {
- background-color: $color-white;
- }
-
- &:hover,
- &:focus,
- &:active {
- color: desaturate(lighten($color-deep-purple, 30%), 40%);
- border-color: desaturate(lighten($color-deep-purple, 30%), 40%);
- }
-
- &:focus {
- box-shadow: 0 0 0 0.2rem rgba($color-deep-purple, 0);
- }
-
- svg {
- margin-right: 10px;
- }
- }
-
- &__github {
- align-self: center;
- color: $color-deep-purple;
- border-color: $color-deep-purple;
- font-size: 14px;
- line-height: 1;
- height: 2rem;
- padding: 0.5rem 0.8rem;
-
- &,
- &:hover,
- &:focus,
- &:active {
- background-color: $color-white;
- }
-
- &:hover,
- &:focus,
- &:active {
- color: desaturate(lighten($color-deep-purple, 30%), 40%);
- border-color: desaturate(lighten($color-deep-purple, 30%), 40%);
- }
-
- &:focus {
- box-shadow: 0 0 0 0.2rem rgba($color-deep-purple, 0);
- }
-
- svg {
- margin-right: 10px;
- }
- }
-
- &__search {
- position: relative;
- align-items: center;
- justify-content: center;
- }
-
- .gd-docs-edition-switch, .gd-docs-language-switch {
- @include mq(large) {
- display: flex;
- }
- display: none;
- }
-}
-
-.td-search-input {
- width: 100%;
- max-width: 650px;
- height: 36px;
- margin: 0;
- padding: 1px 15px;
- border-radius: 20px;
- color: $color-deep-purple;
- font-size: 14px;
- background: $color-white;
-
- &,
- &.form-control:focus {
- border: 1px solid transparentize($color-black, 0.8);
- outline: none;
- box-shadow: none;
- }
-}
-
-.gd-header-mobile-menu-trigger {
- margin-bottom: 0;
- border: none;
- &:focus-visible {
- border: 2px solid;
- }
-}
-
-.search-result-close-button {
- margin-left: 10px;
-}
-
-.nav-link {
- display: inline-flex;
- align-items: center;
- height: $header-second-nav-height - 2px;
- padding: 12px 10px;
- color: transparentize($color-black, 0.3);
- font-weight: bold;
- font-size: 15px;
- line-height: 32px;
-
- &::after {
- content: url("../img/dropdown.svg");
- width: 12px;
- height: 8px;
- line-height: 8px;
- margin-top: -1px;
- margin-left: 8px;
- border: none;
- }
-
- &:hover,
- &:focus,
- &:active {
- color: $color-black;
- }
-
- .show & {
- background-color: $color-gray-bg;
-
- &::after {
- margin-top: 2px;
- transform: rotate(180deg);
- }
- }
-}
-
-.dropdown-menu {
- margin-top: -1px;
- padding: 10px 0;
- border: none;
- border-radius: 0 0 3px 3px;
- box-shadow: 0 2px 3px 0 transparentize($color-black, 0.7);
-}
-
-.dropdown-item {
- padding: 2px 25px;
-
- &,
- &.active {
- color: $color-black;
- }
-
- &:hover,
- &:focus,
- &:active {
- text-decoration: underline;
- background: transparent;
- }
-
- &.active {
- background: $color-gray-bg;
- }
-}
diff --git a/docs/assets/scss/homepage.scss b/docs/assets/scss/homepage.scss
deleted file mode 100644
index 47bcaecab..000000000
--- a/docs/assets/scss/homepage.scss
+++ /dev/null
@@ -1,237 +0,0 @@
-@import "variables/variables";
-@import "homepage/box";
-@import "homepage/hosted";
-@import "homepage/learn";
-@import "homepage/slack";
-@import "homepage/sections-list";
-@import "homepage/icons";
-
-.container {
- @include mq(x-large) {
- max-width: 1400px;
- }
-}
-
-.td-box {
- text-align: center;
-
- &--gray {
- color: inherit;
- background-color: $color-bg-gray;
- }
-
- .row {
- padding-left: 0;
- padding-right: 0;
- }
-
- .links {
- max-width: 500px;
- margin: auto;
-
- @include mq(medium) {
- max-width: 1200px;
- }
-
- h2 {
- margin-bottom: 50px;
- }
-
- p {
- display: flex;
- flex-wrap: wrap;
- text-align: left;
-
- a {
- flex: 1 1 auto;
- width: 100%;
- padding: 10px;
- font-weight: bold;
- text-decoration: underline;
-
- &::after {
- content: url("../img/arrow-right.svg");
- position: relative;
- top: 2px;
- margin-left: 10px;
- vertical-align: top;
- }
-
- @include mq(medium) {
- width: 50%;
- }
- }
- }
- }
-
- .gray-box {
- padding: 25px 32px;
- background-color: $color-bg-gray;
- }
-}
-
-.td-cover-block {
- min-height: 280px;
- margin-top: $header-height;
-
- td-cover-block-0 {
- padding: 50px 15px;
- background-image: url("../cover-background.svg");
-
- @include mq(x-large) {
- background-image: url("../cover-background.svg");
- }
- }
-
- &,
- h1 {
- color: $color-white;
- }
-
- p {
- margin: 0;
- font-size: 1.5rem;
- }
-
- .lead {
- padding: 2rem 0 !important;
- }
-}
-
-.gd-docs-button {
- display: inline-block;
- padding: .28125rem 1.25rem;
- border: 2px solid $color-deep-purple;
- border-radius: 50px;
- color: $color-deep-purple;
- font-size: 18px;
- font-weight: bold;
- line-height: 1.5;
- white-space: nowrap;
- background-color: transparent;
- transition: $transition;
-
- &,
- &:hover,
- &:focus,
- &:active {
- text-decoration: none;
- }
-
- &:hover,
- &:focus,
- &:active {
- color: desaturate(lighten($color-deep-purple, 30%), 40%);
- border-color: desaturate(lighten($color-deep-purple, 30%), 40%);
- }
-}
-
-.c-video-thumbnail {
- picture {
- //margin-top: 20px;
- position: relative;
- display: inline-block;
- max-width: 842px;
-
- &:before {
- content: '';
- position: absolute;
- top: 50%;
- left: 50%;
- width: 64px;
- height: 64px;
- margin-top: -32px;
- margin-left: -32px;
- background: rgba(28, 13, 63, 0.6);
- background-image: url('../img/video-play.svg');
- background-position: 23px center;
- background-size: 23px 29px;
- background-repeat: no-repeat;
- backdrop-filter: blur(24px);
- border-radius: 50%;
-
- @include mq(large) {
- width: 138px;
- height: 138px;
- margin-top: -74px;
- margin-left: -74px;
- background-size: 54px 68px;
- background-position: 47px center;
- }
- }
- }
-}
-
-.homepage-card {
- width: 100%;
- padding: 24px;
- margin-bottom: 24px;
- border-radius: 12px;
- background-color: $color-mist-gray;
-
- &__hasIcon {
- position: relative;
- }
-
- &__iconLeft {
- padding-left: 88px;
- }
-
- &__icon {
- display: block;
- width: 48px;
- height: 48px;
- margin-bottom: 16px;
-
- svg {
- max-width: 100%;
- max-height: 100%;
- }
- }
-
- &__iconLeft &__icon {
- position: absolute;
- top: 24px;
- left: 24px;
- }
-
- &__sectionLink {
- color: $color-deep-purple;
-
- &,
- &:hover,
- &:focus,
- &:active {
- text-decoration: none;
-
- p {
- color: $color-deep-purple;
- }
- }
-
- &:hover,
- &:focus,
- &:active {
- color: $color-shocking-pink;
-
- svg path {
- fill: currentColor;
- }
- }
- }
-
- a {
- display: block;
- }
-
- & p#{&}__title {
- margin-top: 0;
- font-size: 1.125em;
- font-family: bca6d3310b5c9dae1dae416e8abc8405,helvetica,arial,sans-serif;
- line-height: 1.2;
- }
-
- p:last-child {
- margin-bottom: 0;
- }
-}
diff --git a/docs/assets/scss/homepage/box.scss b/docs/assets/scss/homepage/box.scss
deleted file mode 100644
index de37be15e..000000000
--- a/docs/assets/scss/homepage/box.scss
+++ /dev/null
@@ -1,41 +0,0 @@
-@import "variables/variables";
-
-.gd-docs-homepage-box {
- &__inner {
- position: relative;
- display: flex;
- flex-direction: column;
- height: 100%;
- padding-left: 106px;
-
- &.white {
- margin-bottom: 40px;
- padding: 30px;
- border-radius: 4px;
- box-shadow: 0 10px 30px 0 transparentize($color-black, 0.9);
- background: $color-white;
- }
- }
-
- &__icon {
- position: absolute;
- top: 0;
- left: 0;
- }
-
- &__title {
- flex: 0 0 auto;
- height: 50px;
- line-height: 25px;
- }
-
- &__text {
- flex: 1 0 auto;
- }
-
- &__link {
- color: $color-shocking-pink;
- font-weight: bold;
- text-decoration: underline;
- }
-}
diff --git a/docs/assets/scss/homepage/hosted.scss b/docs/assets/scss/homepage/hosted.scss
deleted file mode 100644
index dc20f70e6..000000000
--- a/docs/assets/scss/homepage/hosted.scss
+++ /dev/null
@@ -1,39 +0,0 @@
-.gd-docs-homepage-hosted {
- &__inner {
- flex-direction: column;
- align-items: center;
- width: 100%;
-
- @include mq(large) {
- flex-direction: row;
- align-items: flex-start;
- }
- }
-
- &__icon {
- flex: 0 0 auto;
- margin-right: 20px;
-
- @include mq(large) {
- align-self: flex-start;
- }
- }
-
- &__content {
- margin: 20px 0;
-
- @include mq(large) {
- margin-top: 0;
- margin-right: 50px;
- }
- }
-
- &__links {
- align-self: center;
- text-align: center;
- }
-
- &__text {
- margin-bottom: 0;
- }
-}
diff --git a/docs/assets/scss/homepage/icons.scss b/docs/assets/scss/homepage/icons.scss
deleted file mode 100644
index 99b3851ec..000000000
--- a/docs/assets/scss/homepage/icons.scss
+++ /dev/null
@@ -1,49 +0,0 @@
-i {
- &.hosted,
- &.gooddata-ui-documentation,
- &.accelerator-toolkit,
- &.examples-gallery,
- &.interactive-code-samples,
- &.slack,
- &.community,
- &.university {
- display: inline-block;
- width: 80px;
- height: 80px;
- min-width: 80px;
- background-repeat: no-repeat;
- background-position: center;
- }
-
- &.hosted {
- background-image: url("../img/icon-hosted.svg");
- }
-
- &.gooddata-ui-documentation {
- background-image: url("../img/icon-gooddata-ui-documentation.svg");
- }
-
- &.accelerator-toolkit {
- background-image: url("../img/icon-accelerator-toolkit.svg");
- }
-
- &.examples-gallery {
- background-image: url("../img/icon-examples-gallery.svg");
- }
-
- &.interactive-code-samples {
- background-image: url("../img/icon-interactive-code-samples.svg");
- }
-
- &.slack {
- background-image: url("../img/icon-slack.svg");
- }
-
- &.community {
- background-image: url("../img/icon-community.svg");
- }
-
- &.university {
- background-image: url("../img/icon-university.svg");
- }
-}
diff --git a/docs/assets/scss/homepage/learn.scss b/docs/assets/scss/homepage/learn.scss
deleted file mode 100644
index 08d4082b3..000000000
--- a/docs/assets/scss/homepage/learn.scss
+++ /dev/null
@@ -1,67 +0,0 @@
-.gd-docs-homepage-learn {
- padding-bottom: 40px;
-
- &__inner {
- &.white {
- margin-bottom: 0;
- }
- }
-
- &__content {
- padding-top: 20px;
- display: flex;
- flex-direction: column;
-
- @include mq(medium) {
- height: 100%;
- }
- }
-
- &__icon {
- margin-right: 20px;
- }
-
- &__text {
- flex: 1 1 auto;
-
- @include mq(medium) {
- margin-bottom: 70px;
- }
- }
-
- &__links {
- margin-top: 20px;
- }
-
- &__button {
- position: relative;
- margin: 20px auto 0;
- align-self: center;
-
- @include mq(medium) {
- align-self: flex-start;
- margin: -51px 15px 0;
-
- &.gd-docs-button {
- padding-left: 30px;
- padding-right: 30px;
- }
- }
- }
-
- &__links {
- p {
- margin: 0;
- line-height: 35px;
-
- a {
- font-weight: bold;
- text-decoration: underline;
- }
- }
- }
-
- .row {
- padding: 0;
- }
-}
diff --git a/docs/assets/scss/homepage/sections-list.scss b/docs/assets/scss/homepage/sections-list.scss
deleted file mode 100644
index c1816f189..000000000
--- a/docs/assets/scss/homepage/sections-list.scss
+++ /dev/null
@@ -1,77 +0,0 @@
-@import "variables/variables";
-
-.gd-docs-homepage-sections-list {
- margin-top: 50px;
-
- &__section {
- display: flex;
- height: 100%;
- padding: 20px;
- border-radius: 4px;
- background-color: $color-white;
- box-shadow: 0 0 15px 0 transparentize($color-black, 0.92);
- }
-
- &__sectionLeft {
- display: flex;
- flex: 0 0 auto;
- justify-content: center;
- align-items: center;
- width: 80px;
- height: 80px;
- margin-right: 20px;
- }
-
- &__sectionRight {
- display: flex;
- flex-direction: column;
- flex: 1 1 auto;
- padding: 15px;
- text-align: left;
- }
-
- &__title {
- flex: 0 0 auto;
- min-height: 2.64rem;
- }
-
- &__description {
- flex: 1 1 auto;
- }
-
- &__link {
- line-height: 2;
- font-weight: bold;
- text-decoration: underline;
- }
-
- &-promoted-links {
- list-style-type: none;
- margin: 0;
- padding: 0;
-
- &__title {
- &,
- .td-home & {
- margin-top: 20px;
- margin-bottom: 0;
- font-size: 1.1rem;
- text-transform: none;
- }
- }
-
- &__item {
- font-size: 0.9rem;
- line-height: 2.1;
- }
-
- &__link {
- font-weight: bold;
- text-decoration: underline;
- }
- }
-
- .col {
- padding: 15px;
- }
-}
diff --git a/docs/assets/scss/homepage/slack.scss b/docs/assets/scss/homepage/slack.scss
deleted file mode 100644
index b091dd3c9..000000000
--- a/docs/assets/scss/homepage/slack.scss
+++ /dev/null
@@ -1,87 +0,0 @@
-@import "variables/variables";
-
-.gd-docs-homepage-slack {
- padding-bottom: 40px;
-
- &__inner {
- display: flex;
- align-items: flex-start;
-
- &.white {
- margin-bottom: 0;
- }
-
- @include mq(x-large) {
- flex-direction: row;
- }
- }
-
- &__left {
- flex: 1 1 auto;
-
- @include mq(x-large) {
- max-width: 450px;
- }
- }
-
- &__icon {
- margin-right: 20px;
- }
-
- &__title {
- max-width: 350px;
-
- @include mq(x-large) {
- margin-right: 20px;
- }
- }
-
- &__text {
- flex: 1 1 auto;
-
- @include mq(x-large) {
- margin-right: 50px;
- }
- }
-
- &__buttonWrapper {
- flex: 0;
- align-self: center;
- text-align: center;
-
- @include mq(x-large) {
- align-self: flex-start;
- text-align: left;
- }
- }
-
- &__button {
- align-self: center;
- margin-bottom: 8px;
- }
-
- .row {
- padding: 0;
- }
-
- #pactsafe-container {
- .ps-contract {
- padding-bottom: 0;
- color: transparentize($color-black, 0.3);
- font-size: 12px;
-
- a {
- font-weight: bold;
- }
- }
- }
-
- [data-all-agreed="false"] ~ &__button {
- cursor: not-allowed;
- user-select: none;
- }
-
- [data-all-agreed="true"] ~ &__button {
- cursor: pointer;
- }
-}
diff --git a/docs/assets/scss/mixins/_mixins.media-queries.scss b/docs/assets/scss/mixins/_mixins.media-queries.scss
deleted file mode 100755
index 6458d50d9..000000000
--- a/docs/assets/scss/mixins/_mixins.media-queries.scss
+++ /dev/null
@@ -1,24 +0,0 @@
-// -------------------------------------
-// Mixin | Media Queries
-// -------------------------------------
-
-@mixin mq($breakpoint-name) {
- // sanitize variable
- $breakpoint-name: unquote($breakpoint-name);
-
- // check if passed name is in $breakpoints-map
- @if map-has-key($breakpoints-map, $breakpoint-name) {
- // get parameters and query
- $breakpoint-params: map-get($breakpoints-map, $breakpoint-name);
- $breakpoint-query: map-get($breakpoint-params, query);
-
- // write media query
- @media #{$breakpoint-query} {
- @content;
- }
-
- // throw error if passed parameter is not a key in $breakpoints-map
- } @else {
- @error "#{$breakpoint-name} is not a key in $breakpoints-map";
- }
-}
diff --git a/docs/assets/scss/prev-next-pages.scss b/docs/assets/scss/prev-next-pages.scss
deleted file mode 100644
index d2b992842..000000000
--- a/docs/assets/scss/prev-next-pages.scss
+++ /dev/null
@@ -1,44 +0,0 @@
-.gd-docs-prev-next-pages {
- display: flex;
- justify-content: space-between;
- margin-top: 20px;
- padding-top: 20px;
- border-top: 1px solid #dde4eb;
-
- &__wrapper {
- flex: 1 1 50%;
- }
-
- &__link {
- position: relative;
- display: block;
- max-width: 100%;
- padding: 0 15px;
- color: $color-shocking-pink;
- font-size: 16px;
- font-weight: bold;
- }
-
- &__chevron {
- position: absolute;
- top: 4px;
- width: 14px;
- height: 14px;
- line-height: 14px;
- text-align: center;
- }
-
- &__prev &__chevron {
- top: 7px;
- left: 0;
- transform: rotate(180deg);
- }
-
- &__next {
- text-align: right;
- }
-
- &__next &__chevron {
- right: 0;
- }
-}
diff --git a/docs/assets/scss/share-dialog.scss b/docs/assets/scss/share-dialog.scss
deleted file mode 100644
index 9ba30429c..000000000
--- a/docs/assets/scss/share-dialog.scss
+++ /dev/null
@@ -1,113 +0,0 @@
-@import "variables/variables";
-
-.gd-docs-share {
- &__button {
- height: 30px;
- margin-bottom: 15px;
- padding: 6px 12px;
- font-size: 14px;
- line-height: 1;
- border: none;
- border-radius: 3px;
- color: $color-deep-purple;
- font-weight: normal;
- background: transparentize($color-share-button, 0.5);
- transition: background 350ms ease;
-
- &,
- &:hover,
- &:focus,
- &:active {
- box-shadow: none !important;
- }
-
- &:hover,
- &:focus,
- &:active {
- background: rgba($color-share-button, .8);
- }
-
- &::before {
- position: relative;
- top: 1px;
- content: url("../img/share.svg");
- margin-right: 8px;
- }
- }
-
- &__dialog {
- width: 250px;
- margin: 0;
- padding: 15px 20px;
- border: none;
- border-radius: 3px;
- box-shadow: 0 1px 14px 0 transparentize($color-black, 0.8);
- }
-
- &__arrow.arrow {
- display: none;
- }
-
- &__header,
- &__body {
- padding: 0;
- }
-
- &__header {
- margin-bottom: 10px;
- border-bottom: none;
- font-weight: bold;
- font-size: 14px;
- line-height: 1.4;
- background-color: transparent;
- }
-
- &__close {
- position: absolute;
- top: 13px;
- right: 18px;
- width: 20px;
- height: 20px;
- background-image: url("../img/close.svg");
- background-position: center;
- background-repeat: repeat;
- cursor: pointer;
- }
-
- &__body {
- margin-bottom: 10px;
- color: $color-black;
- font-size: 13px;
-
- textarea {
- width: 100%;
- height: 40px;
- border: none;
- outline: none;
- resize: none;
- color: $color-black;
- font-family: inherit;
- line-height: 18px;
- word-break: break-all;
- }
- }
-
- &__copy {
- text-decoration: underline;
- cursor: pointer;
-
- &,
- &:hover,
- &:focus,
- &:active {
- color: $color-deep-purple;
- }
-
- &::before {
- position: relative;
- top: 2px;
- content: url("../img/copy.svg");
- margin-right: 8px;
- }
- }
-}
diff --git a/docs/assets/scss/swagger.scss b/docs/assets/scss/swagger.scss
deleted file mode 100644
index 87f72ff97..000000000
--- a/docs/assets/scss/swagger.scss
+++ /dev/null
@@ -1,99 +0,0 @@
-// Fix swagger style broken by theme
-pre.version {
- background-color: initial;
- overflow: hidden;
-}
-
-#ohpen_swagger_ui {
- margin-left: -35px;
-}
-
-#ohpen_swagger_ui .swagger-ui {
- &,
- button,
- input,
- optgroup,
- select,
- textarea,
- label,
- .system-sans-serif,
- .tab li,
- .response-col_status,
- .download-contents,
- .scheme-container .schemes > label,
- .loading-container .loading:after,
- section h3,
- .btn,
- .btn.cancel,
- .dialog-ux .modal-ux-content p,
- .dialog-ux .modal-ux-content h4,
- .dialog-ux .modal-ux-header h3,
- section.models h4,
- section.models h5,
- .model-title,
- .model-deprecated-warning,
- .servers>label,
- table thead tr td,
- table thead tr th,
- .parameter__name,
- .topbar a,
- .topbar .download-url-wrapper .download-url-button,
- .scopes h2,
- .errors-wrapper hgroup h4 {
- font-family: inherit;
- }
-
-
-
- .opblock {
- &-tag {
- &,
- small {
- font-family: inherit;
- }
- }
-
- .opblock-section-header {
- > label,
- h4 {
- font-family: inherit;
- }
- }
-
- & &-summary-method,
- & &-summary-description {
- font-family: inherit;
- }
-
- &-description-wrapper,
- &-external-docs-wrapper,
- &-title_normal {
- &,
- h4,
- p {
- font-family: inherit;
- }
- }
- }
-
- .responses-inner {
- h4,
- h5 {
- font-family: inherit;
- }
- }
-
- li,
- p,
- table,
- h1,
- h2,
- h3,
- h4,
- h5,
- a,
- .title,
- .title small pre {
- font-family: inherit;
- }
-}
diff --git a/docs/assets/scss/tables.scss b/docs/assets/scss/tables.scss
deleted file mode 100644
index 0ed91c86b..000000000
--- a/docs/assets/scss/tables.scss
+++ /dev/null
@@ -1,59 +0,0 @@
-@import "variables/variables";
-
-.table-responsive,
-.td-content {
- table {
- font-size: 14px;
-
- th,
- td {
- padding: 10px;
- border: 1px solid $color-gray-bg;
- }
-
- thead {
- th {
- border-bottom: 1px solid $color-gray-bg;
- background-color: $color-gray-bg;
- }
- }
-
- tbody {
- tr {
- &:nth-child(even),
- &:nth-child(odd) {
- background: none;
- }
- }
- }
- }
-}
-
-.table-responsive {
- @include media-breakpoint-up(lg) {
- max-width: 80%;
- }
-
- &__inner {
- overflow: auto;
- display: flex;
- }
-
- &__wide {
- position: relative;
-
- &::after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- width: 20px;
- background: linear-gradient(90deg, rgba($color-white, 0) 0%, rgba($color-white, 1) 100%);
- }
- }
-
- &__wide &__inner {
- padding-right: 20px;
- }
-}
diff --git a/docs/assets/scss/toc.scss b/docs/assets/scss/toc.scss
deleted file mode 100644
index 283c19715..000000000
--- a/docs/assets/scss/toc.scss
+++ /dev/null
@@ -1,97 +0,0 @@
-@import "variables/variables";
-
-$toc-top: 20px;
-
-.td-page-meta {
- display: none;
-}
-
-.td-toc {
- position: sticky;
- top: $header-height + $toc-top;
- right: 0;
- bottom: 0;
- height: 100%;
- padding: 0 20px;
- border-left: none;
- order: 2;
-
- @include mq(large) {
- top: $header-height-desktop + $toc-top;
- }
-
- @include mq(x-large) {
- top: $header-height-x-big-desktop + $toc-top;
- }
-
- #TableOfContents {
- border-left: 1px solid $color-gray-divider;
-
- a {
- &,
- &:hover,
- &:focus,
- &:active {
- color: #464e56;
- }
-
- &:hover,
- &:focus,
- &:active {
- text-decoration: underline;
- }
- }
-
- &:empty {
- + h3 {
- margin-top: 0;
- }
- }
- }
-
- h3 {
- margin: 35px 0 15px;
- font-size: 21px;
- font-weight: bold;
- }
-}
-
-.td-toc nav,
-.gd-docs-learn-more {
- border-left: 1px solid $color-gray-divider;
-
- ul {
- padding-left: 20px;
- }
-
- li {
- margin: 3px 0;
- }
-
- > ul > li:only-child > ul {
- padding-left: 0;
- }
-
- a {
- padding-bottom: 5px;
- font-size: 15px;
- line-height: 26px;
- }
-}
-
-.gd-docs-learn-more {
- a {
- color: $color-shocking-pink;
- font-weight: bold;
- }
-}
-
-.link-external {
- &::after {
- content: "";
- }
-}
-
-.related-desc {
- font-size: 12px;
-}
diff --git a/docs/assets/scss/tooltip.scss b/docs/assets/scss/tooltip.scss
deleted file mode 100644
index 3a388229d..000000000
--- a/docs/assets/scss/tooltip.scss
+++ /dev/null
@@ -1,61 +0,0 @@
-// (C) 2023 GoodData Corporation
-// Custom tooltip styles
-
-@import "variables/variables";
-
-// Override Bootstrap tooltip background color
-.tooltip {
- font-family: inherit;
-
- .tooltip-inner {
- padding: 12px 15px;
- text-align: left;
- max-width: 300px;
- font-family: inherit;
- color: $color-white;
- text-align: center;
- background-color: $color-deep-purple;
- }
-
- // Override tooltip arrow colors for all directions
- &.bs-tooltip-top .tooltip-arrow::before,
- &.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
- border-top-color: $color-deep-purple;
- }
-
- &.bs-tooltip-right .tooltip-arrow::before,
- &.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
- border-right-color: $color-deep-purple;
- }
-
- &.bs-tooltip-bottom .tooltip-arrow::before,
- &.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
- border-bottom-color: $color-deep-purple;
- }
-
- &.bs-tooltip-left .tooltip-arrow::before,
- &.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
- border-left-color: $color-deep-purple;
- }
-}
-
-// Additional fallback for older Bootstrap versions
-.bs-tooltip-top .tooltip-arrow::before,
-.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
- border-top-color: $color-deep-purple;
-}
-
-.bs-tooltip-right .tooltip-arrow::before,
-.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
- border-right-color: $color-deep-purple;
-}
-
-.bs-tooltip-bottom .tooltip-arrow::before,
-.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
- border-bottom-color: $color-deep-purple;
-}
-
-.bs-tooltip-left .tooltip-arrow::before,
-.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
- border-left-color: $color-deep-purple;
-}
diff --git a/docs/assets/scss/typography.scss b/docs/assets/scss/typography.scss
deleted file mode 100644
index d57ea3a94..000000000
--- a/docs/assets/scss/typography.scss
+++ /dev/null
@@ -1,113 +0,0 @@
-@import "variables/variables";
-
-$font-path-base: "https://www.gooddata.ai";
-
-@font-face {
- font-family: "dc8ebcd096d8d65d80200bbe8e045d86";
- src: url($font-path-base + "/fonts/3b0b43206ff82b5e0ccd8bfb1bcaac76.woff2") format("woff2"),
- url($font-path-base + "/fonts/dc8ebcd096d8d65d80200bbe8e045d86.woff") format("woff");
- font-weight: normal;
- font-style: normal;
-}
-
-@font-face {
- font-family: "bca6d3310b5c9dae1dae416e8abc8405";
- src: url($font-path-base + "/fonts/11c42aac24b0c1dea0b6c3fd9a9d359e.woff2") format("woff2"),
- url($font-path-base + "/fonts/bca6d3310b5c9dae1dae416e8abc8405.woff") format("woff");
- font-weight: normal;
- font-style: normal;
-}
-
-@font-face {
- font-family: "ae2e11957f2c90bcba60dd109b5379f5";
- src: url($font-path-base + "/fonts/8072c81499658513a0f702db8a9ace34.woff2") format("woff2"),
- url($font-path-base + "/fonts/ae2e11957f2c90bcba60dd109b5379f5.woff") format("woff");
- font-weight: normal;
- font-style: normal;
-}
-
-body {
- color: $color-deep-purple;
- font-family: $font-family;
- font-size: 17px;
- line-height: 1.5;
-}
-
-.td-content,
-.td-home {
- h2,
- h3,
- h4 {
- margin-top: 2em;
- margin-bottom: 1em;
-
- &[id] {
- scroll-margin-top: 179px;
- }
-
- &[id]::before {
- display: none;
- }
-
- a {
- text-decoration: none;
- }
- }
-
- h1 {
- font-family: $gdfont-regular;
- font-weight: normal;
- font-size: 2.25em;
- margin-bottom: 1.5rem;
- }
-
- h2 {
- font-family: $gdfont-regular;
- font-weight: normal;
- font-size: 1.75em;
- }
-
- h3 {
- font-family: $gdfont-demibold;
- font-size: 1.375em;
- }
-
- h4 {
- font-family: $gdfont-demibold;
- font-size: 1.125em;
- }
-
- a {
- font-weight: normal;
- }
-
- strong {
- font-family: $gdfont-extrabold;
- font-weight: normal;
- }
-}
-
-a,
-.td-box--gray p > a {
- text-decoration: none;
- color: $color-shocking-pink;
-
- &:hover,
- &:focus,
- &:active {
- color: $color-shocking-pink-dark;
- text-decoration: underline;
- }
-
- .external-link {
- svg {
- position: relative;
- top: -5px;
- margin-left: 5px;
-
- path {
- fill: currentColor;
- }
- }
- }
-}
diff --git a/docs/assets/scss/variables/_variables.colors.scss b/docs/assets/scss/variables/_variables.colors.scss
deleted file mode 100755
index 6aade7442..000000000
--- a/docs/assets/scss/variables/_variables.colors.scss
+++ /dev/null
@@ -1,50 +0,0 @@
-// -------------------------------------
-// Colors
-// -------------------------------------
-
-// Brand
-$color-deep-purple: #1C0D3F;
-$color-indigo: #1B127D;
-$color-cobalt-blue: #2637EF;
-$color-shocking-pink: #CF119C;
-$color-violet: #8104CA;
-$color-jade-green: #A3FFB0;
-$color-emerald-green: #20CA8B;
-
-// Brand grays
-$color-dove-gray: #BFC9D1;
-$color-cloud-gray: #DFE4E8;
-$color-mist-gray: #F2F4F6;
-
-// Old Brand
-$color-blue-white: #E7F7FC;
-$color-blue-light: #14B2E2;
-$color-blue-dark: #1782BE;
-$color-green: #00C18D;
-
-// Layout
-$color-gray-background: #4f4f4f;
-$color-gray-steel: #4A6172;
-$color-gray-white: #F6F6F6;
-$color-gray-bone: #F0F2F5;
-$color-gray-chalk: #D7DFE5;
-$color-gray-tag: #94A1AD;
-$color-gray-divider: #979797;
-
-// Black & White
-$color-black: #000000;
-$color-white: #ffffff;
-
-// Gradients
-$color-pink: #c86dd7;
-$color-purple: #3023ae;
-$color-blue-marine: #0dbfb6;
-$color-blue-azure: #286dae;
-$color-blue-dark: #2744a3;
-$color-blue-ocean: #1f4162;
-$color-blue-navy: #161e2b;
-$color-blue-very-dark: #0a0d14;
-
-// Backgrounds
-$color-bg-dark: #1C2027;
-$color-bg-gray: #FAFAFA;
diff --git a/docs/assets/scss/variables/_variables.footer.scss b/docs/assets/scss/variables/_variables.footer.scss
deleted file mode 100644
index fb0dd9bd3..000000000
--- a/docs/assets/scss/variables/_variables.footer.scss
+++ /dev/null
@@ -1,11 +0,0 @@
-@if variable-exists("avenir-roman") {
- $footer-font-family: $avenir-roman;
-} @else {
- $footer-font-family: inferit;
-}
-$footer-spacing: 1.25rem;
-//$footer-max-width: map-get($container-max-widths, xxxl);
-$footer-max-width: 1280px;
-$footer-light-gray: #CACACA;
-$footer-gray: $color-gray-tag;
-$footer-dark-gray: #646464;
diff --git a/docs/assets/scss/variables/_variables.media-queries.scss b/docs/assets/scss/variables/_variables.media-queries.scss
deleted file mode 100755
index 1ad0db509..000000000
--- a/docs/assets/scss/variables/_variables.media-queries.scss
+++ /dev/null
@@ -1,56 +0,0 @@
-// -------------------------------------
-// Media queries
-// -------------------------------------
-
-$breakpoints-map: (
- under-small: (
- query: "all and (max-width: 575px)",
- generate-grid: false,
- generate-helpers: false
- ),
- under-medium: (
- query: "all and (max-width: 767px)",
- generate-grid: false,
- generate-helpers: false
- ),
- under-large: (
- query: "all and (max-width: 991px)",
- generate-grid: false,
- generate-helpers: false
- ),
- under-x-large: (
- query: "all and (max-width: 1199px)",
- generate-grid: false,
- generate-helpers: false
- ),
- x-small: (
- query: "all and (min-width: 320px)",
- generate-grid: true,
- generate-helpers: true
- ),
- small: (
- query: "all and (min-width: 576px)",
- generate-grid: true,
- generate-helpers: true
- ),
- medium: (
- query: "all and (min-width: 768px)",
- generate-grid: true,
- generate-helpers: true
- ),
- large: (
- query: "all and (min-width: 992px)",
- generate-grid: true,
- generate-helpers: true
- ),
- x-large: (
- query: "all and (min-width: 1200px)",
- generate-grid: true,
- generate-helpers: true
- ),
- xxx-large: (
- query: "all and (min-width: 1600px)",
- generate-grid: true,
- generate-helpers: true
- )
-) !default;
diff --git a/docs/assets/scss/variables/_variables.scss b/docs/assets/scss/variables/_variables.scss
deleted file mode 100644
index 0a9f7dbc9..000000000
--- a/docs/assets/scss/variables/_variables.scss
+++ /dev/null
@@ -1,35 +0,0 @@
-// TODO: Change this variable for distributed version of docs to remove Avenir font.
-$is-public: true;
-
-$gdfont-regular: ("dc8ebcd096d8d65d80200bbe8e045d86", "Helvetica", "Arial", sans-serif);
-$gdfont-demibold: ("bca6d3310b5c9dae1dae416e8abc8405", "Helvetica", "Arial", sans-serif);
-$gdfont-extrabold: ("ae2e11957f2c90bcba60dd109b5379f5", "Helvetica", "Arial", sans-serif);
-
-$font-family: $gdfont-regular;
-
-$header-first-nav-height: 64px;
-$header-first-nav-height-desktop: 80px;
-$header-first-nav-height-x-big-desktop: 100px;
-
-$header-second-nav-height: 59px;
-
-$header-height: $header-first-nav-height + $header-second-nav-height;
-$header-height-desktop: $header-first-nav-height-desktop + $header-second-nav-height;
-$header-height-x-big-desktop: $header-first-nav-height-x-big-desktop + $header-second-nav-height;
-
-$color-text: #1C0D3F;
-$color-share-button: #CCD8E2;
-$color-alert: #4D4A3D;
-$color-alert-bg: #f5f6f8;
-$color-alert-info: #1B127D;
-$color-alert-info-bg: #e1defa;
-$color-alert-warning: #CF4336;
-$color-alert-warning-bg: #FDEEEC;
-$color-tooltip: #e26300;
-$color-gray-bg: #f2f2f2;
-
-$color-shocking-pink-dark: darken($color-shocking-pink, 10%);
-
-$alert-border-width: 5px;
-
-$transition: 0.15s ease-in-out;
diff --git a/docs/config/_default/config.toml b/docs/config/_default/config.toml
index 82052d363..92b98f9db 100644
--- a/docs/config/_default/config.toml
+++ b/docs/config/_default/config.toml
@@ -21,6 +21,13 @@ pygmentsUseClassic = false
# See https://help.farbox.com/pygments.html
pygmentsStyle = "tango"
+# The theme's head.html reads the lowercase "hugo_env" variable as the
+# search-engine indexing switch (HUGO_ENV itself must stay "production" in CI
+# because it selects the config environment). Hugo's default getenv policy
+# only allows ^HUGO_ and ^CI$, so allow it explicitly.
+[security.funcs]
+ getenv = ['^HUGO_', '^CI$', '^hugo_env$']
+
[module]
proxy = "direct"
[module.hugoVersion]
diff --git a/docs/config/_default/menus.toml b/docs/config/_default/menus.toml
new file mode 100644
index 000000000..864a8bf7a
--- /dev/null
+++ b/docs/config/_default/menus.toml
@@ -0,0 +1,40 @@
+# Main header navigation. Consumed by the theme's partials/header-menu.html
+# (data-driven menu). Mirrors the links that were previously hardcoded in the
+# local header-menu.html override.
+
+[[main]]
+ name = "Learn"
+ url = "https://www.gooddata.ai/learn/"
+ weight = 10
+ [main.params]
+ ismobiletitle = true
+ mobileonly = true
+
+[[main]]
+ name = "University"
+ url = "https://university.gooddata.com/"
+ weight = 20
+
+[[main]]
+ name = "Community"
+ url = "https://community.gooddata.com/"
+ weight = 30
+
+[[main]]
+ name = "Documentation"
+ url = "https://www.gooddata.ai/docs/"
+ weight = 40
+ [main.params]
+ ishome = true
+
+[[main]]
+ name = "Support"
+ url = "https://support.gooddata.com/hc/en-us"
+ weight = 50
+
+[[main]]
+ name = "Go to GoodData.com"
+ url = "https://www.gooddata.ai/"
+ weight = 60
+ [main.params]
+ mobileonly = true
diff --git a/docs/go.mod b/docs/go.mod
index 31ea303c0..42e31f0fc 100644
--- a/docs/go.mod
+++ b/docs/go.mod
@@ -4,7 +4,7 @@ go 1.20
require (
github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 // indirect
- github.com/gooddata/gooddata-docs-theme v0.0.0-20260429090800-815356762523 // indirect
+ github.com/gooddata/gooddata-docs-theme v0.0.0-20260723090151-e5bb4ddb25e4 // indirect
github.com/google/docsy v0.7.1 // indirect
github.com/google/docsy/dependencies v0.7.1 // indirect
github.com/twbs/bootstrap v5.3.1+incompatible // indirect
diff --git a/docs/go.sum b/docs/go.sum
index a40ed7693..4848ee5b1 100644
--- a/docs/go.sum
+++ b/docs/go.sum
@@ -52,6 +52,10 @@ github.com/gooddata/gooddata-docs-theme v0.0.0-20260224092332-353448869720 h1:aJ
github.com/gooddata/gooddata-docs-theme v0.0.0-20260224092332-353448869720/go.mod h1:VVNP6Cmo+vC37RD3T/YHjyU/QdqftGY5z4G513LYyrA=
github.com/gooddata/gooddata-docs-theme v0.0.0-20260429090800-815356762523 h1:I2EGqqlIL+Z3pZlBhZW/lsk50pq0+jg1SfrX0wbXtTI=
github.com/gooddata/gooddata-docs-theme v0.0.0-20260429090800-815356762523/go.mod h1:VVNP6Cmo+vC37RD3T/YHjyU/QdqftGY5z4G513LYyrA=
+github.com/gooddata/gooddata-docs-theme v0.0.0-20260617212030-3203cf0e0a7c h1:6eiDmA9tpeblAc+MANszPYvSpFclLJ0DAWbhdzFrGIc=
+github.com/gooddata/gooddata-docs-theme v0.0.0-20260617212030-3203cf0e0a7c/go.mod h1:VVNP6Cmo+vC37RD3T/YHjyU/QdqftGY5z4G513LYyrA=
+github.com/gooddata/gooddata-docs-theme v0.0.0-20260723090151-e5bb4ddb25e4 h1:OCayu6LCEApIySjN/v3PLQ8kSgsOb+Giq3r9MJ67uNg=
+github.com/gooddata/gooddata-docs-theme v0.0.0-20260723090151-e5bb4ddb25e4/go.mod h1:VVNP6Cmo+vC37RD3T/YHjyU/QdqftGY5z4G513LYyrA=
github.com/google/docsy v0.7.1 h1:DUriA7Nr3lJjNi9Ulev1SfiG1sUYmvyDeU4nTp7uDxY=
github.com/google/docsy v0.7.1/go.mod h1:JCmE+c+izhE0Rvzv3y+AzHhz1KdwlA9Oj5YBMklJcfc=
github.com/google/docsy/dependencies v0.7.1 h1:NbzYKJYMin2q50xdWSUzR2c9gCp7zR/XHDBcxklEcTQ=
diff --git a/docs/layouts/404.html b/docs/layouts/404.html
deleted file mode 100644
index 8c932e12f..000000000
--- a/docs/layouts/404.html
+++ /dev/null
@@ -1,51 +0,0 @@
-{{ define "main" -}}
-
-
-
-
-
404 Page
-
Ohh, there is nothing in here!
-
- {{ if and (isset .Site.Params "404") (isset (index .Site.Params "404") "links") }}
-
-
But you can try:
-
- {{ range index (index .Site.Params "404") "links" }}
-
- {{ .title }}
-
- {{ end }}
-
-
- {{ end }}
-
-
-
-
-
-
-
-
-
-
-
-
-
404 Page
-
This version is no longer live
-
- {{ if and (isset .Site.Params "404") (isset (index .Site.Params "404") "links") }}
-
- {{ end }}
-
-
-
-
-
-
-
-
-{{- end }}
diff --git a/docs/layouts/_default/_markup/render-image.html b/docs/layouts/_default/_markup/render-image.html
deleted file mode 100644
index 43547b87e..000000000
--- a/docs/layouts/_default/_markup/render-image.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/docs/layouts/_default/_markup/render-link.html b/docs/layouts/_default/_markup/render-link.html
deleted file mode 100644
index eea8d5828..000000000
--- a/docs/layouts/_default/_markup/render-link.html
+++ /dev/null
@@ -1,12 +0,0 @@
-{{- $scratch := newScratch }}
-{{- $scratch.Set "attrs" slice }}
-{{- if ne .Title "" }}
- {{- with .Title }}
- {{- $options := transform.Unmarshal . }}
- {{- range $key, $val := $options }}
- {{- $scratch.Add "attrs" (printf `%s="%s"` $key $val) }}
- {{- end }}
- {{- end }}
-{{- end -}}
-{{ .Text | safeHTML }}{{ if strings.HasPrefix .Destination "http" }}{{ with resources.Get "icons/external-link.svg" }}{{ ( . | minify).Content | safeHTML }}{{ end }} {{ end }}
-{{- /* This comment removes trailing newlines. */ -}}
diff --git a/docs/layouts/_default/baseof.html b/docs/layouts/_default/baseof.html
deleted file mode 100644
index 113febb9a..000000000
--- a/docs/layouts/_default/baseof.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- {{ partial "head.html" . }}
- {{ partial "meta-version.html" . }}
-
-
- {{ partial "gtm-body.html" }}
-
- {{ partial "navbar.html" . }}
-
-
-
- {{ block "main" . }}{{ end }}
-
- {{ partialCached "footer.html" . }}
-
- {{ partialCached "scripts.html" . }}
- {{ partial "search.html" . }}
-
-
diff --git a/docs/layouts/_default/content.html b/docs/layouts/_default/content.html
index 58be716cd..5b3328b6c 100644
--- a/docs/layouts/_default/content.html
+++ b/docs/layouts/_default/content.html
@@ -8,7 +8,10 @@ {{ .Title }}
{{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) }}
{{ partial "reading-time.html" . }}
{{ end }}
- {{ .Content }}
+ {{/* Drop Goldmark's role="doc-endnotes" from the footnotes wrapper: its
+ doc-endnote items sit inside an , so the wrapper owns no
+ doc-endnote children and fails aria-required-children. */}}
+ {{ .Content | replaceRE ` role="doc-endnotes"` "" | safeHTML }}
{{ if and .Params.sectionIndex .Parent }}
{{ partial "section-index.html" .Parent }}
{{ end }}
diff --git a/docs/layouts/docs/baseof.html b/docs/layouts/docs/baseof.html
deleted file mode 100644
index 3191b5286..000000000
--- a/docs/layouts/docs/baseof.html
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
- {{ partial "head.html" . }}
-
- {{ partial "meta-version.html" . }}
- {{ if .Params.externalLink }}
-
- {{ end }}
-
-
-
- {{ partial "gtm-body.html" }}
- {{ partial "skip-links.html" . }}
-
- {{ partial "navbar.html" . }}
-
-
-
-
-
-
-
- {{ partial "toc.html" . }}
-
-
- {{ partial "version-banner.html" . }}
- {{ if not .Site.Params.ui.breadcrumb_disable }}{{ partial "breadcrumb.html" . }}{{ end }}
- {{ if .Draft }}
-
-
DRAFT
-
This document is a draft and will not be published.
-
- {{ end }}
- {{ block "main" . }}{{ end }}
-
-
-
- {{ partialCached "footer.html" . }}
-
- {{ partial "scripts.html" . }}
- {{ partial "search.html" . }}
-
-
diff --git a/docs/layouts/partials/article-label.html b/docs/layouts/partials/article-label.html
deleted file mode 100644
index 848b92dc7..000000000
--- a/docs/layouts/partials/article-label.html
+++ /dev/null
@@ -1,24 +0,0 @@
-{{ $label := "" }}
-
-{{ if isset . "labelId" }}
- {{ $label = .labelId }}
-{{ else if .Params.articleLabel }}
- {{ $label = .Params.articleLabel }}
-{{ end }}
-
-{{ if and $label (gt (len $label) 0) }}
- {{ $hasLabel := true }}
- {{ range site.Data.articleLabels }}
- {{ if and (eq (index . "labelId") $label) $hasLabel }}
-
- {{ with resources.Get "icons/icon-info.svg" }}{{ ( . | minify).Content | safeHTML }}{{ end }}
- {{ (index . "text") | markdownify }}
- {{ $hasLabel = false }}
-
- {{ end }}
- {{ end }}
-
- {{ if $hasLabel }}
- {{ warnf "Article label %q isn't specified in articleLabels.yml" $label }}
- {{ end }}
-{{ end }}
diff --git a/docs/layouts/partials/custom-related-content.html b/docs/layouts/partials/custom-related-content.html
deleted file mode 100644
index 3a9eaebd6..000000000
--- a/docs/layouts/partials/custom-related-content.html
+++ /dev/null
@@ -1,39 +0,0 @@
-{{ if .Params.related }}
- Learn more:
-
-
- {{ $Site := .Site }}
- {{ $Page := . }}
- {{ range .Params.related }}
- {{ $isExternalLink := findRE "^(http|https)://" .link }}
-
- {{ if $isExternalLink }}
- {{ .title }}
- {{ else }}
- {{ $Title := .title }}
- {{ $linkTrim := replaceRE "(#.*)|(/$)" "" .link }}
- {{ $link := cond (gt (len (findRE "^/" .link)) 0) (print (replaceRE "/$" "" $Page.FirstSection.RelPermalink) $linkTrim) $linkTrim }}
- {{ $hash := findRE "#.*" .link }}
- {{ if $Site.GetPage $link }}
- {{ with $Site.GetPage $link }}
-
- {{ if $Title }}
- {{ $Title }}
- {{ else }}
- {{ .LinkTitle }}
- {{ end }}
-
- {{ end }}
- {{ else }}
- {{ warnf "Related content linked page doesn't exist: %q" .link }}
- {{ end }}
- {{ end }}
-
- {{ if .desc }}
- {{ .desc }}
- {{ end }}
-
- {{ end }}
-
-
-{{ end }}
diff --git a/docs/layouts/partials/favicons.html b/docs/layouts/partials/favicons.html
deleted file mode 100644
index ea04577c0..000000000
--- a/docs/layouts/partials/favicons.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/docs/layouts/partials/footer.html b/docs/layouts/partials/footer.html
deleted file mode 100644
index d16320ffa..000000000
--- a/docs/layouts/partials/footer.html
+++ /dev/null
@@ -1,104 +0,0 @@
-{{ $footer := getJSON "https://www.gooddata.ai/learn-assets/js/footer-definition.json" }}
-
-
-
-{{ define "absolute-link" }}
- {{ $urlParse := urls.Parse .url }}
- {{ $url := print (cond (and (gt (len $urlParse.Path) 0) (eq (len $urlParse.Host) 0)) "https://www.gooddata.ai" "") .url }}
- {{ $id := replace (lower .text) " " "-" }}
- {{ $content := cond (isset . "icon") .icon .text }}
-
- {{ $content }}
-{{ end }}
diff --git a/docs/layouts/partials/gtm-body.html b/docs/layouts/partials/gtm-body.html
deleted file mode 100644
index 511b24979..000000000
--- a/docs/layouts/partials/gtm-body.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/docs/layouts/partials/gtm.html b/docs/layouts/partials/gtm.html
deleted file mode 100644
index c37c739c3..000000000
--- a/docs/layouts/partials/gtm.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
diff --git a/docs/layouts/partials/head-css.html b/docs/layouts/partials/head-css.html
deleted file mode 100644
index 5c429c260..000000000
--- a/docs/layouts/partials/head-css.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-{{ $scssMain := "scss/main.scss"}}
-{{ if .IsServer }}
-{{/* Note the missing postCSS. This makes it snappier to develop in Chrome, but makes it look sub-optimal in other browsers. */}}
-{{ $css := resources.Get $scssMain | toCSS (dict "enableSourceMap" true) }}
-
-{{ else }}
-{{ $css := resources.Get $scssMain | toCSS (dict "enableSourceMap" false) | postCSS | minify | fingerprint }}
-
-
-{{ end }}
-
-
-{{ partial "gtm.html" . }}
diff --git a/docs/layouts/partials/head.html b/docs/layouts/partials/head.html
deleted file mode 100644
index e6fe3a73f..000000000
--- a/docs/layouts/partials/head.html
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-{{ hugo.Generator }}
-{{- $outputFormat := partial "outputformat.html" . -}}
-
-{{ range .AlternativeOutputFormats -}}
-
-{{ end -}}
-
-{{ if and (or (eq (getenv "HUGO_ENV") "public") (eq (getenv "HUGO_ENV") "production")) (ne $outputFormat "print") -}}
-
-{{ else -}}
-
-{{ end -}}
-
-{{ partialCached "favicons.html" . }}
-{{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{ end }}
-
-{{- template "_internal/opengraph.html" . -}}
-{{- template "_internal/schema.html" . -}}
-{{- template "_internal/twitter_cards.html" . -}}
-
-{{ partialCached "head-css.html" .Site "head-css" }}
-
-{{ if .Site.Params.offlineSearch }}
-
-{{end}}
-{{ if .Site.Params.prism_syntax_highlighting }}
-
-
-
-
-{{ end }}
-{{ partialCached "custom-scripts.html" .}}
-{{ partial "hooks/head-end.html" . }}
diff --git a/docs/layouts/partials/header-menu.html b/docs/layouts/partials/header-menu.html
deleted file mode 100644
index bb2d0164a..000000000
--- a/docs/layouts/partials/header-menu.html
+++ /dev/null
@@ -1,38 +0,0 @@
-
diff --git a/docs/layouts/partials/hooks/body-end.html b/docs/layouts/partials/hooks/body-end.html
index 245ff7410..231b922ed 100644
--- a/docs/layouts/partials/hooks/body-end.html
+++ b/docs/layouts/partials/hooks/body-end.html
@@ -25,3 +25,7 @@
data-modal-title-color="#1c0d3f"
data-modal-title-font-family="bca6d3310b5c9dae1dae416e8abc8405,helvetica,arial,sans-serif"
>
+
+{{/* Dark-mode theme switcher */}}
+{{ $themeSwitcherJS := resources.Get "js/theme-switcher.js" | minify | fingerprint }}
+
diff --git a/docs/layouts/partials/hooks/head-end.html b/docs/layouts/partials/hooks/head-end.html
new file mode 100644
index 000000000..ff0932b4f
--- /dev/null
+++ b/docs/layouts/partials/hooks/head-end.html
@@ -0,0 +1,14 @@
+{{/* Project additions to the theme's (gooddata-docs-theme calls this
+ hook at the end of its head.html). Everything here used to live in local
+ shadow copies of head.html and docs/baseof.html. */}}
+
+{{ if .Site.Params.prism_syntax_highlighting }}
+
+{{ end }}
+
+{{/* The canonical link comes from the theme's meta-version.html. */}}
+{{ if eq .Type "docs" }}
+
+{{ end }}
diff --git a/docs/layouts/partials/navbar.html b/docs/layouts/partials/navbar.html
index 32c7aaed2..2872363ae 100644
--- a/docs/layouts/partials/navbar.html
+++ b/docs/layouts/partials/navbar.html
@@ -1,13 +1,19 @@
{{/* (C) 2023 GoodData Corporation */}}
+{{ $whitelabeled := .Site.Params.whitelabeled }}
{{ $cover := .HasShortcode "blocks/cover" }}
+
+{{ if not $whitelabeled }}
@@ -15,26 +21,45 @@
+ {{ if not .Params.no_search }}
+ {{ end }}
{{ partial "ask-ai-button.html" . }}
- {{ if .Site.Params.versions }}
+ {{ if .Site.Params.versions }}
{{ else }}
{{ end }}
+
+ {{ partial "edition-switch.html" . }}
+ {{ partial "lang-switch.html" . }}
+
+{{ else }}
+
+{{/* Whitelabeled header has no logo — keep skip links first here. */}}
+{{ partial "skip-links.html" . }}
+
+
+
+{{ end }}
diff --git a/docs/layouts/partials/prev-next-pages.html b/docs/layouts/partials/prev-next-pages.html
deleted file mode 100644
index 1b4dd4a35..000000000
--- a/docs/layouts/partials/prev-next-pages.html
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
- {{ template "find-prev" (dict "currentPage" . ) }}
-
-
-
- {{ template "find-next" (dict "currentPage" . ) }}
-
-
-
-{{ define "find-prev" }}
- {{ $currentPage := .currentPage }}
-
- {{ if $currentPage.IsSection }}
-
- {{ else }}
- {{ if $currentPage.NextInSection }}
- {{ with $currentPage.NextInSection }}
-
- {{ with resources.Get "icons/chevron.svg" }}{{ ( . | minify).Content | safeHTML }}{{ end }}
- {{ .LinkTitle }}
-
- {{ end }}
- {{ else }}
-
- {{ end }}
- {{ end }}
-{{ end }}
-
-{{ define "find-next" }}
- {{ $currentPage := .currentPage }}
-
- {{ if $currentPage.IsSection }}
- {{ with index $currentPage.Pages.ByWeight 0 }}
-
- {{ with resources.Get "icons/chevron.svg" }}{{ ( . | minify).Content | safeHTML }}{{ end }}
- {{ .LinkTitle }}
-
- {{ end }}
- {{ else }}
- {{ if $currentPage.PrevInSection }}
- {{ with $currentPage.PrevInSection }}
-
- {{ with resources.Get "icons/chevron.svg" }}{{ ( . | minify).Content | safeHTML }}{{ end }}
- {{ $currentPage.PrevInSection.LinkTitle }}
-
- {{ end }}
- {{ else }}
-
- {{ end }}
- {{ end }}
-{{ end }}
diff --git a/docs/layouts/partials/share-dialog.html b/docs/layouts/partials/share-dialog.html
deleted file mode 100644
index 01c0ab12e..000000000
--- a/docs/layouts/partials/share-dialog.html
+++ /dev/null
@@ -1 +0,0 @@
-Share
diff --git a/docs/layouts/partials/toc.html b/docs/layouts/partials/toc.html
deleted file mode 100644
index 039a8a71b..000000000
--- a/docs/layouts/partials/toc.html
+++ /dev/null
@@ -1,9 +0,0 @@
-{{ partial "page-meta-links.html" . }}
-{{ if not .Params.notoc }}
-{{ with .TableOfContents }}
-{{ if ge (len .) 1 }}
-{{ . }}
-{{ end }}
-{{ end }}
-{{ end }}
-{{ partial "custom-related-content.html" . }}
diff --git a/docs/layouts/shortcodes/alert.html b/docs/layouts/shortcodes/alert.html
deleted file mode 100644
index f13c9365b..000000000
--- a/docs/layouts/shortcodes/alert.html
+++ /dev/null
@@ -1,13 +0,0 @@
-{{/* (C) 2023 GoodData Corporation */}}
-{{ $_hugo_config := `{ "version": 1 }` }}
-{{ $color := .Get "color" | default "primary" }}
-{{ $icon := .Get "color" | default "default" }}
-
-{{ with resources.Get (printf "icons/icon-alert-%s.svg" $icon) }}{{ ( . | minify).Content | safeHTML }}{{ end }}
-{{ with .Get "title" }}
{{ . | safeHTML }} {{ end }}
-{{ if eq .Page.File.Ext "md" }}
-{{ replaceRE "^
" "" .Inner | safeHTML }}
-{{ else }}
-{{ .Inner | htmlUnescape | safeHTML }}
-{{ end }}
-
diff --git a/docs/layouts/shortcodes/blocks/card.html b/docs/layouts/shortcodes/blocks/card.html
deleted file mode 100644
index eeca6e37d..000000000
--- a/docs/layouts/shortcodes/blocks/card.html
+++ /dev/null
@@ -1,42 +0,0 @@
-{{ $title := .Get "title" }}
-{{ $sectionLink := .Get "sectionLink" }}
-{{ $icon := .Get "icon" }}
-{{ $iconPosition := default "left" (.Get "iconPosition") }}
-{{ $maxRow := .Parent.Get "maxRow" }}
-
-{{ if ne .Page.FirstSection .Site.Home }}
- {{ .Scratch.Set "docsRoot" (replaceRE "/$" "" .Page.FirstSection.RelPermalink) }}
-{{ else if (and (isset .Site.Params "versions") (isset .Site.Params.versions 0)) }}
- {{ .Scratch.Set "docsRoot" (replaceRE "/$" "" (index .Site.Params.versions 0).url) }}
-{{ else }}
- {{ .Scratch.Set "docsRoot" "/docs" }}
-{{ end }}
-
-
diff --git a/docs/layouts/shortcodes/blocks/cards-container.html b/docs/layouts/shortcodes/blocks/cards-container.html
deleted file mode 100644
index 5a659a671..000000000
--- a/docs/layouts/shortcodes/blocks/cards-container.html
+++ /dev/null
@@ -1,3 +0,0 @@
-{{ $maxRow := .Get "maxRow" }}
-
-{{ .Inner }}
diff --git a/docs/layouts/shortcodes/blocks/feature.html b/docs/layouts/shortcodes/blocks/feature.html
deleted file mode 100644
index 341332671..000000000
--- a/docs/layouts/shortcodes/blocks/feature.html
+++ /dev/null
@@ -1,14 +0,0 @@
-{{ $icon := .Get "icon" | default "fa-lightbulb" }}
-{{ $url_text := .Get "url_text" }}
-{{ $grid := .Get "width" }}
-{{ $align := .Get "align" | default "center" }}
-{{ $color := .Get "color" }}
-
-
diff --git a/docs/layouts/shortcodes/blocks/homepage-hosted.html b/docs/layouts/shortcodes/blocks/homepage-hosted.html
deleted file mode 100644
index cf86ee82d..000000000
--- a/docs/layouts/shortcodes/blocks/homepage-hosted.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
{{ .Get "title" }}
-
{{ .Get "text" }}
- {{ .Inner }}
-
-
-
-
diff --git a/docs/layouts/shortcodes/blocks/homepage-learn.html b/docs/layouts/shortcodes/blocks/homepage-learn.html
deleted file mode 100644
index cf2f7f6a8..000000000
--- a/docs/layouts/shortcodes/blocks/homepage-learn.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
{{ .Get "title" }}
-
-
-
-
-
diff --git a/docs/layouts/shortcodes/blocks/homepage-slack.html b/docs/layouts/shortcodes/blocks/homepage-slack.html
deleted file mode 100644
index 57239bb6a..000000000
--- a/docs/layouts/shortcodes/blocks/homepage-slack.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
{{ .Get "title" }}
-
-
{{ .Inner }}
-
-
-
diff --git a/docs/layouts/shortcodes/blocks/section.html b/docs/layouts/shortcodes/blocks/section.html
deleted file mode 100644
index fb1ebcd3c..000000000
--- a/docs/layouts/shortcodes/blocks/section.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{{ $_hugo_config := `{ "version": 1 }` }}
-{{ $col_id := .Get "color" | default .Ordinal }}
-{{ $height := .Get "height" | default "auto" }}
-{{ $type := .Get "type" | default "" }}
-{{ $customClasses := .Get "classes" | default "" }}
-
-
-
-
- {{ if eq .Page.File.Ext "md" }}
- {{ .Inner | markdownify }}
- {{ else }}
- {{ .Inner | htmlUnescape | safeHTML }}
- {{ end }}
-
-
-
diff --git a/docs/layouts/shortcodes/blocks/sections-list.html b/docs/layouts/shortcodes/blocks/sections-list.html
deleted file mode 100644
index 89ccf335f..000000000
--- a/docs/layouts/shortcodes/blocks/sections-list.html
+++ /dev/null
@@ -1,52 +0,0 @@
-{{- if (and (isset .Site.Params "versions") (isset .Site.Params.versions 0)) -}}
-{{ .Scratch.Set "docsRoot" (index .Site.Params.versions 0).url }}
-{{- else -}}
-{{ .Scratch.Set "docsRoot" "/docs/" }}
-{{- end -}}
-{{- $sections := .Site.GetPage (.Scratch.Get "docsRoot") -}}
-
-
-
- {{ .Inner | markdownify }}
-
-
-
-
- {{ range $sections.CurrentSection.Pages }}
- {{ $site := .Page.Site }}
- {{ $page := .Page }}
-
- {{ if and (not $page.Params.toc_hide) (not $page.Params.homepage_hide) (ne $page $site.Home) }}
-
-
- {{ if $page.Params.icon }}
-
-
-
- {{ end }}
-
-
{{ $page.LinkTitle }}
-
{{ $page.Description }}
-
Learn more
-
- {{ if $page.Params.promotedLinks }}
-
In this section:
-
- {{ range $page.Params.promotedLinks }}
- {{ with $site.GetPage . }}
-
- {{ .LinkTitle }}
-
- {{ end }}
- {{ end }}
-
- {{ end }}
-
-
-
- {{ end }}
- {{ end }}
-
-
-
-
diff --git a/docs/layouts/shortcodes/code-lang.html b/docs/layouts/shortcodes/code-lang.html
deleted file mode 100644
index 8f96cb541..000000000
--- a/docs/layouts/shortcodes/code-lang.html
+++ /dev/null
@@ -1,18 +0,0 @@
-{{ $lang := .Get "lang" }}
-{{ $userAgent := .Get "userAgent" | default $lang }}
-{{ $index := .Ordinal }}
-{{ $codeBlock := .Inner }}
-
-{{ with .Parent }}
- {{ $selectId := .Get "id" }}
- {{ $scratchIdLang := print "code-block-lang-" (string .Ordinal) }}
- {{ .Scratch.SetInMap $scratchIdLang (string $index) $lang }}
- {{ $scratchIdUserAgent := print "code-block-userAgent-" (string .Ordinal) }}
- {{ .Scratch.SetInMap $scratchIdUserAgent (string $index) $userAgent }}
-
-
- {{ $codeBlock }}
-
-{{ else }}
- {{ $codeBlock }}
-{{ end }}
diff --git a/docs/layouts/shortcodes/code-select.html b/docs/layouts/shortcodes/code-select.html
deleted file mode 100644
index 12e1033e2..000000000
--- a/docs/layouts/shortcodes/code-select.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
- {{ $enableOSDetection := .Get "enableOSDetection" }}
- {{ $scratchIdLangs := print "code-block-lang-" (string .Ordinal) }}
- {{ $langs := .Scratch.Get $scratchIdLangs }}
- {{ $scratchIdUserAgent := print "code-block-userAgent-" (string .Ordinal) }}
- {{ $userAgent := .Scratch.Get $scratchIdUserAgent }}
-
- {{ if $langs }}
-
- {{ range $index, $lang := $langs }}
-
{{ $lang }}
- {{ end }}
-
- {{ end }}
-
- {{ .Inner }}
-
diff --git a/docs/layouts/shortcodes/content-block.html b/docs/layouts/shortcodes/content-block.html
deleted file mode 100644
index c23841009..000000000
--- a/docs/layouts/shortcodes/content-block.html
+++ /dev/null
@@ -1,15 +0,0 @@
-{{ $title := .Get "title" }}
-{{ $index := .Ordinal }}
-{{ $block := .Inner }}
-
-{{ with .Parent }}
-{{ $selectId := .Get "id" }}
-{{ $scratchIdTitles := print "content-block-" (string .Ordinal) }}
-{{ .Scratch.SetInMap $scratchIdTitles (string $index) $title }}
-
-
- {{ $block }}
-
-{{ else }}
-{{ $block }}
-{{ end }}
diff --git a/docs/layouts/shortcodes/content-select.html b/docs/layouts/shortcodes/content-select.html
deleted file mode 100644
index 172f24f97..000000000
--- a/docs/layouts/shortcodes/content-select.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
- {{ $scratchIdTitles := print "content-block-" (string .Ordinal) }}
- {{ $titles := .Scratch.Get $scratchIdTitles }}
-
- {{ if $titles }}
-
- {{ range $index, $title := $titles }}
-
{{ $title }}
- {{ end }}
-
-{{ end }}
-{{ .Inner }}
-
diff --git a/docs/layouts/shortcodes/inline-icon.html b/docs/layouts/shortcodes/inline-icon.html
deleted file mode 100644
index a19601eec..000000000
--- a/docs/layouts/shortcodes/inline-icon.html
+++ /dev/null
@@ -1 +0,0 @@
-{{ printf "static/%s" (.Get 0) | readFile | safeHTML }}
diff --git a/docs/layouts/shortcodes/label.html b/docs/layouts/shortcodes/label.html
deleted file mode 100644
index fd1632aff..000000000
--- a/docs/layouts/shortcodes/label.html
+++ /dev/null
@@ -1,3 +0,0 @@
-{{ $labelId := .Get "id" }}
-
-{{ partial "article-label.html" (dict "labelId" $labelId) }}
diff --git a/docs/layouts/shortcodes/latest-doc-dirpath.html b/docs/layouts/shortcodes/latest-doc-dirpath.html
deleted file mode 100644
index 024b82de8..000000000
--- a/docs/layouts/shortcodes/latest-doc-dirpath.html
+++ /dev/null
@@ -1,10 +0,0 @@
-{{/* This shortcode can be handy if you need to provide a link to latest dirpath of the versioned documentation, defaults to "docs". */}}
-{{- if .Site.Params.versions -}}
- {{- if .Site.Params.devVersion }}
- {{- (index .Site.Params.versions 1).dirpath -}}
- {{- else -}}
- {{- (index .Site.Params.versions 0).dirpath -}}
- {{- end -}}}
-{{- else -}}
-docs
-{{- end -}}
diff --git a/docs/layouts/shortcodes/latesttag.html b/docs/layouts/shortcodes/latesttag.html
deleted file mode 100644
index bfeacf167..000000000
--- a/docs/layouts/shortcodes/latesttag.html
+++ /dev/null
@@ -1,10 +0,0 @@
-{{- $curPage := .Page.Section -}}
-{{- if .Site.Params.versions -}}
- {{- range .Site.Params.versions -}}
- {{- if eq $curPage .dirpath -}}
- {{- .latestTag -}}
- {{- end -}}
- {{- end -}}
-{{- else -}}
- {{- .Site.Params.version -}}
-{{- end -}}
diff --git a/docs/layouts/shortcodes/product.html b/docs/layouts/shortcodes/product.html
deleted file mode 100644
index e7fec09ca..000000000
--- a/docs/layouts/shortcodes/product.html
+++ /dev/null
@@ -1,8 +0,0 @@
-{{- $.Scratch.Set "productName" "GoodData.CN" -}}
-{{- $curPage := $.Page.Section -}}
-{{- range $.Site.Params.versions -}}
- {{- if and (eq $curPage .dirpath) (isset . "productName") -}}
- {{- $.Scratch.Set "productName" .productName -}}
- {{- end -}}
-{{- end -}}
-{{- $.Scratch.Get "productName" -}}
diff --git a/docs/layouts/shortcodes/swaggerui.html b/docs/layouts/shortcodes/swaggerui.html
deleted file mode 100644
index 666d13588..000000000
--- a/docs/layouts/shortcodes/swaggerui.html
+++ /dev/null
@@ -1,26 +0,0 @@
-{{ $original := .Get "src" }}
-
-
diff --git a/docs/layouts/swagger/baseof.html b/docs/layouts/swagger/baseof.html
deleted file mode 100644
index 83563423a..000000000
--- a/docs/layouts/swagger/baseof.html
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
- {{ partial "head.html" . }}
- {{ $baseurl := urls.Parse site.BaseURL }}
- {{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{ end }}
-
-
-
- {{ partial "gtm-body.html" }}
-
- {{ partial "navbar.html" . }}
-
-
-
-
-
-
-
- {{ partial "toc.html" . }}
-
-
- {{ if not .Site.Params.ui.breadcrumb_disable }}{{ partial "breadcrumb.html" . }}{{ end }}
-
-
- {{ block "main" . }}{{ end }}
-
-
-
- {{ partialCached "footer.html" . }}
-
- {{ partial "scripts.html" . }}
-
-
diff --git a/docs/static/figures/different-use-cases.png b/docs/static/figures/different-use-cases.png
deleted file mode 100644
index 9200f318c..000000000
Binary files a/docs/static/figures/different-use-cases.png and /dev/null differ
diff --git a/docs/static/figures/gd-relationship.png b/docs/static/figures/gd-relationship.png
deleted file mode 100644
index c776569f7..000000000
Binary files a/docs/static/figures/gd-relationship.png and /dev/null differ
diff --git a/docs/static/figures/gd-use-cases.png b/docs/static/figures/gd-use-cases.png
deleted file mode 100644
index 6bee03b32..000000000
Binary files a/docs/static/figures/gd-use-cases.png and /dev/null differ
diff --git a/docs/static/img/arrow-right.svg b/docs/static/img/arrow-right.svg
deleted file mode 100755
index 4a150c520..000000000
--- a/docs/static/img/arrow-right.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- Group
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/static/img/burger.svg b/docs/static/img/burger.svg
deleted file mode 100644
index c9a00298f..000000000
--- a/docs/static/img/burger.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- Artboard
-
-
-
-
\ No newline at end of file
diff --git a/docs/static/img/close.svg b/docs/static/img/close.svg
deleted file mode 100644
index 3b7283d41..000000000
--- a/docs/static/img/close.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- Artboard
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/static/img/copy.svg b/docs/static/img/copy.svg
deleted file mode 100644
index c968e1ef2..000000000
--- a/docs/static/img/copy.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- ccopy
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/static/img/dropdown.svg b/docs/static/img/dropdown.svg
deleted file mode 100644
index 9851a74e2..000000000
--- a/docs/static/img/dropdown.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/static/img/icon-accelerator-toolkit.svg b/docs/static/img/icon-accelerator-toolkit.svg
deleted file mode 100644
index ac2a7c2b7..000000000
--- a/docs/static/img/icon-accelerator-toolkit.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/static/img/icon-community.svg b/docs/static/img/icon-community.svg
deleted file mode 100644
index 9d3d55fb9..000000000
--- a/docs/static/img/icon-community.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/static/img/icon-examples-gallery.svg b/docs/static/img/icon-examples-gallery.svg
deleted file mode 100644
index c840ed2ca..000000000
--- a/docs/static/img/icon-examples-gallery.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/static/img/icon-gooddata-ui-documentation.svg b/docs/static/img/icon-gooddata-ui-documentation.svg
deleted file mode 100644
index 3b55ca880..000000000
--- a/docs/static/img/icon-gooddata-ui-documentation.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/static/img/icon-hosted.svg b/docs/static/img/icon-hosted.svg
deleted file mode 100644
index 10f1493f4..000000000
--- a/docs/static/img/icon-hosted.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/static/img/icon-interactive-code-samples.svg b/docs/static/img/icon-interactive-code-samples.svg
deleted file mode 100644
index ec5ce1ece..000000000
--- a/docs/static/img/icon-interactive-code-samples.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/static/img/icon-slack.svg b/docs/static/img/icon-slack.svg
deleted file mode 100644
index 3dfc45d9a..000000000
--- a/docs/static/img/icon-slack.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
- icon-slack
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/static/img/icon-university.svg b/docs/static/img/icon-university.svg
deleted file mode 100644
index e753698be..000000000
--- a/docs/static/img/icon-university.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
- icon-university
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/static/img/share.svg b/docs/static/img/share.svg
deleted file mode 100644
index cae75ce43..000000000
--- a/docs/static/img/share.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/static/img/video-play.svg b/docs/static/img/video-play.svg
deleted file mode 100644
index ac9d8f506..000000000
--- a/docs/static/img/video-play.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/docs/static/js/pactsafe.js b/docs/static/js/pactsafe.js
deleted file mode 100644
index 36a9ab78b..000000000
--- a/docs/static/js/pactsafe.js
+++ /dev/null
@@ -1,91 +0,0 @@
-// PackSafe integration
-// Minified PactSafe Snippet
-(function(w,d,s,c,f,n,t,g,a,b,l){w['PactSafeObject']=n;w[n]=w[n]||function(){(w[n].q=w[n].q||[]).push(arguments)},w[n].on=function(){(w[n].e=w[n].e||[]).push(arguments)},w[n].once=function(){(w[n].eo=w[n].eo||[]).push(arguments)},w[n].off=function(){(w[n].o=w[n].o||[]).push(arguments)},w[n].t=1*new Date(),w[n].l=0;a=d.createElement(s);b=d.getElementsByTagName(s)[0];a.async=1;a.src=c;a.onload=a.onreadystatechange=function(){w[n].l=1};a.onerror=a.onabort=function(){w[n].l=0};b.parentNode.insertBefore(a,b);setTimeout(function(){if(!w[n].l&&!w[n].loaded){w[n].error=1;a=d.createElement(s);a.async=1;a.src=f;a.onload=a.onreadystatechange=function(){w[n].l=1};a.onerror=a.onabort=function(){w[n].l=0};b.parentNode.insertBefore(a,b);l=function(u,e){try{e=d.createElement('img');e.src='https://d3r8bdci515tjv.cloudfront.net/error.gif?t='+w[n].t+'&u='+encodeURIComponent(u);d.getElementsByTagName('body')[0].appendChild(e)}catch(x){}};l(c);setTimeout(function(){if(!w[n].l&&!w[n].loaded){w[n].error=1;if(g&&'function'==typeof g){g.call(this);}l(f)}},t)}},t)})(window,document,'script','https://vault.pactsafe.io/ps.min.js','https://d3l1mqnl5xpsuc.cloudfront.net/ps.min.js','_ps',4000);
-
-// We'll need a couple of things to get started from PactSafe.
-let siteAccessId = '4e035f09-34a3-488b-9059-738222437555'; // A PactSafe Site Access ID
-let groupKey = "group-sk0pg09zu"; // A PactSafe Group Key.
-
-// Creates a Site object with the a PactSafe Site Access ID.
-_ps('create', siteAccessId);
-
-// Since we're testing, we can enable debugging
-// which will log events to console. You'll want to
-// set this to false in a production environment.
-//_ps.debug = true;
-
-// Options set on the PactSafe Group.
-let groupOptions = {
- container_selector: 'pactsafe-container', // ID of where we want the clickwrap to load in the page.
- display_all: true, // Always display the contracts, even if previously signed by the Signer.
- signer_id_selector: 'fake-uid', // Uses the email input field value as the Signer ID and listen to the field.
- test_mode: true, // Allows you to clear test data from the PactSafe web app.
-}
-
-// Load a Clickwrap group into the page.
-_ps('load', groupKey, groupOptions);
-
-// If there's an error from the PactSafe snippet,
-// you may want to prevent submission if needed.
-_ps.on('error', function(message, event_type, context) {
- // Handle any errors.
- //console.log(arguments);
-});
-
-// Return whether to block the submission or not.
-function blockSubmission() {
- // Check to ensure we're able to get the Group successfully.
- if (_ps.getByKey(groupKey)) {
-
- // Return if we should block the submission using the .block() method
- // provided by the Group object.
- return _ps.getByKey(groupKey).block();
- } else {
- // We weren't able to get the group,
- // so blocking form submission may be needed.
- return true;
- }
-}
-
-// We want to prevent the form submission
-// unless acceptance has gone through.
-function addFormAcceptanceValidation() {
- // Get the form element.
- let btn = document.getElementById("cta-tiger-join-us-on-slack-bumper");
-
- // Return if no btn is found in the page.
- if (!btn) return;
-
- let btnObj = $("#"+btn.id);
-
- // Add listener for form submissions.
- btn.addEventListener('click', function(event) {
- // Prevent the form from automatically submitting without
- // checking PactSafe acceptance first.
- event.preventDefault();
-
- if (!blockSubmission()) {
- btnObj.tooltip('hide');
- btnObj.tooltip('disable');
- // We don't need to block so proceed.
- dataLayer.push({
- 'event': 'trackEvent',
- 'eventCategory': 'cta',
- 'eventAction': 'join us on slack',
- 'eventLabel': 'tiger'
- });
- window.open("https://join.slack.com/t/gooddataconnect/shared_invite/zt-mkqhg6bm-omgjndejTlTyB3wgaVkkGQ", "_blank");
-
- } else {
- btnObj.tooltip('enable');
- btnObj.tooltip('show');
- }
- });
-}
-
-// Set up validation of Terms before allowing form submission.
-if (document.readyState === 'loading') { // Loading hasn't finished yet
- document.addEventListener('DOMContentLoaded', addFormAcceptanceValidation);
-} else { // `DOMContentLoaded` has already fired
- addFormAcceptanceValidation();
-}
diff --git a/docs/static/js/prism.js b/docs/static/js/prism.js
deleted file mode 100644
index bc8407ce4..000000000
--- a/docs/static/js/prism.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/* PrismJS 1.29.0
-https://prismjs.com/download.html#themes=prism-okaidia&languages=markup+css+clike+javascript+bash+c+csharp+cpp+go+java+markdown+python+jsx+scss+sql+toml+yaml&plugins=toolbar+copy-to-clipboard */
-var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof i?new i(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/=g.reach);A+=w.value.length,w=w.next){var E=w.value;if(n.length>e.length)return;if(!(E instanceof i)){var P,L=1;if(y){if(!(P=l(b,A,e,m))||P.index>=e.length)break;var S=P.index,O=P.index+P[0].length,j=A;for(j+=w.value.length;S>=j;)j+=(w=w.next).value.length;if(A=j-=w.value.length,w.value instanceof i)continue;for(var C=w;C!==n.tail&&(jg.reach&&(g.reach=W);var z=w.prev;if(_&&(z=u(n,z,_),A+=_.length),c(n,z,L),w=u(n,z,new i(f,p?a.tokenize(N,p):N,k,N)),M&&u(n,w,M),L>1){var I={cause:f+","+d,reach:W};o(e,n,t,w.prev,A,I),g&&I.reach>g.reach&&(g.reach=I.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function u(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function c(e,n,t){for(var r=n.next,a=0;a"+i.content+""+i.tag+">"},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(n){var t=JSON.parse(n.data),r=t.language,i=t.code,l=t.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),l&&e.close()}),!1),a):a;var g=a.util.currentScript();function f(){a.manual||a.highlightAll()}if(g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var h=document.readyState;"loading"===h||"interactive"===h&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return a}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism);
-Prism.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var t={"included-cdata":{pattern://i,inside:s}};t["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var n={};n[a]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,(function(){return a})),"i"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore("markup","cdata",n)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;
-!function(s){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:[^;{\\s\"']|\\s+(?!\\s)|"+e.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(Prism);
-Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};
-Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp("(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])"),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp("((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/(?:(?:\\[(?:[^\\]\\\\\r\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|/\\*(?:[^*]|\\*(?!/))*\\*/)*(?:$|[\r\n,.;:})\\]]|//))"),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute("on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)","javascript")),Prism.languages.js=Prism.languages.javascript;
-!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",a={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:a,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:a}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:n},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:n.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},a.inside=e.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=n.variable[1].inside,i=0;i >=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),Prism.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}}}),Prism.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete Prism.languages.c.boolean;
-!function(e){function n(e,n){return e.replace(/<<(\d+)>>/g,(function(e,s){return"(?:"+n[+s]+")"}))}function s(e,s,a){return RegExp(n(e,s),a||"")}function a(e,n){for(var s=0;s>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}var t="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",r="class enum interface record struct",i="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",o="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var d=l(r),p=RegExp(l(t+" "+r+" "+i+" "+o)),c=l(r+" "+i+" "+o),u=l(t+" "+r+" "+o),g=a("<(?:[^<>;=+\\-*/%&|^]|<>)*>",2),b=a("\\((?:[^()]|<>)*\\)",2),h="@?\\b[A-Za-z_]\\w*\\b",f=n("<<0>>(?:\\s*<<1>>)?",[h,g]),m=n("(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*",[c,f]),k="\\[\\s*(?:,\\s*)*\\]",y=n("<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?",[m,k]),w=n("[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>",[g,b,k]),v=n("\\(<<0>>+(?:,<<0>>+)+\\)",[w]),x=n("(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?",[v,m,k]),$={keyword:p,punctuation:/[<>()?,.:[\]]/},_="'(?:[^\r\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'",B='"(?:\\\\.|[^\\\\"\r\n])*"';e.languages.csharp=e.languages.extend("clike",{string:[{pattern:s("(^|[^$\\\\])<<0>>",['@"(?:""|\\\\[^]|[^\\\\"])*"(?!")']),lookbehind:!0,greedy:!0},{pattern:s("(^|[^@$\\\\])<<0>>",[B]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:s("(\\busing\\s+static\\s+)<<0>>(?=\\s*;)",[m]),lookbehind:!0,inside:$},{pattern:s("(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)",[h,x]),lookbehind:!0,inside:$},{pattern:s("(\\busing\\s+)<<0>>(?=\\s*=)",[h]),lookbehind:!0},{pattern:s("(\\b<<0>>\\s+)<<1>>",[d,f]),lookbehind:!0,inside:$},{pattern:s("(\\bcatch\\s*\\(\\s*)<<0>>",[m]),lookbehind:!0,inside:$},{pattern:s("(\\bwhere\\s+)<<0>>",[h]),lookbehind:!0},{pattern:s("(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>",[y]),lookbehind:!0,inside:$},{pattern:s("\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))",[x,u,h]),inside:$}],keyword:p,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:s("([(,]\\s*)<<0>>(?=\\s*:)",[h]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:s("(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])",[h]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:s("(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))",[b]),lookbehind:!0,alias:"class-name",inside:$},"return-type":{pattern:s("<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))",[x,m]),inside:$,alias:"class-name"},"constructor-invocation":{pattern:s("(\\bnew\\s+)<<0>>(?=\\s*[[({])",[x]),lookbehind:!0,inside:$,alias:"class-name"},"generic-method":{pattern:s("<<0>>\\s*<<1>>(?=\\s*\\()",[h,g]),inside:{function:s("^<<0>>",[h]),generic:{pattern:RegExp(g),alias:"class-name",inside:$}}},"type-list":{pattern:s("\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))",[d,f,h,x,p.source,b,"\\bnew\\s*\\(\\s*\\)"]),lookbehind:!0,inside:{"record-arguments":{pattern:s("(^(?!new\\s*\\()<<0>>\\s*)<<1>>",[f,b]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:p,"class-name":{pattern:RegExp(x),greedy:!0,inside:$},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var E=B+"|"+_,R=n("/(?![*/])|//[^\r\n]*[\r\n]|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>",[E]),z=a(n("[^\"'/()]|<<0>>|\\(<>*\\)",[R]),2),S="\\b(?:assembly|event|field|method|module|param|property|return|type)\\b",j=n("<<0>>(?:\\s*\\(<<1>>*\\))?",[m,z]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:s("((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])",[S,j]),lookbehind:!0,greedy:!0,inside:{target:{pattern:s("^<<0>>(?=\\s*:)",[S]),alias:"keyword"},"attribute-arguments":{pattern:s("\\(<<0>>*\\)",[z]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var A=":[^}\r\n]+",F=a(n("[^\"'/()]|<<0>>|\\(<>*\\)",[R]),2),P=n("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[F,A]),U=a(n("[^\"'/()]|/(?!\\*)|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>|\\(<>*\\)",[E]),2),Z=n("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[U,A]);function q(n,a){return{interpolation:{pattern:s("((?:^|[^{])(?:\\{\\{)*)<<0>>",[n]),lookbehind:!0,inside:{"format-string":{pattern:s("(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)",[a,A]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:s('(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[^]|\\{\\{|<<0>>|[^\\\\{"])*"',[P]),lookbehind:!0,greedy:!0,inside:q(P,F)},{pattern:s('(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"',[Z]),lookbehind:!0,greedy:!0,inside:q(Z,U)}],char:{pattern:RegExp(_),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(Prism);
-!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n="\\b(?!)\\w+(?:\\s*\\.\\s*\\w+)*\\b".replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp("(\\b(?:class|concept|enum|struct|typename)\\s+)(?!)\\w+".replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp('(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\r\n|[^])|[^"\\\\\r\n])*"|<[^<>\r\n]*>|'+"(?:\\s*:\\s*)?|:\\s*".replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(Prism);
-Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete Prism.languages.go["class-name"];
-!function(e){var n=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,t="(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",s={pattern:RegExp("(^|[^\\w.])"+t+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[s,{pattern:RegExp("(^|[^\\w.])"+t+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)"),lookbehind:!0,inside:s.inside},{pattern:RegExp("(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)"+t+"[A-Z]\\w*\\b"),lookbehind:!0,inside:s.inside}],keyword:n,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":s,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp("(\\bimport\\s+)"+t+"(?:[A-Z]\\w*|\\*)(?=\\s*;)"),lookbehind:!0,inside:{namespace:s.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp("(\\bimport\\s+static\\s+)"+t+"(?:\\w+|\\*)(?=\\s*;)"),lookbehind:!0,alias:"static",inside:{namespace:s.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp("(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?".replace(//g,(function(){return n.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism);
-!function(n){function e(n){return n=n.replace(//g,(function(){return"(?:\\\\.|[^\\\\\n\r]|(?:\n|\r\n?)(?![\r\n]))"})),RegExp("((?:^|[^\\\\])(?:\\\\{2})*)(?:"+n+")")}var t="(?:\\\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\\\|\r\n`])+",a="\\|?__(?:\\|__)+\\|?(?:(?:\n|\r\n?)|(?![^]))".replace(/__/g,(function(){return t})),i="\\|?[ \t]*:?-{3,}:?[ \t]*(?:\\|[ \t]*:?-{3,}:?[ \t]*)+\\|?(?:\n|\r\n?)";n.languages.markdown=n.languages.extend("markup",{}),n.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:n.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+i+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+i+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(t),inside:n.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(t),alias:"important",inside:n.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:e("\\b__(?:(?!_)|_(?:(?!_))+_)+__\\b|\\*\\*(?:(?!\\*)|\\*(?:(?!\\*))+\\*)+\\*\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:e("\\b_(?:(?!_)|__(?:(?!_))+__)+_\\b|\\*(?:(?!\\*)|\\*\\*(?:(?!\\*))+\\*\\*)+\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:e("(~~?)(?:(?!~))+\\2"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:e('!?\\[(?:(?!\\]))+\\](?:\\([^\\s)]+(?:[\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \t]?\\[(?:(?!\\]))+\\])'),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(e){["url","bold","italic","strike","code-snippet"].forEach((function(t){e!==t&&(n.languages.markdown[e].inside.content.inside[t]=n.languages.markdown[t])}))})),n.hooks.add("after-tokenize",(function(n){"markdown"!==n.language&&"md"!==n.language||function n(e){if(e&&"string"!=typeof e)for(var t=0,a=e.length;t",quot:'"'},l=String.fromCodePoint||String.fromCharCode;n.languages.md=n.languages.markdown}(Prism);
-Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern://,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;
-!function(t){var n=t.util.clone(t.languages.javascript),e="(?:\\{*\\.{3}(?:[^{}]|)*\\})";function a(t,n){return t=t.replace(//g,(function(){return"(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)"})).replace(//g,(function(){return"(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})"})).replace(//g,(function(){return e})),RegExp(t,n)}e=a(e).source,t.languages.jsx=t.languages.extend("markup",n),t.languages.jsx.tag.pattern=a("?(?:[\\w.:-]+(?:+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[^]|[^\\\\\"])*\"|'(?:\\\\[^]|[^\\\\'])*'|[^\\s{'\"/>=]+|))?|))**/?)?>"),t.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,t.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,t.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,t.languages.jsx.tag.inside.comment=n.comment,t.languages.insertBefore("inside","attr-name",{spread:{pattern:a(""),inside:t.languages.jsx}},t.languages.jsx.tag),t.languages.insertBefore("inside","special-attr",{script:{pattern:a("="),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{\})/,alias:"punctuation"},rest:t.languages.jsx}}},t.languages.jsx.tag);var s=function(t){return t?"string"==typeof t?t:"string"==typeof t.content?t.content:t.content.map(s).join(""):""},g=function(n){for(var e=[],a=0;a0&&e[e.length-1].tagName===s(o.content[0].content[1])&&e.pop():"/>"===o.content[o.content.length-1].content||e.push({tagName:s(o.content[0].content[1]),openedBraces:0}):e.length>0&&"punctuation"===o.type&&"{"===o.content?e[e.length-1].openedBraces++:e.length>0&&e[e.length-1].openedBraces>0&&"punctuation"===o.type&&"}"===o.content?e[e.length-1].openedBraces--:i=!0),(i||"string"==typeof o)&&e.length>0&&0===e[e.length-1].openedBraces){var r=s(o);a0&&("string"==typeof n[a-1]||"plain-text"===n[a-1].type)&&(r=s(n[a-1])+r,n.splice(a-1,1),a--),n[a]=new t.Token("plain-text",r,null,r)}o.content&&"string"!=typeof o.content&&g(o.content)}};t.hooks.add("after-tokenize",(function(t){"jsx"!==t.language&&"tsx"!==t.language||g(t.tokens)}))}(Prism);
-Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss;
-Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};
-!function(e){function n(e){return e.replace(/__/g,(function(){return"(?:[\\w-]+|'[^'\n\r]*'|\"(?:\\\\.|[^\\\\\"\r\n])*\")"}))}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(n("(^[\t ]*\\[\\s*(?:\\[\\s*)?)__(?:\\s*\\.\\s*__)*(?=\\s*\\])"),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(n("(^[\t ]*|[{,]\\s*)__(?:\\s*\\.\\s*__)*(?=\\s*=)"),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:false|true)\b/,punctuation:/[.,=[\]{}]/}}(Prism);
-!function(e){var n=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,t="(?:"+r.source+"(?:[ \t]+"+n.source+")?|"+n.source+"(?:[ \t]+"+r.source+")?)",a="(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*".replace(//g,(function(){return"[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]"})),d="\"(?:[^\"\\\\\r\n]|\\\\.)*\"|'(?:[^'\\\\\r\n]|\\\\.)*'";function o(e,n){n=(n||"").replace(/m/g,"")+"m";var r="([:\\-,[{]\\s*(?:\\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\\]|\\}|(?:[\r\n]\\s*)?#))".replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return e}));return RegExp(r,n)}e.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)".replace(/<>/g,(function(){return t}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp("((?:^|[:\\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\\s*:\\s)".replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return"(?:"+a+"|"+d+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:o("false|true","i"),lookbehind:!0,alias:"important"},null:{pattern:o("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:o(d),lookbehind:!0,greedy:!0},number:{pattern:o("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism);
-!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var e=[],t={},n=function(){};Prism.plugins.toolbar={};var a=Prism.plugins.toolbar.registerButton=function(n,a){var r;r="function"==typeof a?a:function(e){var t;return"function"==typeof a.onClick?((t=document.createElement("button")).type="button",t.addEventListener("click",(function(){a.onClick.call(this,e)}))):"string"==typeof a.url?(t=document.createElement("a")).href=a.url:t=document.createElement("span"),a.className&&t.classList.add(a.className),t.textContent=a.text,t},n in t?console.warn('There is a button with the key "'+n+'" registered already.'):e.push(t[n]=r)},r=Prism.plugins.toolbar.hook=function(a){var r=a.element.parentNode;if(r&&/pre/i.test(r.nodeName)&&!r.parentNode.classList.contains("code-toolbar")){var o=document.createElement("div");o.classList.add("code-toolbar"),r.parentNode.insertBefore(o,r),o.appendChild(r);var i=document.createElement("div");i.classList.add("toolbar");var l=e,d=function(e){for(;e;){var t=e.getAttribute("data-toolbar-order");if(null!=t)return(t=t.trim()).length?t.split(/\s*,\s*/g):[];e=e.parentElement}}(a.element);d&&(l=d.map((function(e){return t[e]||n}))),l.forEach((function(e){var t=e(a);if(t){var n=document.createElement("div");n.classList.add("toolbar-item"),n.appendChild(t),i.appendChild(n)}})),o.appendChild(i)}};a("label",(function(e){var t=e.element.parentNode;if(t&&/pre/i.test(t.nodeName)&&t.hasAttribute("data-label")){var n,a,r=t.getAttribute("data-label");try{a=document.querySelector("template#"+r)}catch(e){}return a?n=a.content:(t.hasAttribute("data-url")?(n=document.createElement("a")).href=t.getAttribute("data-url"):n=document.createElement("span"),n.textContent=r),n}})),Prism.hooks.add("complete",r)}}();
-!function(){function t(t){var e=document.createElement("textarea");e.value=t.getText(),e.style.top="0",e.style.left="0",e.style.position="fixed",document.body.appendChild(e),e.focus(),e.select();try{var o=document.execCommand("copy");setTimeout((function(){o?t.success():t.error()}),1)}catch(e){setTimeout((function(){t.error(e)}),1)}document.body.removeChild(e)}"undefined"!=typeof Prism&&"undefined"!=typeof document&&(Prism.plugins.toolbar?Prism.plugins.toolbar.registerButton("copy-to-clipboard",(function(e){var o=e.element,n=function(t){var e={copy:"Copy","copy-error":"Press Ctrl+C to copy","copy-success":"Copied!","copy-timeout":5e3};for(var o in e){for(var n="data-prismjs-"+o,c=t;c&&!c.hasAttribute(n);)c=c.parentElement;c&&(e[o]=c.getAttribute(n))}return e}(o),c=document.createElement("button");c.className="copy-to-clipboard-button",c.setAttribute("type","button");var r=document.createElement("span");return c.appendChild(r),u("copy"),function(e,o){e.addEventListener("click",(function(){!function(e){navigator.clipboard?navigator.clipboard.writeText(e.getText()).then(e.success,(function(){t(e)})):t(e)}(o)}))}(c,{getText:function(){return o.textContent},success:function(){u("copy-success"),i()},error:function(){u("copy-error"),setTimeout((function(){!function(t){window.getSelection().selectAllChildren(t)}(o)}),1),i()}}),c;function i(){setTimeout((function(){u("copy")}),n["copy-timeout"])}function u(t){r.textContent=n[t],c.setAttribute("data-copy-state",t)}})):console.warn("Copy to Clipboard plugin loaded before Toolbar plugin."))}();
diff --git a/docs/static/js/share.js b/docs/static/js/share.js
deleted file mode 100644
index 59ac65bb9..000000000
--- a/docs/static/js/share.js
+++ /dev/null
@@ -1,29 +0,0 @@
-(function ($) {
- $(document).ready(function () {
- $("#gd-docs-share__button").popover({
- toggle: "popover",
- placement: "bottom",
- title: "URL:",
- template: `
-
- `,
- }).on("inserted.bs.popover", function() {
- var button = $(this);
- $("#gd-docs-share__body").wrapInner("