From dbea94f3365734b884c784f4ae94406ec757db7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20=C4=8Cech?= Date: Wed, 6 May 2026 17:37:53 +0200 Subject: [PATCH 01/13] Rebranding wip --- assets/icons/icon-moon.svg | 1 + assets/icons/icon-sun.svg | 1 + assets/js/theme-switcher.js | 95 +++ assets/scss/_styles_project.scss | 2 + assets/scss/addon-widget.scss | 4 +- assets/scss/alert.scss | 25 +- assets/scss/breadcrumbs.scss | 9 +- assets/scss/code-select.scss | 10 +- assets/scss/content-select.scss | 13 +- assets/scss/dark-theme.scss | 594 +++++++++++++++++++ assets/scss/docs-homepage.scss | 12 +- assets/scss/dropdown.scss | 11 +- assets/scss/embedded-image.scss | 8 +- assets/scss/header.scss | 51 +- assets/scss/heading-anchor.scss | 3 +- assets/scss/homepage.scss | 25 +- assets/scss/homepage/box.scss | 8 +- assets/scss/menu.scss | 24 +- assets/scss/prev-next-pages.scss | 18 +- assets/scss/share-dialog.scss | 19 +- assets/scss/skip-links.scss | 12 +- assets/scss/tables.scss | 8 +- assets/scss/theme-switcher.scss | 80 +++ assets/scss/toc.scss | 16 +- assets/scss/typography.scss | 16 +- assets/scss/variables/_variables.colors.scss | 141 +++-- assets/scss/variables/_variables.scss | 62 +- docs/shortcodes/_index.md | 55 ++ docs/shortcodes/accordion-options.md | 65 ++ docs/shortcodes/alert.md | 73 +++ docs/shortcodes/blocks/_index.md | 40 ++ docs/shortcodes/blocks/card.md | 90 +++ docs/shortcodes/blocks/cards-container.md | 49 ++ docs/shortcodes/blocks/feature.md | 79 +++ docs/shortcodes/blocks/homepage-hosted.md | 48 ++ docs/shortcodes/blocks/homepage-learn.md | 55 ++ docs/shortcodes/blocks/homepage-slack.md | 49 ++ docs/shortcodes/blocks/section.md | 61 ++ docs/shortcodes/blocks/sections-list.md | 74 +++ docs/shortcodes/code-lang.md | 75 +++ docs/shortcodes/code-select.md | 92 +++ docs/shortcodes/content-block.md | 65 ++ docs/shortcodes/content-select.md | 69 +++ docs/shortcodes/embedded-image.md | 72 +++ docs/shortcodes/expand-content.md | 57 ++ docs/shortcodes/inline-icon.md | 40 ++ docs/shortcodes/label.md | 61 ++ docs/shortcodes/latest-doc-dirpath.md | 62 ++ docs/shortcodes/latesttag.md | 70 +++ docs/shortcodes/product.md | 60 ++ docs/shortcodes/redocly.md | 66 +++ docs/shortcodes/swaggerui.md | 47 ++ layouts/partials/head.html | 1 + layouts/partials/header-right.html | 1 + layouts/partials/hooks/body-end.html | 2 + layouts/partials/theme-init.html | 7 + layouts/partials/theme-switcher.html | 19 + 57 files changed, 2720 insertions(+), 152 deletions(-) create mode 100644 assets/icons/icon-moon.svg create mode 100644 assets/icons/icon-sun.svg create mode 100644 assets/js/theme-switcher.js create mode 100644 assets/scss/dark-theme.scss create mode 100644 assets/scss/theme-switcher.scss create mode 100644 docs/shortcodes/_index.md create mode 100644 docs/shortcodes/accordion-options.md create mode 100644 docs/shortcodes/alert.md create mode 100644 docs/shortcodes/blocks/_index.md create mode 100644 docs/shortcodes/blocks/card.md create mode 100644 docs/shortcodes/blocks/cards-container.md create mode 100644 docs/shortcodes/blocks/feature.md create mode 100644 docs/shortcodes/blocks/homepage-hosted.md create mode 100644 docs/shortcodes/blocks/homepage-learn.md create mode 100644 docs/shortcodes/blocks/homepage-slack.md create mode 100644 docs/shortcodes/blocks/section.md create mode 100644 docs/shortcodes/blocks/sections-list.md create mode 100644 docs/shortcodes/code-lang.md create mode 100644 docs/shortcodes/code-select.md create mode 100644 docs/shortcodes/content-block.md create mode 100644 docs/shortcodes/content-select.md create mode 100644 docs/shortcodes/embedded-image.md create mode 100644 docs/shortcodes/expand-content.md create mode 100644 docs/shortcodes/inline-icon.md create mode 100644 docs/shortcodes/label.md create mode 100644 docs/shortcodes/latest-doc-dirpath.md create mode 100644 docs/shortcodes/latesttag.md create mode 100644 docs/shortcodes/product.md create mode 100644 docs/shortcodes/redocly.md create mode 100644 docs/shortcodes/swaggerui.md create mode 100644 layouts/partials/theme-init.html create mode 100644 layouts/partials/theme-switcher.html diff --git a/assets/icons/icon-moon.svg b/assets/icons/icon-moon.svg new file mode 100644 index 0000000..e080719 --- /dev/null +++ b/assets/icons/icon-moon.svg @@ -0,0 +1 @@ + diff --git a/assets/icons/icon-sun.svg b/assets/icons/icon-sun.svg new file mode 100644 index 0000000..8e826b2 --- /dev/null +++ b/assets/icons/icon-sun.svg @@ -0,0 +1 @@ + diff --git a/assets/js/theme-switcher.js b/assets/js/theme-switcher.js new file mode 100644 index 0000000..38d2a05 --- /dev/null +++ b/assets/js/theme-switcher.js @@ -0,0 +1,95 @@ +// (C) 2025 GoodData Corporation +// Theme switcher — light / dark preference with localStorage persistence +// and respect for the OS prefers-color-scheme media query. +// +// This script is split in two parts: +// 1. A tiny inline snippet (injected into via Hugo) that applies the +// stored / OS theme *before* first paint to prevent FOUC. +// 2. The interactive toggle wired to #gd-theme-switcher once the DOM loads. +// +// Only part 2 lives in this file. Part 1 is a separate +{{ $themeSwitcherJS := resources.Get "js/theme-switcher.js" | minify | fingerprint }} + diff --git a/layouts/partials/theme-init.html b/layouts/partials/theme-init.html new file mode 100644 index 0000000..55c1762 --- /dev/null +++ b/layouts/partials/theme-init.html @@ -0,0 +1,7 @@ +{{/* (C) 2025 GoodData Corporation */}} +{{/* Inline script — applied before first paint to prevent FOUC. + Must stay as a raw inline diff --git a/layouts/partials/theme-switcher.html b/layouts/partials/theme-switcher.html new file mode 100644 index 0000000..e85f6ec --- /dev/null +++ b/layouts/partials/theme-switcher.html @@ -0,0 +1,19 @@ +{{/* (C) 2025 GoodData Corporation */}} +{{/* Theme switcher toggle button — Sun (light) / Moon (dark) */}} +{{ $sun := resources.Get "icons/icon-sun.svg" }} +{{ $moon := resources.Get "icons/icon-moon.svg" }} + + From ca21d79d198637c79f834253e123155a9e19f37d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20=C4=8Cech?= Date: Wed, 6 May 2026 17:41:59 +0200 Subject: [PATCH 02/13] bump --- docs/_index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/_index.md b/docs/_index.md index dee9d10..fae9497 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -90,3 +90,4 @@ theme = ["GDCDocsTheme", "docsy"] (C) 2007-2023 GoodData Corporation For more information, please see [LICENSE](LICENSE). + From 6c667c8c328aaaf21ec91c4aff20ca42716b1ee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20=C4=8Cech?= Date: Wed, 6 May 2026 17:55:07 +0200 Subject: [PATCH 03/13] wip --- docs/docs-homepage.md | 92 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 docs/docs-homepage.md diff --git a/docs/docs-homepage.md b/docs/docs-homepage.md new file mode 100644 index 0000000..73cbcb9 --- /dev/null +++ b/docs/docs-homepage.md @@ -0,0 +1,92 @@ +--- +tag: cloud, native +title: "Documentation Homepage" +linkTitle: "Documentation Homepage" +weight: 1 +sectionIndex: false +--- +Learn about the concepts behind GoodData, dive into technical details and follow practical examples to learn how to make GoodData work for you: + +{{< blocks/cards-container maxRow="2" >}} + {{< blocks/card sectionLink="/getting-started" >}} + {{< /blocks/card >}} + + {{< blocks/card sectionLink="/manage-organization" >}} + {{< /blocks/card >}} + + {{< blocks/card sectionLink="/connect-data" >}} + {{< /blocks/card >}} + + {{< blocks/card sectionLink="/model-data" >}} + {{< /blocks/card >}} + + {{< blocks/card sectionLink="/create-visualizations" >}} + {{< /blocks/card >}} + + {{< blocks/card sectionLink="/embed-visualizations" >}} + {{< /blocks/card >}} +{{< /blocks/cards-container >}} + +## APIs & SDKs + +As a developer, make use of our development kits and API: + +{{< blocks/cards-container >}} + {{< blocks/card title="Python SDK" icon="icon-python.svg" iconPosition="top" >}} + Develop Python applications using our analytical engine. + + [Introduction](https://www.gooddata.ai/docs/python-sdk/latest/) + [Getting Started](https://www.gooddata.ai/docs/python-sdk/latest/getting-started/) + [GoodData Pandas](https://gooddata-pandas.readthedocs.io/en/latest/) + [Github Repository](https://github.com/gooddata/gooddata-python-sdk) + {{< /blocks/card >}} + + {{< blocks/card title="React SDK" icon="icon-react.svg" iconPosition="top" >}} + Develop web applications with GoodData.UI React components. + + [Overview](https://www.gooddata.ai/docs/gooddata-ui/latest/) + [Quick Start](https://www.gooddata.ai/docs/gooddata-ui/latest/quick_start/) + [Interactive Code Examples](https://www.gooddata.ai/docs/gooddata-ui/latest/references/visual_components/interactive_examples/) + [Github Repository](https://github.com/gooddata/gooddata-ui-sdk/) + + {{< /blocks/card >}} + + {{< blocks/card title="API Docs" icon="icon-apidocs.svg" iconPosition="top" >}} + General reference for using the GoodData REST API. + + [Overview](./api-and-sdk/api/) + [API Reference](./api-and-sdk/api/api_reference_all/) + {{< /blocks/card >}} + +{{< /blocks/cards-container >}} + +## Join & Learn + + + +Did you try GoodData yet? + + + +Reach out to our shared community and knowledge base get the answers you are looking for: + +{{< blocks/cards-container >}} + {{< blocks/card title="Slack Channel" icon="icon-slack.svg" iconPosition="top" >}} + Connect with our developers and get real-time support. + + [Join us on Slack](https://gooddata.com/slack) + {{< /blocks/card >}} + + {{< blocks/card title="Community" icon="icon-community.svg" iconPosition="top" >}} + Find answers to frequently asked questions. + + [Check community](https://community.gooddata.com/) + {{< /blocks/card >}} + + {{< blocks/card title="University" icon="icon-university.svg" iconPosition="top" >}} + Learn GoodData with our courses and tutorials. + + [Do our courses](https://university.gooddata.com/) + {{< /blocks/card >}} + +{{< /blocks/cards-container >}} From 4df5dc6c538f65e5de2be50cd4edb2a551c024dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20=C4=8Cech?= Date: Wed, 6 May 2026 18:08:43 +0200 Subject: [PATCH 04/13] wip --- assets/scss/_styles_project.scss | 1 + assets/scss/cta-banner.scss | 131 +++++++++++++++++++++++++++++ docs/docs-homepage.md | 2 + docs/shortcodes/cta-banner.md | 67 +++++++++++++++ layouts/shortcodes/cta-banner.html | 29 +++++++ 5 files changed, 230 insertions(+) create mode 100644 assets/scss/cta-banner.scss create mode 100644 docs/shortcodes/cta-banner.md create mode 100644 layouts/shortcodes/cta-banner.html diff --git a/assets/scss/_styles_project.scss b/assets/scss/_styles_project.scss index 10a55dc..2cf4e5b 100644 --- a/assets/scss/_styles_project.scss +++ b/assets/scss/_styles_project.scss @@ -33,6 +33,7 @@ @import "heading-anchor"; @import "theme-switcher"; @import "dark-theme"; +@import "cta-banner"; #print { display: none; // Hide print functionality for now diff --git a/assets/scss/cta-banner.scss b/assets/scss/cta-banner.scss new file mode 100644 index 0000000..ca25791 --- /dev/null +++ b/assets/scss/cta-banner.scss @@ -0,0 +1,131 @@ +// (C) 2025 GoodData Corporation +// CTA Banner shortcode styles + +@import "variables/variables"; + +.gd-cta-banner { + display: flex; + align-items: center; + gap: pxtorem(32px); + background-color: $color-lime-green; + border-radius: 12px; + padding: pxtorem(32px) pxtorem(40px); + margin-bottom: pxtorem(40px); + overflow: hidden; + position: relative; + + // ── Text column ────────────────────────────────────────────────────────── + + &__content { + flex: 1 1 55%; + min-width: 0; + } + + &__title { + font-family: $gdfont-demibold; + font-size: pxtorem(22px); + line-height: 1.3; + color: $color-black; + margin: 0 0 pxtorem(12px); + } + + &__subtitle { + font-size: pxtorem(16px); + line-height: 1.55; + color: $color-marlin-black; + margin: 0 0 pxtorem(24px); + } + + &__button { + display: inline-block; + font-family: $gdfont-demibold; + font-size: pxtorem(16px); + line-height: 1; + padding: pxtorem(14px) pxtorem(24px); + border-radius: pxtorem(50px); + border: 2px solid $color-black; + background-color: $color-white; + color: $color-black; + text-decoration: none; + white-space: nowrap; + transition: background-color $transition, color $transition, border-color $transition; + + &:hover, + &:focus, + &:active { + background-color: $color-black; + color: $color-white; + border-color: $color-black; + text-decoration: none; + } + } + + // ── Image column ───────────────────────────────────────────────────────── + + &__media { + flex: 0 0 auto; + // Allow the image to visually overflow upward for a "pop-out" effect + margin-top: pxtorem(-48px); + margin-bottom: pxtorem(-32px); + max-width: 42%; + display: flex; + align-items: flex-end; + + img { + display: block; + width: 100%; + height: auto; + border-radius: 8px 8px 0 0; + box-shadow: 0 8px 32px rgba($color-black, 0.18); + } + } + + // ── Responsive ─────────────────────────────────────────────────────────── + + @media (max-width: 767px) { + flex-direction: column; + padding: pxtorem(24px) pxtorem(24px) pxtorem(8px); + + &__media { + max-width: 100%; + width: 100%; + margin-top: pxtorem(8px); + margin-bottom: 0; + align-items: flex-end; + + img { + border-radius: 8px 8px 0 0; + max-height: 200px; + object-fit: cover; + object-position: top left; + } + } + } +} + +// ── Dark mode ──────────────────────────────────────────────────────────────── + +[data-theme="dark"] .gd-cta-banner { + background-color: $color-key-lime-green; + + .gd-cta-banner__title { + color: $color-black; + } + + .gd-cta-banner__subtitle { + color: $color-coal-black; + } + + .gd-cta-banner__button { + color: $color-black; + border-color: $color-black; + background-color: $color-white; + + &:hover, + &:focus, + &:active { + background-color: $color-black; + color: $color-white; + } + } +} diff --git a/docs/docs-homepage.md b/docs/docs-homepage.md index 73cbcb9..34ff719 100644 --- a/docs/docs-homepage.md +++ b/docs/docs-homepage.md @@ -66,6 +66,8 @@ As a developer, make use of our development kits and API: Did you try GoodData yet? +{{< cta-banner >}} + Reach out to our shared community and knowledge base get the answers you are looking for: diff --git a/docs/shortcodes/cta-banner.md b/docs/shortcodes/cta-banner.md new file mode 100644 index 0000000..bdc3297 --- /dev/null +++ b/docs/shortcodes/cta-banner.md @@ -0,0 +1,67 @@ +--- +title: "cta-banner" +linkTitle: "cta-banner" +weight: 20 +description: "A lime-green call-to-action banner with an optional product screenshot." +--- + +`cta-banner` renders a visually prominent, lime-green banner with a title, +subtitle, and an outlined call-to-action button. An optional product screenshot +can be placed on the right side, slightly overflowing the top of the card for a +"pop-out" effect. + +## Parameters + +| Name | Required | Default | Description | +|------|----------|---------|-------------| +| `title` | No | `"Experience GoodData in Action"` | Heading text rendered in bold. | +| `subtitle` | No | Marketing copy | Supporting sentence(s) below the title. | +| `buttonText` | No | `"Explore product tours"` | Label for the CTA button. | +| `buttonUrl` | No | GoodData registration URL | `href` for the CTA button. | +| `image` | No | — | Path to an image file relative to `/static`, e.g. `"/img/dashboard.png"`. When omitted the banner spans full width with text only. | +| `imageAlt` | No | `""` | Alt text for the image (required for accessibility when `image` is set). | + +## Usage + +### Minimal (text only) + +```markdown +{{}} +``` + +### Custom text and link + +```markdown +{{}} +``` + +### With a product screenshot + +```markdown +{{}} +``` + +## Preview + +{{< cta-banner >}} + +## Design notes + +- **Background**: `$color-lime-green` (`#DAFE85`) — the primary GoodData brand colour. +- **Button**: outlined pill button (white fill, black border). On hover it inverts to a solid black button with white text. +- **Image**: rendered flush with the bottom of the banner and slightly overflowing the top, giving a floating screenshot effect. Omitting `image` produces a clean full-width text layout. +- **Dark mode**: the banner switches to `$color-key-lime-green` (`#C6E57B`) so it remains readable on dark backgrounds. Button styles are unchanged. +- **Responsive**: on viewports narrower than 768 px the image stacks below the text. +- The shortcode is self-closing (no inner body content); all customisation is done through parameters. diff --git a/layouts/shortcodes/cta-banner.html b/layouts/shortcodes/cta-banner.html new file mode 100644 index 0000000..f398d0f --- /dev/null +++ b/layouts/shortcodes/cta-banner.html @@ -0,0 +1,29 @@ +{{/* (C) 2025 GoodData Corporation + CTA Banner shortcode + Parameters: + title – heading text (default: "Experience GoodData in Action") + subtitle – body text (default: preset marketing copy) + buttonText – CTA label (default: "Explore product tours") + buttonUrl – CTA href (default: GoodData registration URL) + image – path to image relative to /static (default: none) + imageAlt – alt text for the image (default: "") +*/}} +{{ $title := .Get "title" | default "Experience GoodData in Action" }} +{{ $subtitle := .Get "subtitle" | default "Discover how our platform brings data, analytics, and AI together — through interactive product walkthroughs." }} +{{ $buttonText := .Get "buttonText" | default "Explore product tours" }} +{{ $buttonUrl := .Get "buttonUrl" | default "https://registration.cloud.gooddata.com/register" }} +{{ $image := .Get "image" }} +{{ $imageAlt := .Get "imageAlt" | default "" }} + +
+
+

{{ $title }}

+

{{ $subtitle }}

+ {{ $buttonText }} +
+ {{ if $image }} +
+ {{ $imageAlt }} +
+ {{ end }} +
From 7ff705c16303a2b4e17213ddb840c078f2f71f23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20=C4=8Cech?= Date: Wed, 6 May 2026 18:28:41 +0200 Subject: [PATCH 05/13] wip --- assets/scss/alert.scss | 19 +++--- assets/scss/code-select.scss | 37 ++++++----- assets/scss/cta-banner.scss | 88 ++++++++++++++++----------- assets/scss/dark-theme.scss | 8 +-- assets/scss/embedded-image.scss | 3 +- assets/scss/header.scss | 10 +-- assets/scss/menu.scss | 13 ++-- assets/scss/prev-next-pages.scss | 17 ++---- assets/scss/toc.scss | 24 +++++--- assets/scss/typography.scss | 10 +-- assets/scss/variables/_variables.scss | 10 +-- 11 files changed, 138 insertions(+), 101 deletions(-) diff --git a/assets/scss/alert.scss b/assets/scss/alert.scss index 10a1bd0..7427768 100644 --- a/assets/scss/alert.scss +++ b/assets/scss/alert.scss @@ -4,10 +4,10 @@ .alert, .td-content > blockquote { - padding: 8px 16px 8px 45px; + padding: 24px 32px 24px 68px; border: none; border-left: $alert-border-width solid $color-storm-gray; - border-radius: 0; + border-radius: 6px; color: $color-alert; background-color: $color-alert-bg; @@ -21,8 +21,10 @@ &-heading { .td-content & { - margin-top: 10px; + margin-top: 0; margin-bottom: 5px; + font-size: 20px; + line-height: 1.3; } } @@ -34,13 +36,13 @@ &-info { border-left-color: $color-alert-info; background-color: $color-alert-info-bg; + color: $color-alert-info; .alert-heading { color: $color-alert-info; } > svg path { - // Tint the brand info glyph to match the deep ocean accent. fill: $color-alert-info; } } @@ -48,9 +50,10 @@ &-warning { border-left-color: $color-alert-warning; background-color: $color-alert-warning-bg; + color: $color-black; .alert-heading { - color: $color-alert-warning; + color: $color-black; } > svg path { @@ -89,8 +92,8 @@ > svg { position: absolute; - top: 13px; - left: 15px; + top: 26px; + left: 32px; } strong { @@ -101,4 +104,4 @@ .td-content .alert.alert-label { margin-top: 1.5rem; margin-bottom: 1.5rem; -} \ No newline at end of file +} diff --git a/assets/scss/code-select.scss b/assets/scss/code-select.scss index d583a8d..a6c9c35 100644 --- a/assets/scss/code-select.scss +++ b/assets/scss/code-select.scss @@ -4,7 +4,7 @@ .td-content .highlight, .td-content .code-toolbar { border: none; - border-radius: 0; + border-radius: 6px; background-color: $color-code-bg; pre { @@ -22,7 +22,15 @@ button { height: 27px; - background-color: $color-gunpowder-gray; + padding: 6px 8px; + border-radius: 4px; + background-color: $color-marlin-black; + color: $color-silver-gray; + font-size: 14px; + box-shadow: none; + border: none; + line-height: 1.3; + transition: background-color $transition, color $transition; &.expand-button { position: relative; @@ -49,26 +57,25 @@ } &:hover { - box-shadow: 0 1px 1px 0 rgba(20, 56, 93, 0.15), inset 0 -1px 0 0 rgba(177, 193, 209, 0.6); - color: #464e56; - background: #f5f8fa; - border-color: rgba(31,52,73,0.2); + background-color: $color-gunpowder-gray; + color: $color-white; + box-shadow: none; + border-color: transparent; } &:focus { - box-shadow: 0 0 3px 1px rgba(69, 199, 239, 0), 0 1px 2px 0 rgba(20, 56, 93, 0.15), inset 0 -1px 0 0 rgba(177, 193, 209, 0.6); - border-color: rgba(20, 178, 226, 0.75); - background: #f5f8fa; - outline: 2px solid -webkit-focus-ring-color; + background-color: $color-gunpowder-gray; + color: $color-white; + outline: 2px solid $color-ocean-blue; + outline-offset: 2px; + box-shadow: none; transition: none; } &:active { - box-shadow: inset 0 1px 0 0 rgba(177, 193, 209, 0.65); - color: #464e56; - border-color: #b1c1d1; - background: #ecf0f5; - background-image: linear-gradient(to top, #dee6ef, #ecf0f5); + background-color: $color-storm-gray; + color: $color-white; + box-shadow: none; } span { diff --git a/assets/scss/cta-banner.scss b/assets/scss/cta-banner.scss index ca25791..c4e679a 100644 --- a/assets/scss/cta-banner.scss +++ b/assets/scss/cta-banner.scss @@ -5,11 +5,11 @@ .gd-cta-banner { display: flex; - align-items: center; - gap: pxtorem(32px); + align-items: flex-end; + gap: pxtorem(24px); background-color: $color-lime-green; - border-radius: 12px; - padding: pxtorem(32px) pxtorem(40px); + border-radius: 16px; + padding: pxtorem(32px); margin-bottom: pxtorem(40px); overflow: hidden; position: relative; @@ -17,37 +17,47 @@ // ── Text column ────────────────────────────────────────────────────────── &__content { - flex: 1 1 55%; + flex: 0 0 auto; + width: 55%; min-width: 0; + display: flex; + flex-direction: column; + gap: pxtorem(24px); + align-items: flex-start; } &__title { font-family: $gdfont-demibold; font-size: pxtorem(22px); - line-height: 1.3; + line-height: 1; color: $color-black; - margin: 0 0 pxtorem(12px); + margin: 0; } &__subtitle { - font-size: pxtorem(16px); - line-height: 1.55; - color: $color-marlin-black; - margin: 0 0 pxtorem(24px); + font-size: pxtorem(18px); + line-height: 1.3; + letter-spacing: -0.18px; + color: $color-black; + margin: 0; } &__button { - display: inline-block; + display: inline-flex; + align-items: center; + justify-content: center; font-family: $gdfont-demibold; - font-size: pxtorem(16px); + font-size: pxtorem(18px); line-height: 1; - padding: pxtorem(14px) pxtorem(24px); - border-radius: pxtorem(50px); - border: 2px solid $color-black; + height: 48px; + padding: 0 pxtorem(32px); + border-radius: 8px; + border: 1px solid $color-cloud-gray; background-color: $color-white; color: $color-black; text-decoration: none; white-space: nowrap; + flex-shrink: 0; transition: background-color $transition, color $transition, border-color $transition; &:hover, @@ -62,21 +72,23 @@ // ── Image column ───────────────────────────────────────────────────────── + &--has-image { + // Extra right padding so the absolutely-positioned image doesn't clip text + padding-right: pxtorem(40px); + } + &__media { - flex: 0 0 auto; - // Allow the image to visually overflow upward for a "pop-out" effect - margin-top: pxtorem(-48px); - margin-bottom: pxtorem(-32px); - max-width: 42%; - display: flex; - align-items: flex-end; + position: absolute; + top: -13px; + right: pxtorem(32px); + width: 42%; + max-width: 340px; img { display: block; width: 100%; height: auto; - border-radius: 8px 8px 0 0; - box-shadow: 0 8px 32px rgba($color-black, 0.18); + border-radius: 4px; } } @@ -84,18 +96,22 @@ @media (max-width: 767px) { flex-direction: column; - padding: pxtorem(24px) pxtorem(24px) pxtorem(8px); + align-items: flex-start; + padding: pxtorem(24px); + + &__content { + width: 100%; + } &__media { - max-width: 100%; + position: static; width: 100%; + max-width: 100%; margin-top: pxtorem(8px); - margin-bottom: 0; - align-items: flex-end; img { - border-radius: 8px 8px 0 0; - max-height: 200px; + border-radius: 4px 4px 0 0; + max-height: 180px; object-fit: cover; object-position: top left; } @@ -108,17 +124,14 @@ [data-theme="dark"] .gd-cta-banner { background-color: $color-key-lime-green; - .gd-cta-banner__title { - color: $color-black; - } - + .gd-cta-banner__title, .gd-cta-banner__subtitle { - color: $color-coal-black; + color: $color-black; } .gd-cta-banner__button { color: $color-black; - border-color: $color-black; + border-color: $color-storm-gray; background-color: $color-white; &:hover, @@ -126,6 +139,7 @@ &:active { background-color: $color-black; color: $color-white; + border-color: $color-black; } } } diff --git a/assets/scss/dark-theme.scss b/assets/scss/dark-theme.scss index 99ee297..d66ab63 100644 --- a/assets/scss/dark-theme.scss +++ b/assets/scss/dark-theme.scss @@ -206,16 +206,16 @@ &__link { &, - &:hover, - &:active, - &:focus { + &:visited { color: $color-silver-gray; + text-decoration: none; } &:hover, &:active, &:focus { color: $color-white; + text-decoration: none; } } @@ -229,7 +229,7 @@ } &-page.active > &-page__title &-page__link { - color: $color-ice-blue; + color: $color-lime-green; } h4 { diff --git a/assets/scss/embedded-image.scss b/assets/scss/embedded-image.scss index b7cdb82..d450ec9 100644 --- a/assets/scss/embedded-image.scss +++ b/assets/scss/embedded-image.scss @@ -12,8 +12,9 @@ align-items: center; justify-content: center; margin-bottom: 17px; - padding: 30px; + padding: 18px; background: $color-mist-gray; + border-radius: 12px; @include media-breakpoint-up(lg) { max-width: 80%; diff --git a/assets/scss/header.scss b/assets/scss/header.scss index 1bbc5c9..aee2dae 100644 --- a/assets/scss/header.scss +++ b/assets/scss/header.scss @@ -144,9 +144,9 @@ display: flex; align-items: center; height: 2.5rem; - padding: .56rem 1.06rem; + padding: .56rem 1.25rem; border: 1px solid transparent; - border-radius: 40px; + border-radius: 8px; font-family: $gdfont-demibold; font-size: 18px; font-weight: normal; @@ -218,10 +218,10 @@ .td-search-input { width: 100%; max-width: 650px; - height: 36px; + height: 32px; margin: 0; - padding: 1px 15px; - border-radius: 20px; + padding: 8px 12px; + border-radius: 6px; color: $color-marlin-black; font-size: 14px; background: $color-white; diff --git a/assets/scss/menu.scss b/assets/scss/menu.scss index 30b0cf0..f64e298 100644 --- a/assets/scss/menu.scss +++ b/assets/scss/menu.scss @@ -131,6 +131,9 @@ } &-section { + display: flex; + flex-direction: column; + gap: 16px; padding-left: 12px; list-style-type: none; @@ -171,14 +174,16 @@ &__title { display: flex; + align-items: center; + gap: 8px; + width: 100%; } &__link { position: relative; display: inline-block; flex: 1 1 auto; - margin: 8px 20px 3px 0; - padding: 0 0 5px; + min-width: 0; max-width: 100%; font-size: 15px; line-height: 1.5; @@ -188,19 +193,19 @@ &:active, &:focus { color: $color-marlin-black; + text-decoration: none; } &:hover, &:active, &:focus { color: $color-black; - text-decoration: underline; } } &.active > &__title &__link { font-family: $gdfont-demibold; - color: $color-link; + color: $color-black; &, &:hover, diff --git a/assets/scss/prev-next-pages.scss b/assets/scss/prev-next-pages.scss index a18ce38..19853a9 100644 --- a/assets/scss/prev-next-pages.scss +++ b/assets/scss/prev-next-pages.scss @@ -17,21 +17,16 @@ display: block; max-width: 100%; padding: 0 15px; - color: $color-cta; - font-size: 16px; - font-weight: bold; + color: $color-link; + font-family: $gdfont-demibold; + font-size: 14px; + text-decoration: underline; - &, &:hover, &:focus, &:active { - text-decoration: none; - } - - &:hover, - &:focus, - &:active { - color: $color-cta-hover; + color: $color-link-hover; + text-decoration: underline; } } diff --git a/assets/scss/toc.scss b/assets/scss/toc.scss index 519dfdb..290ffe1 100644 --- a/assets/scss/toc.scss +++ b/assets/scss/toc.scss @@ -33,14 +33,14 @@ $toc-top: 20px; &:hover, &:focus, &:active { - color: $color-marlin-black; + color: $color-storm-gray; } &:hover, &:focus, &:active { - color: $color-link-hover; - text-decoration: underline; + color: $color-marlin-black; + text-decoration: none; } } @@ -52,10 +52,12 @@ $toc-top: 20px; } h3 { - margin: 35px 0 15px; + margin: 16px 0 8px; color: $color-black; - font-size: 21px; - font-weight: bold; + font-family: $gdfont-demibold; + font-size: 15px; + font-weight: normal; + line-height: 1.5; } } @@ -78,7 +80,15 @@ $toc-top: 20px; a { padding-bottom: 5px; font-size: 15px; - line-height: 26px; + line-height: 1.5; + color: $color-storm-gray; + + &:hover, + &:focus, + &:active { + color: $color-marlin-black; + text-decoration: none; + } } } diff --git a/assets/scss/typography.scss b/assets/scss/typography.scss index 42a8823..b73e292 100644 --- a/assets/scss/typography.scss +++ b/assets/scss/typography.scss @@ -31,7 +31,7 @@ body { color: $color-text; font-family: $font-family; font-size: 17px; - line-height: 1.5; + line-height: 1.3; background-color: $color-page-bg; } @@ -65,16 +65,18 @@ body { } h1 { - font-family: $gdfont-regular; + font-family: $gdfont-demibold; font-weight: normal; - font-size: 2.25em; + font-size: 36px; + line-height: 1; margin-bottom: 1.5rem; } h2 { font-family: $gdfont-regular; font-weight: normal; - font-size: 1.75em; + font-size: 30px; + line-height: 1; } h3 { diff --git a/assets/scss/variables/_variables.scss b/assets/scss/variables/_variables.scss index 0c8dbf3..158d8e4 100644 --- a/assets/scss/variables/_variables.scss +++ b/assets/scss/variables/_variables.scss @@ -42,17 +42,17 @@ $color-cta: $color-shocking-pink; $color-cta-hover: $color-shocking-pink-h; // Code background -$color-code-bg: $color-coal-black; +$color-code-bg: $color-black; // Alerts $color-alert: $color-marlin-black; $color-alert-bg: $color-mist-gray; -$color-alert-info: $color-deep-ocean-blue; -$color-alert-info-bg: $color-alice-blue; +$color-alert-info: $color-ocean-blue; // #285D92 — matches Figma +$color-alert-info-bg: $color-alice-blue; // #E1EEFA — matches Figma $color-alert-warning: $color-red; -$color-alert-warning-bg: rgba($color-red, 0.06); +$color-alert-warning-bg: #fff1f5; // Figma-exact light pink tint $color-alert-label: $color-white; $color-alert-label-bg: $color-black; @@ -66,6 +66,6 @@ $color-gray-bg: $color-mist-gray; // keep working but point to the canonical palette. $color-shocking-pink-dark: $color-shocking-pink-h; -$alert-border-width: 5px; +$alert-border-width: 6px; // Figma: 6px left border on alerts $transition: 0.15s ease-in-out; From f9f0be76c6e8b456b638b6b87492516114f34cc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20=C4=8Cech?= Date: Wed, 6 May 2026 18:40:31 +0200 Subject: [PATCH 06/13] wip --- assets/scss/theme-switcher.scss | 71 ++++++++++++---------------- layouts/partials/header-right.html | 1 - layouts/partials/navbar.html | 2 + layouts/partials/theme-switcher.html | 17 ++++--- 4 files changed, 41 insertions(+), 50 deletions(-) diff --git a/assets/scss/theme-switcher.scss b/assets/scss/theme-switcher.scss index 7aace47..3e5e7d5 100644 --- a/assets/scss/theme-switcher.scss +++ b/assets/scss/theme-switcher.scss @@ -1,80 +1,67 @@ // (C) 2025 GoodData Corporation -// Styles for the light / dark theme toggle button in the header. +// Pill toggle matching Figma "modes switch" — two icon slots, active gets a filled circle. @import "variables/variables"; .gd-docs-theme-switcher { display: inline-flex; align-items: center; - justify-content: center; - width: 36px; - height: 36px; - padding: 0; - margin-left: 8px; - border: 1px solid $color-cloud-gray; - border-radius: 6px; - background: transparent; - color: $color-marlin-black; + gap: 2px; + padding: 2px; + border: none; + border-radius: 50px; + background: $color-white; cursor: pointer; flex-shrink: 0; - transition: color $transition, background $transition, border-color $transition; - - &:hover, - &:focus, - &:active { - color: $color-black; - background: $color-mist-gray; - border-color: $color-storm-gray; - } + width: 54px; + height: 28px; + transition: background $transition; &:focus-visible { outline: 2px solid $color-ocean-blue; outline-offset: 2px; } - // SVG icons — show only the relevant one depending on current theme - &__icon { + &__option { display: flex; align-items: center; justify-content: center; - line-height: 1; + width: 24px; + height: 24px; + border-radius: 50%; + flex-shrink: 0; + transition: background $transition, color $transition; + color: $color-storm-gray; svg { display: block; - width: 18px; - height: 18px; + width: 16px; + height: 16px; } - // Default (light theme): show moon (to switch to dark) + // Light mode: sun (right slot) is active — gets filled circle &--light { - display: none; + background: $color-storm-gray; + color: $color-white; } &--dark { - display: flex; + background: transparent; } } - // Dark theme: show sun (to switch back to light) + // Dark mode: moon (left slot) becomes active, sun becomes inactive [data-theme="dark"] & { - color: $color-silver-gray; - border-color: $color-marlin-black; - background: transparent; + background: $color-marlin-black; - &:hover, - &:focus, - &:active { + .gd-docs-theme-switcher__option--dark { + background: $color-storm-gray; color: $color-white; - background: $color-gunpowder-gray; - border-color: $color-silver-gray; - } - - .gd-docs-theme-switcher__icon--light { - display: flex; } - .gd-docs-theme-switcher__icon--dark { - display: none; + .gd-docs-theme-switcher__option--light { + background: transparent; + color: $color-storm-gray; } } } diff --git a/layouts/partials/header-right.html b/layouts/partials/header-right.html index a3d1801..32f6788 100644 --- a/layouts/partials/header-right.html +++ b/layouts/partials/header-right.html @@ -11,7 +11,6 @@ {{ end }}
- {{ partial "theme-switcher.html" . }} {{ range $rightMenu }} {{ if eq .type "button" }} {{ partial "navbar-version-selector.html" . }} + {{ partial "theme-switcher.html" . }}
{{ else }}
{{ with .Site.GetPage "docs" }} {{ .Name }} {{ end }} + {{ partial "theme-switcher.html" . }}
{{ end }} diff --git a/layouts/partials/theme-switcher.html b/layouts/partials/theme-switcher.html index e85f6ec..690f365 100644 --- a/layouts/partials/theme-switcher.html +++ b/layouts/partials/theme-switcher.html @@ -1,19 +1,22 @@ {{/* (C) 2025 GoodData Corporation */}} -{{/* Theme switcher toggle button — Sun (light) / Moon (dark) */}} -{{ $sun := resources.Get "icons/icon-sun.svg" }} +{{/* Theme switcher — pill toggle matching Figma "modes switch" design. + Two icon slots (dark/moon left, light/sun right). + The active slot gets a filled circle background. + Light mode → sun slot is active. Dark mode → moon slot is active. */}} {{ $moon := resources.Get "icons/icon-moon.svg" }} +{{ $sun := resources.Get "icons/icon-sun.svg" }} From 360c926859d002665f372e305b38cf8d15fe58e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20=C4=8Cech?= Date: Wed, 6 May 2026 19:15:07 +0200 Subject: [PATCH 07/13] wip --- docs/_index.md | 11 + docs/docs-homepage.md | 2 - docs/markdown-reference.md | 505 +++++++++++++++++++++++++++++++++++++ 3 files changed, 516 insertions(+), 2 deletions(-) create mode 100644 docs/markdown-reference.md diff --git a/docs/_index.md b/docs/_index.md index fae9497..123cb16 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -3,6 +3,10 @@ title: "GoodData Docs Theme" linkTitle: "Home" weight: 1 cascade: +- type: "docs" + toc_root: true + _target: + path: "/*" - type: "docs" toc_root: true _target: @@ -85,6 +89,13 @@ Hugo configuration file (config.toml): theme = ["GDCDocsTheme", "docsy"] ``` +## Reference + +| Page | Description | +|------|-------------| +| [Markdown Reference](markdown-reference) | All Markdown formatting options with live rendered output. | +| [Shortcodes](shortcodes) | Every Hugo shortcode bundled with the theme. | + ## License (C) 2007-2023 GoodData Corporation diff --git a/docs/docs-homepage.md b/docs/docs-homepage.md index 34ff719..7abf763 100644 --- a/docs/docs-homepage.md +++ b/docs/docs-homepage.md @@ -2,8 +2,6 @@ tag: cloud, native title: "Documentation Homepage" linkTitle: "Documentation Homepage" -weight: 1 -sectionIndex: false --- Learn about the concepts behind GoodData, dive into technical details and follow practical examples to learn how to make GoodData work for you: diff --git a/docs/markdown-reference.md b/docs/markdown-reference.md new file mode 100644 index 0000000..90d9cc5 --- /dev/null +++ b/docs/markdown-reference.md @@ -0,0 +1,505 @@ +--- +title: "Markdown Formatting Reference" +linkTitle: "Markdown Reference" +weight: 20 +type: docs +description: "A complete reference of Markdown formatting options supported by Hugo (Goldmark renderer) with live rendered output." +--- + +This page is a living reference for all Markdown formatting you can use in documentation pages. Every section shows the raw Markdown source alongside the rendered result so you can quickly copy-paste what you need. + +Hugo uses the [Goldmark](https://github.com/yuin/goldmark) Markdown renderer, which is fully [CommonMark](https://commonmark.org/) compliant with a number of useful extensions enabled. + +--- + +## Headings + +Use `#` characters at the start of a line. The number of `#` signs maps to the HTML heading level. An automatic anchor is generated for every heading. + +```markdown +# Heading 1 +## Heading 2 +### Heading 3 +#### Heading 4 +##### Heading 5 +###### Heading 6 +``` + +## Heading 2 +### Heading 3 +#### Heading 4 +##### Heading 5 +###### Heading 6 + +> **Tip:** Use only one H1 per page — Hugo generates it from the `title` front matter key. + +--- + +## Paragraphs and line breaks + +Separate paragraphs with a blank line. A single newline inside a paragraph does **not** produce a `
`. + +```markdown +This is the first paragraph. It continues on the next +line without a break. + +This is the second paragraph, separated by a blank line. + +For a hard line break, end a line with two or more spaces +and then start the next line. +``` + +This is the first paragraph. It continues on the next +line without a break. + +This is the second paragraph, separated by a blank line. + +For a hard line break, end a line with two or more spaces +and then start the next line. + +--- + +## Emphasis + +```markdown +**Bold** — double asterisks or double underscores: **bold** or __bold__ +*Italic* — single asterisks or underscores: *italic* or _italic_ +***Bold and italic*** — triple asterisks: ***bold italic*** +~~Strikethrough~~ — double tildes (Goldmark extension) +`Inline code` — backticks +``` + +**Bold** — double asterisks or double underscores: **bold** or __bold__ + +*Italic* — single asterisks or underscores: *italic* or _italic_ + +***Bold and italic*** — triple asterisks: ***bold italic*** + +~~Strikethrough~~ — double tildes (Goldmark extension) + +`Inline code` — backticks + +--- + +## Blockquotes + +Prefix lines with `>`. Blockquotes can be nested and can contain other Markdown elements. + +```markdown +> This is a simple blockquote. + +> **Nested and formatted.** +> Use a `>` on blank lines to keep the blockquote open. +> +> Second paragraph inside the same blockquote. +> +> > This is a nested blockquote. +``` + +> This is a simple blockquote. + +> **Nested and formatted.** +> Use a `>` on blank lines to keep the blockquote open. +> +> Second paragraph inside the same blockquote. +> +> > This is a nested blockquote. + +--- + +## Lists + +### Unordered lists + +Use `-`, `*`, or `+` as list markers (mixing is allowed but not recommended). + +```markdown +- Alpha +- Beta + - Beta 1 + - Beta 2 + - Beta 2a +- Gamma +``` + +- Alpha +- Beta + - Beta 1 + - Beta 2 + - Beta 2a +- Gamma + +### Ordered lists + +```markdown +1. First item +2. Second item + 1. Sub-item A + 2. Sub-item B +3. Third item +``` + +1. First item +2. Second item + 1. Sub-item A + 2. Sub-item B +3. Third item + +The actual numbers don't matter — Goldmark always increments correctly: + +```markdown +1. Item one +1. Item two +1. Item three +``` + +1. Item one +1. Item two +1. Item three + +### Task lists + +Goldmark supports GitHub-style task lists (checked items are rendered read-only in static output): + +```markdown +- [x] Write the Markdown reference +- [x] Add live examples +- [ ] Review with the team +- [ ] Publish +``` + +- [x] Write the Markdown reference +- [x] Add live examples +- [ ] Review with the team +- [ ] Publish + +--- + +## Code + +### Inline code + +Wrap text in backticks for inline monospace formatting. + +```markdown +Run `hugo server --disableFastRender` to start a local preview. +``` + +Run `hugo server --disableFastRender` to start a local preview. + +### Fenced code blocks + +Use triple backticks (` ``` `) or triple tildes (`~~~`). Add a language identifier immediately after the opening fence to enable syntax highlighting (powered by [Prism.js](https://prismjs.com/)). + +````markdown +```bash +hugo mod get -u github.com/gooddata/gooddata-docs-theme +``` +```` + +```bash +hugo mod get -u github.com/gooddata/gooddata-docs-theme +``` + +````markdown +```python +def greet(name: str) -> str: + return f"Hello, {name}!" + +print(greet("GoodData")) +``` +```` + +```python +def greet(name: str) -> str: + return f"Hello, {name}!" + +print(greet("GoodData")) +``` + +````markdown +```json +{ + "name": "gooddata-docs-theme", + "version": "1.0.0", + "description": "GoodData Hugo documentation theme" +} +``` +```` + +```json +{ + "name": "gooddata-docs-theme", + "version": "1.0.0", + "description": "GoodData Hugo documentation theme" +} +``` + +````markdown +```sql +SELECT + workspace_id, + COUNT(*) AS metric_count +FROM metrics +WHERE created_at >= CURRENT_DATE - INTERVAL '30 days' +GROUP BY workspace_id +ORDER BY metric_count DESC; +``` +```` + +```sql +SELECT + workspace_id, + COUNT(*) AS metric_count +FROM metrics +WHERE created_at >= CURRENT_DATE - INTERVAL '30 days' +GROUP BY workspace_id +ORDER BY metric_count DESC; +``` + +### Indented code block + +Four-space (or one-tab) indentation also creates a code block, but without language highlighting: + +```markdown + $ hugo version + hugo v0.128.0+extended +``` + + $ hugo version + hugo v0.128.0+extended + +--- + +## Tables + +Tables use `|` as column separators. Alignment is controlled by the position of `:` in the separator row. + +```markdown +| Name | Type | Required | Default | Description | +|-------------|---------|:--------:|---------|------------------------------| +| `color` | string | No | `info` | Alert variant color. | +| `title` | string | No | — | Optional heading text. | +| `buttonUrl` | string | Yes | — | Destination URL for the CTA. | +``` + +| Name | Type | Required | Default | Description | +|-------------|---------|:--------:|---------|------------------------------| +| `color` | string | No | `info` | Alert variant color. | +| `title` | string | No | — | Optional heading text. | +| `buttonUrl` | string | Yes | — | Destination URL for the CTA. | + +Alignment: + +```markdown +| Left-aligned | Centered | Right-aligned | +|:-------------|:--------:|--------------:| +| cell | cell | cell | +| longer cell | center | 1,234.56 | +``` + +| Left-aligned | Centered | Right-aligned | +|:-------------|:--------:|--------------:| +| cell | cell | cell | +| longer cell | center | 1,234.56 | + +--- + +## Links + +### Inline links + +```markdown +[GoodData website](https://www.gooddata.com) +[Relative page link](../shortcodes/alert) +``` + +[GoodData website](https://www.gooddata.com) + +[Relative page link](../shortcodes/alert) + +### Reference links + +Useful when the same URL is referenced multiple times — keeps prose readable. + +```markdown +The [GoodData API][api] and [GoodData Cloud][cloud] are both documented online. + +[api]: https://www.gooddata.com/developers/cloud-native/doc/cloud/api-and-sdk/ +[cloud]: https://www.gooddata.com/cloud/ +``` + +The [GoodData API][api] and [GoodData Cloud][cloud] are both documented online. + +[api]: https://www.gooddata.com/developers/cloud-native/doc/cloud/api-and-sdk/ +[cloud]: https://www.gooddata.com/cloud/ + +### Autolinks + +Bare URLs enclosed in angle brackets are turned into clickable links: + +```markdown + + +``` + + + + + +--- + +## Images + +The syntax is identical to links but prefixed with `!`. The alt text is mandatory for accessibility. + +```markdown +![GoodData logo](/img/GoodDataLearn.svg) +``` + +### Linked image + +Wrap an image in a link by nesting the image syntax inside link syntax: + +```markdown +[![GoodData logo](/img/GoodDataLearn.svg)](https://www.gooddata.com) +``` + +### With width / height (HTML attribute passthrough) + +Hugo's Goldmark renderer supports attribute blocks `{ }` after certain elements: + +```markdown +![GoodData logo](/img/GoodDataLearn.svg){ width=200 } +``` + +--- + +## Horizontal rules + +Three or more `-`, `*`, or `_` on their own line produce a `
`. A blank line before the rule is required to avoid ambiguity with the alternate heading syntax. + +```markdown +--- + +*** + +___ +``` + +--- + +*** + +--- + +## HTML + +Inline HTML is passed through by the renderer. Use sparingly — Markdown should cover most formatting needs. + +```markdown +Ctrl + C to copy. + +Text with a highlighted word. + +Superscript: E = mc2 + +Subscript: H2O +``` + +Ctrl + C to copy. + +Text with a highlighted word. + +Superscript: E = mc2 + +Subscript: H2O + +--- + +## Escaping special characters + +Prefix any Markdown punctuation character with a backslash to render it literally. + +```markdown +\*Not italic\* +\# Not a heading +\[Not a link\](http://example.com) +\`Not code\` +``` + +\*Not italic\* + +\# Not a heading + +\[Not a link\](http://example.com) + +\`Not code\` + +The full set of escapable characters: `\ ` ` * _ { } [ ] ( ) # + - . !` + +--- + +## Definition lists + +Goldmark supports definition lists through an extension: + +```markdown +API key +: A secret token used to authenticate requests to the GoodData REST API. + +Workspace +: An isolated analytics environment containing data sources, metrics, and dashboards. + +LDM +: Logical Data Model — the semantic layer that maps raw database tables to business concepts. +``` + +API key +: A secret token used to authenticate requests to the GoodData REST API. + +Workspace +: An isolated analytics environment containing data sources, metrics, and dashboards. + +LDM +: Logical Data Model — the semantic layer that maps raw database tables to business concepts. + +--- + +## Footnotes + +Goldmark supports Pandoc-style footnotes: + +```markdown +GoodData supports multi-tenancy[^1] and row-level security[^2] out of the box. + +[^1]: Each customer workspace is fully isolated from others. +[^2]: Access to individual data rows can be restricted per user or user group. +``` + +GoodData supports multi-tenancy[^1] and row-level security[^2] out of the box. + +[^1]: Each customer workspace is fully isolated from others. +[^2]: Access to individual data rows can be restricted per user or user group. + +--- + +## Emojis + +Hugo supports GitHub-style emoji shortcodes when `enableEmoji: true` is set in the site config: + +```markdown +:rocket: Deployed! :white_check_mark: Tests passing :warning: Check logs +``` + +:rocket: Deployed!   :white_check_mark: Tests passing   :warning: Check logs + +--- + +## See also + +- [Shortcodes reference](shortcodes) — GoodData-specific components that extend Markdown. +- [Alert shortcode](shortcodes/alert) — styled callout boxes for tips and warnings. +- [Code-select shortcode](shortcodes/code-select) — tabbed code blocks with OS detection. +- [CommonMark spec](https://commonmark.org/help/) — the underlying standard. +- [Goldmark extensions](https://github.com/yuin/goldmark#extensions) — full list of enabled Goldmark extensions. From 98f9aa12f2b8286a7ad8cced2e19689797fac231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikola=20=C4=8Cech?= Date: Wed, 6 May 2026 19:21:11 +0200 Subject: [PATCH 08/13] wip --- README.md | 2 +- assets/js/base.js | 2 +- assets/js/theme-switcher.js | 2 +- assets/json/offline-search-index.json | 2 +- assets/scss/_styles_project.scss | 2 +- assets/scss/addon-widget.scss | 2 +- assets/scss/alert.scss | 2 +- assets/scss/api-reference.scss | 2 +- assets/scss/breadcrumbs.scss | 2 +- assets/scss/code-select.scss | 2 +- assets/scss/content-select.scss | 2 +- assets/scss/cta-banner.scss | 2 +- assets/scss/dark-theme.scss | 2 +- assets/scss/dropdown.scss | 2 +- assets/scss/embedded-image.scss | 2 +- assets/scss/functions/_functions.pxtorem.scss | 2 +- assets/scss/header.scss | 2 +- assets/scss/heading-anchor.scss | 2 +- assets/scss/homepage.scss | 2 +- assets/scss/homepage/box.scss | 2 +- assets/scss/homepage/hosted.scss | 2 +- assets/scss/homepage/icons.scss | 2 +- assets/scss/homepage/learn.scss | 2 +- assets/scss/homepage/sections-list.scss | 2 +- assets/scss/homepage/slack.scss | 2 +- assets/scss/layout.scss | 2 +- assets/scss/menu.scss | 2 +- assets/scss/mixins/_mixins.media-queries.scss | 2 +- assets/scss/prev-next-pages.scss | 2 +- assets/scss/share-dialog.scss | 2 +- assets/scss/swagger.scss | 2 +- assets/scss/tables.scss | 2 +- assets/scss/theme-switcher.scss | 2 +- assets/scss/toc.scss | 2 +- assets/scss/tooltip.scss | 2 +- assets/scss/typography.scss | 2 +- assets/scss/variables/_variables.colors.scss | 2 +- assets/scss/variables/_variables.footer.scss | 2 +- assets/scss/variables/_variables.media-queries.scss | 2 +- assets/scss/variables/_variables.scss | 2 +- docs/_index.md | 2 +- layouts/_default/_markup/render-heading.html | 2 +- layouts/_default/_markup/render-image.html | 2 +- layouts/_default/_markup/render-link.html | 2 +- layouts/_default/baseof.html | 2 +- layouts/_default/content.html | 2 +- layouts/_default/sitemap.xml | 2 +- layouts/api-reference/baseof.html | 2 +- layouts/api-reference/content.html | 2 +- layouts/docs/baseof.html | 2 +- layouts/docs/list.html | 2 +- layouts/home.html | 2 +- layouts/partials/addon-widget.html | 2 +- layouts/partials/article-label.html | 2 +- layouts/partials/custom-related-content.html | 2 +- layouts/partials/custom-scripts.html | 2 +- layouts/partials/edition-switch.html | 2 +- layouts/partials/favicons.html | 2 +- layouts/partials/footer.html | 2 +- layouts/partials/gtm-body.html | 2 +- layouts/partials/gtm.html | 2 +- layouts/partials/head-css.html | 2 +- layouts/partials/head.html | 2 +- layouts/partials/header-menu.html | 2 +- layouts/partials/header-right.html | 2 +- layouts/partials/hooks/body-end.html | 2 +- layouts/partials/lang-switch.html | 2 +- layouts/partials/meta-version.html | 2 +- layouts/partials/navbar-breadcrumb.html | 2 +- layouts/partials/navbar-version-selector.html | 2 +- layouts/partials/navbar.html | 2 +- layouts/partials/prev-next-pages.html | 2 +- layouts/partials/search.html | 2 +- layouts/partials/share-dialog.html | 2 +- layouts/partials/sidebar-tree.html | 2 +- layouts/partials/sidebar.html | 2 +- layouts/partials/skip-links.html | 2 +- layouts/partials/theme-init.html | 2 +- layouts/partials/theme-switcher.html | 2 +- layouts/partials/toc.html | 2 +- layouts/partials/version-banner.html | 2 +- layouts/partials/version.html | 2 +- layouts/shortcodes/accordion-options.html | 2 +- layouts/shortcodes/alert.html | 2 +- layouts/shortcodes/blocks/card.html | 2 +- layouts/shortcodes/blocks/cards-container.html | 2 +- layouts/shortcodes/blocks/feature.html | 2 +- layouts/shortcodes/blocks/homepage-hosted.html | 2 +- layouts/shortcodes/blocks/homepage-learn.html | 2 +- layouts/shortcodes/blocks/homepage-slack.html | 2 +- layouts/shortcodes/blocks/section.html | 2 +- layouts/shortcodes/blocks/sections-list.html | 2 +- layouts/shortcodes/code-lang.html | 2 +- layouts/shortcodes/code-select.html | 2 +- layouts/shortcodes/content-block.html | 2 +- layouts/shortcodes/content-select.html | 2 +- layouts/shortcodes/cta-banner.html | 2 +- layouts/shortcodes/embedded-image.html | 2 +- layouts/shortcodes/inline-icon.html | 2 +- layouts/shortcodes/label.html | 2 +- layouts/shortcodes/latest-doc-dirpath.html | 2 +- layouts/shortcodes/latesttag.html | 2 +- layouts/shortcodes/product.html | 2 +- layouts/shortcodes/redocly.html | 2 +- layouts/shortcodes/swaggerui.html | 2 +- layouts/swagger/baseof.html | 2 +- static/js/code-select.js | 2 +- static/js/content-select.js | 2 +- static/js/dropdown.js | 2 +- static/js/heading-anchor.js | 2 +- static/js/menu.js | 2 +- static/js/prism-accessibility.js | 2 +- static/js/share.js | 2 +- static/js/tables.js | 2 +- theme.toml | 2 +- 115 files changed, 115 insertions(+), 115 deletions(-) diff --git a/README.md b/README.md index 562c631..c7f14a6 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,6 @@ theme = ["GDCDocsTheme", "docsy"] ## License -(C) 2007-2023 GoodData Corporation +(C) 2007-2026 GoodData Corporation For more information, please see [LICENSE](LICENSE). diff --git a/assets/js/base.js b/assets/js/base.js index a63ac70..648ed7c 100644 --- a/assets/js/base.js +++ b/assets/js/base.js @@ -1 +1 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation diff --git a/assets/js/theme-switcher.js b/assets/js/theme-switcher.js index 38d2a05..d5728c9 100644 --- a/assets/js/theme-switcher.js +++ b/assets/js/theme-switcher.js @@ -1,4 +1,4 @@ -// (C) 2025 GoodData Corporation +// (C) 2026 GoodData Corporation // Theme switcher — light / dark preference with localStorage persistence // and respect for the OS prefers-color-scheme media query. // diff --git a/assets/json/offline-search-index.json b/assets/json/offline-search-index.json index 1682a4c..f7f66cb 100644 --- a/assets/json/offline-search-index.json +++ b/assets/json/offline-search-index.json @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}} {{- $.Scratch.Add "offline-search-index" slice -}} {{- $pages := where .Site.AllPages ".Params.exclude_search" "!=" true -}} {{- if eq hugo.Environment "public" -}} diff --git a/assets/scss/_styles_project.scss b/assets/scss/_styles_project.scss index 2cf4e5b..76b0e88 100644 --- a/assets/scss/_styles_project.scss +++ b/assets/scss/_styles_project.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation // Import external styles TODO: link those directly from gooddata/gdc-website repository @import "functions/functions.pxtorem"; diff --git a/assets/scss/addon-widget.scss b/assets/scss/addon-widget.scss index dda227b..bd30215 100644 --- a/assets/scss/addon-widget.scss +++ b/assets/scss/addon-widget.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation .addon-widget { display: inline-flex; diff --git a/assets/scss/alert.scss b/assets/scss/alert.scss index 7427768..3fde845 100644 --- a/assets/scss/alert.scss +++ b/assets/scss/alert.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; diff --git a/assets/scss/api-reference.scss b/assets/scss/api-reference.scss index 9ae238c..a638179 100644 --- a/assets/scss/api-reference.scss +++ b/assets/scss/api-reference.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .api-reference { diff --git a/assets/scss/breadcrumbs.scss b/assets/scss/breadcrumbs.scss index 2b8d48c..bf2bd36 100644 --- a/assets/scss/breadcrumbs.scss +++ b/assets/scss/breadcrumbs.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation // This file is overridden in Tiger @import "variables/variables"; diff --git a/assets/scss/code-select.scss b/assets/scss/code-select.scss index a6c9c35..4f617ee 100644 --- a/assets/scss/code-select.scss +++ b/assets/scss/code-select.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .td-content .highlight, diff --git a/assets/scss/content-select.scss b/assets/scss/content-select.scss index c198b5d..e134cc6 100644 --- a/assets/scss/content-select.scss +++ b/assets/scss/content-select.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .gd-docs-content-select { diff --git a/assets/scss/cta-banner.scss b/assets/scss/cta-banner.scss index c4e679a..c222b6f 100644 --- a/assets/scss/cta-banner.scss +++ b/assets/scss/cta-banner.scss @@ -1,4 +1,4 @@ -// (C) 2025 GoodData Corporation +// (C) 2026 GoodData Corporation // CTA Banner shortcode styles @import "variables/variables"; diff --git a/assets/scss/dark-theme.scss b/assets/scss/dark-theme.scss index d66ab63..03c865a 100644 --- a/assets/scss/dark-theme.scss +++ b/assets/scss/dark-theme.scss @@ -1,4 +1,4 @@ -// (C) 2025 GoodData Corporation +// (C) 2026 GoodData Corporation // // Dark-theme overrides. // Applied when is set by the theme switcher. diff --git a/assets/scss/dropdown.scss b/assets/scss/dropdown.scss index 0b4aa4c..2a2b7a5 100644 --- a/assets/scss/dropdown.scss +++ b/assets/scss/dropdown.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .gd-docs-dropdown { diff --git a/assets/scss/embedded-image.scss b/assets/scss/embedded-image.scss index d450ec9..2b1e1ee 100644 --- a/assets/scss/embedded-image.scss +++ b/assets/scss/embedded-image.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .modal { diff --git a/assets/scss/functions/_functions.pxtorem.scss b/assets/scss/functions/_functions.pxtorem.scss index cc516cd..9009e2d 100755 --- a/assets/scss/functions/_functions.pxtorem.scss +++ b/assets/scss/functions/_functions.pxtorem.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation // ------------------------------------- // pixels to rems diff --git a/assets/scss/header.scss b/assets/scss/header.scss index aee2dae..a162672 100644 --- a/assets/scss/header.scss +++ b/assets/scss/header.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .gd-docs-header { diff --git a/assets/scss/heading-anchor.scss b/assets/scss/heading-anchor.scss index a348028..26d7e8e 100644 --- a/assets/scss/heading-anchor.scss +++ b/assets/scss/heading-anchor.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .heading-with-anchor { diff --git a/assets/scss/homepage.scss b/assets/scss/homepage.scss index f146b7e..5c8756e 100644 --- a/assets/scss/homepage.scss +++ b/assets/scss/homepage.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; @import "homepage/box"; @import "homepage/hosted"; diff --git a/assets/scss/homepage/box.scss b/assets/scss/homepage/box.scss index 9d0ee0d..00fb7e2 100644 --- a/assets/scss/homepage/box.scss +++ b/assets/scss/homepage/box.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .gd-docs-homepage-box { diff --git a/assets/scss/homepage/hosted.scss b/assets/scss/homepage/hosted.scss index 24cb9b1..58e351e 100644 --- a/assets/scss/homepage/hosted.scss +++ b/assets/scss/homepage/hosted.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation .gd-docs-homepage-hosted { &__inner { diff --git a/assets/scss/homepage/icons.scss b/assets/scss/homepage/icons.scss index 33b3789..736d8fe 100644 --- a/assets/scss/homepage/icons.scss +++ b/assets/scss/homepage/icons.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation i { &.hosted, diff --git a/assets/scss/homepage/learn.scss b/assets/scss/homepage/learn.scss index 658a537..fe6546d 100644 --- a/assets/scss/homepage/learn.scss +++ b/assets/scss/homepage/learn.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation .gd-docs-homepage-learn { padding-bottom: 40px; diff --git a/assets/scss/homepage/sections-list.scss b/assets/scss/homepage/sections-list.scss index cc7189f..7795dd5 100644 --- a/assets/scss/homepage/sections-list.scss +++ b/assets/scss/homepage/sections-list.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .gd-docs-homepage-sections-list { diff --git a/assets/scss/homepage/slack.scss b/assets/scss/homepage/slack.scss index f0a558f..bee5cd7 100644 --- a/assets/scss/homepage/slack.scss +++ b/assets/scss/homepage/slack.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .gd-docs-homepage-slack { diff --git a/assets/scss/layout.scss b/assets/scss/layout.scss index 681307f..f83ce5c 100644 --- a/assets/scss/layout.scss +++ b/assets/scss/layout.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .td-main { diff --git a/assets/scss/menu.scss b/assets/scss/menu.scss index f64e298..540a357 100644 --- a/assets/scss/menu.scss +++ b/assets/scss/menu.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .td-sidebar { diff --git a/assets/scss/mixins/_mixins.media-queries.scss b/assets/scss/mixins/_mixins.media-queries.scss index 65fd78e..384424e 100755 --- a/assets/scss/mixins/_mixins.media-queries.scss +++ b/assets/scss/mixins/_mixins.media-queries.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation // ------------------------------------- // Mixin | Media Queries diff --git a/assets/scss/prev-next-pages.scss b/assets/scss/prev-next-pages.scss index 19853a9..cacd77d 100644 --- a/assets/scss/prev-next-pages.scss +++ b/assets/scss/prev-next-pages.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .gd-docs-prev-next-pages { diff --git a/assets/scss/share-dialog.scss b/assets/scss/share-dialog.scss index 0d81adc..3ba65f2 100644 --- a/assets/scss/share-dialog.scss +++ b/assets/scss/share-dialog.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .gd-docs-share { diff --git a/assets/scss/swagger.scss b/assets/scss/swagger.scss index f8716e8..fb30d17 100644 --- a/assets/scss/swagger.scss +++ b/assets/scss/swagger.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation // Fix swagger style broken by theme pre.version { diff --git a/assets/scss/tables.scss b/assets/scss/tables.scss index 4b5aedf..58e667f 100644 --- a/assets/scss/tables.scss +++ b/assets/scss/tables.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .table-responsive, diff --git a/assets/scss/theme-switcher.scss b/assets/scss/theme-switcher.scss index 3e5e7d5..d0c3125 100644 --- a/assets/scss/theme-switcher.scss +++ b/assets/scss/theme-switcher.scss @@ -1,4 +1,4 @@ -// (C) 2025 GoodData Corporation +// (C) 2026 GoodData Corporation // Pill toggle matching Figma "modes switch" — two icon slots, active gets a filled circle. @import "variables/variables"; diff --git a/assets/scss/toc.scss b/assets/scss/toc.scss index 290ffe1..9ad5470 100644 --- a/assets/scss/toc.scss +++ b/assets/scss/toc.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; $toc-top: 20px; diff --git a/assets/scss/tooltip.scss b/assets/scss/tooltip.scss index c4b91e5..eb15359 100644 --- a/assets/scss/tooltip.scss +++ b/assets/scss/tooltip.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; .tooltip { diff --git a/assets/scss/typography.scss b/assets/scss/typography.scss index b73e292..7fdd023 100644 --- a/assets/scss/typography.scss +++ b/assets/scss/typography.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables/variables"; $font-path-base: "https://www.gooddata.ai"; diff --git a/assets/scss/variables/_variables.colors.scss b/assets/scss/variables/_variables.colors.scss index aacfcd1..39b506d 100755 --- a/assets/scss/variables/_variables.colors.scss +++ b/assets/scss/variables/_variables.colors.scss @@ -1,4 +1,4 @@ -// (C) 2025 GoodData Corporation +// (C) 2026 GoodData Corporation // // Canonical brand palette mirrored from gdc-website // (`src/assets/scss/variables/_variables.colors.scss`). diff --git a/assets/scss/variables/_variables.footer.scss b/assets/scss/variables/_variables.footer.scss index 601beff..1aa70b3 100644 --- a/assets/scss/variables/_variables.footer.scss +++ b/assets/scss/variables/_variables.footer.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation @if variable-exists("avenir-roman") { $footer-font-family: $avenir-roman; diff --git a/assets/scss/variables/_variables.media-queries.scss b/assets/scss/variables/_variables.media-queries.scss index cfd1e52..7ef02a2 100755 --- a/assets/scss/variables/_variables.media-queries.scss +++ b/assets/scss/variables/_variables.media-queries.scss @@ -1,4 +1,4 @@ -// (C) 2023 GoodData Corporation +// (C) 2026 GoodData Corporation // ------------------------------------- // Media queries diff --git a/assets/scss/variables/_variables.scss b/assets/scss/variables/_variables.scss index 158d8e4..3d35f54 100644 --- a/assets/scss/variables/_variables.scss +++ b/assets/scss/variables/_variables.scss @@ -1,4 +1,4 @@ -// (C) 2025 GoodData Corporation +// (C) 2026 GoodData Corporation @import "variables.colors"; $gdfont-regular: ("dc8ebcd096d8d65d80200bbe8e045d86", "Helvetica", "Arial", sans-serif); diff --git a/docs/_index.md b/docs/_index.md index 123cb16..448c54c 100644 --- a/docs/_index.md +++ b/docs/_index.md @@ -98,7 +98,7 @@ theme = ["GDCDocsTheme", "docsy"] ## License -(C) 2007-2023 GoodData Corporation +(C) 2007-2026 GoodData Corporation For more information, please see [LICENSE](LICENSE). diff --git a/layouts/_default/_markup/render-heading.html b/layouts/_default/_markup/render-heading.html index f897d98..048ca8a 100644 --- a/layouts/_default/_markup/render-heading.html +++ b/layouts/_default/_markup/render-heading.html @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}} {{ $cleanText := replaceRE "\\s+" " " (htmlUnescape .Text) }} {{ $words := split $cleanText " " }} {{ $wordCount := len $words }} diff --git a/layouts/_default/_markup/render-image.html b/layouts/_default/_markup/render-image.html index 38294ee..06e26d5 100644 --- a/layouts/_default/_markup/render-image.html +++ b/layouts/_default/_markup/render-image.html @@ -1,2 +1,2 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}}

{{ .Text }}

diff --git a/layouts/_default/_markup/render-link.html b/layouts/_default/_markup/render-link.html index 4c00ffd..e7c5c9f 100644 --- a/layouts/_default/_markup/render-link.html +++ b/layouts/_default/_markup/render-link.html @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}} {{- $scratch := newScratch }} {{- $scratch.Set "attrs" slice }} {{- if ne .Title "" }} diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 69a4675..8a0961b 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}} {{ $pageLang := cond (isset .Page.Params "lang") (default "en" (index (split .Page.Params.lang "_") 0)) .Site.Language.Lang }} diff --git a/layouts/_default/content.html b/layouts/_default/content.html index d6d354e..fe2edd9 100644 --- a/layouts/_default/content.html +++ b/layouts/_default/content.html @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}}

{{ .Title }}

{{ partial "article-label.html" . }} diff --git a/layouts/_default/sitemap.xml b/layouts/_default/sitemap.xml index 882eede..2a4ac73 100644 --- a/layouts/_default/sitemap.xml +++ b/layouts/_default/sitemap.xml @@ -1,4 +1,4 @@ -{{- /* (C) 2023 GoodData Corporation */ -}} +{{- /* (C) 2026 GoodData Corporation */ -}} {{- $pages := where .Data.Pages ".Page.Params.sitemapExclude" "!=" "true" -}} {{- if isset .Site.Params "versions" -}} {{- $version := (index (where .Site.Params.versions "sitemapExclude" "!=" "true") 0) -}} diff --git a/layouts/api-reference/baseof.html b/layouts/api-reference/baseof.html index 9f1bbb5..3e4fb08 100644 --- a/layouts/api-reference/baseof.html +++ b/layouts/api-reference/baseof.html @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}} {{ $pageLang := cond (isset .Page.Params "lang") (default "en" (index (split .Page.Params.lang "_") 0)) .Site.Language.Lang }} diff --git a/layouts/api-reference/content.html b/layouts/api-reference/content.html index d6d354e..fe2edd9 100644 --- a/layouts/api-reference/content.html +++ b/layouts/api-reference/content.html @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}}

{{ .Title }}

{{ partial "article-label.html" . }} diff --git a/layouts/docs/baseof.html b/layouts/docs/baseof.html index 71423b7..9ad06b9 100644 --- a/layouts/docs/baseof.html +++ b/layouts/docs/baseof.html @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}} {{ $pageLang := cond (isset .Page.Params "lang") (default "en" (index (split .Page.Params.lang "_") 0)) .Site.Language.Lang }} diff --git a/layouts/docs/list.html b/layouts/docs/list.html index 9734270..813d67f 100644 --- a/layouts/docs/list.html +++ b/layouts/docs/list.html @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}} {{ define "main" }}
diff --git a/layouts/home.html b/layouts/home.html index 5dea687..b533476 100644 --- a/layouts/home.html +++ b/layouts/home.html @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}} {{ define "main" }}
diff --git a/layouts/partials/addon-widget.html b/layouts/partials/addon-widget.html index 17b1efb..f3e4860 100644 --- a/layouts/partials/addon-widget.html +++ b/layouts/partials/addon-widget.html @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}} {{ if .Page.Params.addon }} {{ $lang := default "en" .Page.Params.lang }} {{ $edition := .Page.Params.edition }} diff --git a/layouts/partials/article-label.html b/layouts/partials/article-label.html index ba8246a..1bb53d5 100644 --- a/layouts/partials/article-label.html +++ b/layouts/partials/article-label.html @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}} {{ $label := "" }} {{ if isset . "labelId" }} diff --git a/layouts/partials/custom-related-content.html b/layouts/partials/custom-related-content.html index 8d92476..d8d79b9 100644 --- a/layouts/partials/custom-related-content.html +++ b/layouts/partials/custom-related-content.html @@ -1,4 +1,4 @@ -{{/* (C) 2023 GoodData Corporation */}} +{{/* (C) 2026 GoodData Corporation */}} {{ if .Params.related }}

Learn more: