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 }} -
-
- Where did it go? -
-
-
-
- -
-
-
-
-

404 Page

-

This version is no longer live

- - {{ if and (isset .Site.Params "404") (isset (index .Site.Params "404") "links") }} -
-

But you can try:

- Latest version of Python SDK -

You can find past versions of the documentation in the Python SDK GitHub repository. To retrieve older version, follow the instructions in the README.

-
- {{ end }} - -
-
- Where did it go? -
-
-
-
-{{- 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 @@ -

{{ .Text }}

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 "navbar-breadcrumb.html" . }} -
    -
    -
    - {{ partial "sidebar.html" . }} -
    -
    - {{ partial "toc.html" . }} -
    -
    - {{ partial "version-banner.html" . }} - {{ if not .Site.Params.ui.breadcrumb_disable }}{{ partial "breadcrumb.html" . }}{{ end }} - {{ if .Draft }} - - {{ 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 }} - - {{ 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:

    - -{{ 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 }}
    + {{/* Skip links render right after the logo so keyboard focus order is + logo → skip links → menu without using positive tabindex. */}} + {{ partial "skip-links.html" . }} {{ partial "header-menu.html" . }} {{ partial "header-right.html" . }}
    @@ -15,26 +21,45 @@
    {{ partial "navbar-breadcrumb.html" . }}
    + {{ if not .Params.no_search }}
    + {{ end }} {{ partial "ask-ai-button.html" . }} - {{ if .Site.Params.versions }} + {{ if .Site.Params.versions }}
    {{ partial "navbar-version-selector.html" . }} - - {{ with resources.Get "icons/github.svg" }}{{ ( . | minify).Content | safeHTML }}{{ end }} - GitHub - + + {{ with resources.Get "icons/github.svg" }}{{ ( . | minify).Content | safeHTML }}{{ end }} + GitHub + + {{ partial "theme-switcher.html" . }}
    {{ else }}
    - {{ with .Site.GetPage "docs" }} {{ with resources.Get "icons/github.svg" }}{{ ( . | minify).Content | safeHTML }}{{ end }} GitHub - {{ end }} + {{ partial "theme-switcher.html" . }}
    {{ 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 @@ - 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" }} - 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 }} - -
    - {{ if $sectionLink }} - {{ with .Site.GetPage (printf "%s%s" (.Scratch.Get "docsRoot") $sectionLink) }} - -
    - {{ readFile (printf "%s%s" .RelPermalink .Params.icon) | safeHTML }} -
    -

    {{ .Title }}

    -

    {{ .Description }}

    -
    - {{ end }} - {{ else }} -
    - {{ if $icon }} -
    - {{ readFile $icon | safeHTML }} -
    - {{ end }} -

    {{ $title }}

    - - {{ if eq .Page.File.Ext "md" }} - {{ .Inner | .Page.RenderString }} - {{ else }} - {{ .Inner | htmlUnescape | safeHTML }} - {{ end }} -
    - {{ 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" }} - -
    -
    - -

    {{ .Get "title" | markdownify }}

    -
    {{ .Inner }}
    - {{ with .Get "url" }}

    {{ with $url_text }}{{ $url_text }}{{ else }}Learn more{{ end }}

    {{ end }} -
    -
    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" }}

    -
    -
    -
    -
    -

    {{ .Get "text" }}

    -
    - - {{ .Get "buttonText" }} -
    -
    -
    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 }} -
    - {{ $page.LinkTitle }} -
    - {{ end }} -
    -

    {{ $page.LinkTitle }}

    -

    {{ $page.Description }}

    - Learn more - - {{ if $page.Params.promotedLinks }} - - - {{ 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 "navbar-breadcrumb.html" . }} -
    -
    -
    - {{ partial "sidebar.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+""},!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"},/&#x?[\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:/![sra](?=[:}]$)/,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.:$-]+(?:=(?:\"(?:\\\\[^]|[^\\\\\"])*\"|'(?:\\\\[^]|[^\\\\'])*'|[^\\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("