diff --git a/qdrant-landing/content/headless/share-buttons.md b/qdrant-landing/content/headless/share-buttons.md index 15ac391ff..19b5da5b4 100644 --- a/qdrant-landing/content/headless/share-buttons.md +++ b/qdrant-landing/content/headless/share-buttons.md @@ -1,12 +1,15 @@ --- title: Social Share Buttons +navTitle: "On this page:" buttons: - id: x title: x + subtitle: Share on X url: https://twitter.com/intent/tweet?url={{ $link }}&text={{ $title }} icon: - id: linkedin title: LinkedIn + subtitle: Share on LinkedIn url: https://www.linkedin.com/sharing/share-offsite/?url={{ $link }} icon: ---- \ No newline at end of file +--- diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/main.scss b/qdrant-landing/themes/qdrant-2024/assets/css/main.scss index 3d5ea771d..71db4ab96 100644 --- a/qdrant-landing/themes/qdrant-2024/assets/css/main.scss +++ b/qdrant-landing/themes/qdrant-2024/assets/css/main.scss @@ -40,6 +40,7 @@ @import 'partials/demos'; @import 'partials/tutorials'; @import 'partials/qdrant-blog-features'; +@import 'partials/qdrant-blog-post'; @import 'partials/qdrant-blog-posts'; @import 'partials/qdrant-blog-hero'; @import 'partials/pagination'; @@ -104,3 +105,4 @@ @import 'partials/rag-evaluation-guide-integrations'; @import 'partials/rag-evaluation-guide-kubernetes-clusters'; @import 'partials/rag-evaluation-guide-features'; +@import 'partials/progress-bar'; diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/partials/_progress-bar.scss b/qdrant-landing/themes/qdrant-2024/assets/css/partials/_progress-bar.scss new file mode 100644 index 000000000..b504aac19 --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/assets/css/partials/_progress-bar.scss @@ -0,0 +1,39 @@ +@use '../helpers/functions' as *; +@use 'sass:math'; + +.progress-bar { + display: block; + position: sticky; + top: pxToRem(60); + left: 0; + right: 0; + height: math.div($spacer, 4); + width: 100%; + border-radius: 0; + border: none; + color: $primary-50; + z-index: 1; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + + &::-webkit-progress-bar { + background-color: $neutral-98; + } + + &::-webkit-progress-value { + background-color: $primary-50; + } + + &::-moz-progress-bar { + background-color: $primary-50; + } + + @include media-breakpoint-up(xl) { + top: pxToRem(52); + } +} + +:indeterminate::-moz-progress-bar { + width: 0; +} diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/partials/_qdrant-blog-post.scss b/qdrant-landing/themes/qdrant-2024/assets/css/partials/_qdrant-blog-post.scss new file mode 100644 index 000000000..858363d16 --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/assets/css/partials/_qdrant-blog-post.scss @@ -0,0 +1,152 @@ +@use '../helpers/functions' as *; +@use 'sass:math'; + +.qdrant-blog-post { + article { + display: flex; + flex-direction: column; + } + + .qdrant-post { + &__breadcrumbs { + margin-top: $spacer * 2.5; + margin-bottom: $spacer; + order: 1; + } + + &__title { + text-align: left; + } + + &__about { + justify-content: flex-start; + margin-bottom: $spacer * 1.5; + } + + &__header { + padding-top: 0; + padding-bottom: $spacer * 1.5; + order: 2; + } + + &__body { + gap: $spacer * 1.5; + padding-bottom: $spacer * 5; + order: 3; + } + + &__nav { + a { + font-size: pxToRem(14); + line-height: pxToRem(21); + color: $neutral-20; + } + + &-title { + display: none; + margin-bottom: $spacer * 0.5; + padding: 0 $spacer * 0.5 $spacer * 0.5; + font-size: $spacer; + line-height: $spacer * 1.5; + color: $neutral-20; + } + + nav { + display: none; + margin-bottom: $spacer; + + ul { + padding-left: 0; + } + + li { + list-style: none; + + a { + display: block; + margin-bottom: math.div($spacer, 4); + padding: math.div($spacer, 4) $spacer * 0.5; + } + } + } + + &-links { + display: flex; + justify-content: space-between; + gap: pxToRem(12); + padding-bottom: $spacer * 1.5; + border-bottom: pxToRem(1) solid $neutral-80; + + a { + display: flex; + align-items: center; + gap: $spacer * 0.5; + padding-left: $spacer * 0.5; + + svg { + height: $spacer; + width: $spacer; + } + } + } + } + } + + @media (min-width: 1200px) { + .qdrant-post { + &__breadcrumbs { + margin-top: $spacer * 1.5; + margin-bottom: $spacer * 2.5; + } + + &__title { + text-align: center; + } + + &__about { + justify-content: center; + margin-bottom: $spacer * 2.5; + } + + &__header { + padding-bottom: $spacer * 4; + } + + &__body { + align-items: flex-start; + flex-direction: row-reverse; + gap: $spacer * 4; + width: pxToRem(984); + margin-left: pxToRem(91); + } + + &__content { + width: calc(100% - $spacer * 19); + } + + &__nav { + position: sticky; + top: $spacer * 4; + right: 0; + width: $spacer * 15; + padding-top: $spacer; + + &-title { + display: block; + } + + nav { + display: block; + } + + &-links { + flex-direction: column; + padding-top: $spacer * 1.5; + padding-bottom: 0; + border-top: pxToRem(1) solid $neutral-80; + border-bottom: none; + } + } + } + } +} diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/partials/_qdrant-post.scss b/qdrant-landing/themes/qdrant-2024/assets/css/partials/_qdrant-post.scss index 68f12185d..1b96e6535 100644 --- a/qdrant-landing/themes/qdrant-2024/assets/css/partials/_qdrant-post.scss +++ b/qdrant-landing/themes/qdrant-2024/assets/css/partials/_qdrant-post.scss @@ -9,6 +9,10 @@ text-align: center; } + &__breadcrumbs { + margin-bottom: $spacer * 3; + } + &__title { font-size: $spacer * 2; line-height: pxToRem(38); diff --git a/qdrant-landing/themes/qdrant-2024/layouts/blog/single.html b/qdrant-landing/themes/qdrant-2024/layouts/blog/single.html index 3e0115f77..043bdd0f2 100644 --- a/qdrant-landing/themes/qdrant-2024/layouts/blog/single.html +++ b/qdrant-landing/themes/qdrant-2024/layouts/blog/single.html @@ -1,7 +1,9 @@ {{ define "main" }} {{ partial "site-header" . }} - {{ partial "qdrant-post" (dict "context" . ) }} + {{ partial "progress-bar" . }} + + {{ partial "qdrant-post" (dict "context" . "variant" "blog-post" ) }} {{ with (.Site.GetPage "/headless/get-started-blogs") }} {{ partial "get-started-small" (dict "context" . "class" "get-started-blogs") }} diff --git a/qdrant-landing/themes/qdrant-2024/layouts/partials/js.html b/qdrant-landing/themes/qdrant-2024/layouts/partials/js.html index 2ace9bbf9..fb337932a 100644 --- a/qdrant-landing/themes/qdrant-2024/layouts/partials/js.html +++ b/qdrant-landing/themes/qdrant-2024/layouts/partials/js.html @@ -146,3 +146,20 @@ }); {{ end }} + +{{ if and (eq .Section "blog") (.IsPage) }} + +{{ end }} diff --git a/qdrant-landing/themes/qdrant-2024/layouts/partials/progress-bar.html b/qdrant-landing/themes/qdrant-2024/layouts/partials/progress-bar.html new file mode 100644 index 000000000..646d56e9c --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/layouts/partials/progress-bar.html @@ -0,0 +1 @@ +0 diff --git a/qdrant-landing/themes/qdrant-2024/layouts/partials/qdrant-post.html b/qdrant-landing/themes/qdrant-2024/layouts/partials/qdrant-post.html index 5a11a34e5..1a2e75ac6 100644 --- a/qdrant-landing/themes/qdrant-2024/layouts/partials/qdrant-post.html +++ b/qdrant-landing/themes/qdrant-2024/layouts/partials/qdrant-post.html @@ -1,5 +1,5 @@ -
-
+
+

{{ .context.Params.title }}

@@ -18,21 +18,39 @@ {{ end }}
-
-
+
+
{{ partial "breadcrumbs" .context }}
- {{ if ne .variant "centered" }} - {{ partial "share-buttons" .context }} + {{ if eq .variant "blog-post" }} +
+ {{ with (.context.Site.GetPage "/headless/share-buttons") }} +
{{ .Params.navTitle }}
+ {{ end }} + {{ .context.TableOfContents }} +
+ {{ $link := urlquery .context.Permalink }} + {{ $title := .context.Title }} + {{ with (.context.Site.GetPage "/headless/share-buttons") }} + {{ range .Params.buttons }} + {{ $url := .url | replaceRE "\\{\\{\\s*\\$link\\s*\\}\\}" $link | replaceRE "\\{\\{\\s*\\$title\\s*\\}\\}" $title }} + + {{ .icon | safeHTML }} + {{ .subtitle }} + + {{ end }} + {{ end }} +
+
{{ end }} -
{{ partial "article-content" .context }}
+ {{ if eq .variant "centered" }} {{ .context.Scratch.Set "variant" "horizontal" }} {{ partial "share-buttons" .context }}