From 282f74c749359f5c281deb69579d37d158225135 Mon Sep 17 00:00:00 2001 From: nastyapash <38438810+nastyapash@users.noreply.github.com> Date: Fri, 17 Jul 2026 16:23:55 +0300 Subject: [PATCH] Add Events page (#2502) * Add Events page * Create test * delete * A lot of edits * Change date * Add-SF-placeholder * Date edits * Copy edit Edited title and added Berlin save the date * add events link to menus * fix link --------- Co-authored-by: Maddie Duhon Co-authored-by: trean --- ...-04-21-biomedical-ai-copilot-with-neo4j.md | 9 + .../events/26-04-29-post-ai-dev-conference.md | 9 + ...26-05-26-turboquant-in-qdrant-explained.md | 9 + ...26-06-11-vector-space-day-san-francisco.md | 11 + .../events/26-06-11-vector-space-meetup.md | 9 + .../events/26-07-08-build-retrieval-agents.md | 11 + .../events/26-07-29-twelveLabs-and-qdrant.md | 11 + .../content/events/26-08-25-sf-meetup.md | 9 + .../content/events/26-08-26-nyc-meetup.md | 9 + .../content/events/26-09-16-berlin-meetup.md | 9 + qdrant-landing/content/events/_index.md | 12 ++ qdrant-landing/content/headless/footer.md | 9 +- qdrant-landing/content/headless/menu.md | 8 +- .../qdrant-2024/assets/css/default.scss | 2 + .../css/partials/events/_events-card.scss | 204 ++++++++++++++++++ .../css/partials/events/_events-list.scss | 106 +++++++++ .../assets/css/partials/events/_index.scss | 2 + .../qdrant-2024/layouts/events/list.html | 9 + .../qdrant-2024/layouts/events/single.html | 1 + .../layouts/partials/events/events-card.html | 75 +++++++ .../layouts/partials/events/events-list.html | 68 ++++++ 21 files changed, 587 insertions(+), 5 deletions(-) create mode 100644 qdrant-landing/content/events/26-04-21-biomedical-ai-copilot-with-neo4j.md create mode 100644 qdrant-landing/content/events/26-04-29-post-ai-dev-conference.md create mode 100644 qdrant-landing/content/events/26-05-26-turboquant-in-qdrant-explained.md create mode 100644 qdrant-landing/content/events/26-06-11-vector-space-day-san-francisco.md create mode 100644 qdrant-landing/content/events/26-06-11-vector-space-meetup.md create mode 100644 qdrant-landing/content/events/26-07-08-build-retrieval-agents.md create mode 100644 qdrant-landing/content/events/26-07-29-twelveLabs-and-qdrant.md create mode 100644 qdrant-landing/content/events/26-08-25-sf-meetup.md create mode 100644 qdrant-landing/content/events/26-08-26-nyc-meetup.md create mode 100644 qdrant-landing/content/events/26-09-16-berlin-meetup.md create mode 100644 qdrant-landing/content/events/_index.md create mode 100644 qdrant-landing/themes/qdrant-2024/assets/css/partials/events/_events-card.scss create mode 100644 qdrant-landing/themes/qdrant-2024/assets/css/partials/events/_events-list.scss create mode 100644 qdrant-landing/themes/qdrant-2024/assets/css/partials/events/_index.scss create mode 100644 qdrant-landing/themes/qdrant-2024/layouts/events/list.html create mode 100644 qdrant-landing/themes/qdrant-2024/layouts/events/single.html create mode 100644 qdrant-landing/themes/qdrant-2024/layouts/partials/events/events-card.html create mode 100644 qdrant-landing/themes/qdrant-2024/layouts/partials/events/events-list.html diff --git a/qdrant-landing/content/events/26-04-21-biomedical-ai-copilot-with-neo4j.md b/qdrant-landing/content/events/26-04-21-biomedical-ai-copilot-with-neo4j.md new file mode 100644 index 000000000..9e010c8aa --- /dev/null +++ b/qdrant-landing/content/events/26-04-21-biomedical-ai-copilot-with-neo4j.md @@ -0,0 +1,9 @@ +--- +title: "Biomedical AI Copilot with Neo4j and Qdrant" +description: "Build a Biomedical GraphRAG AI assistant combining Neo4j knowledge graphs and Qdrant vector search for explainable, multi-hop reasoning over biomedical corpora like PubMed, with answers grounded in verifiable evidence." +type: webinar +start: "2026-04-21T17:00:00" +place: Online +link: "https://www.youtube.com/watch?v=10g1iJnfLWQ" +sitemapExclude: true +--- \ No newline at end of file diff --git a/qdrant-landing/content/events/26-04-29-post-ai-dev-conference.md b/qdrant-landing/content/events/26-04-29-post-ai-dev-conference.md new file mode 100644 index 000000000..2b3482149 --- /dev/null +++ b/qdrant-landing/content/events/26-04-29-post-ai-dev-conference.md @@ -0,0 +1,9 @@ +--- +title: "Post-AI Dev Conference Happy Hour for Agent Builders, hosted by Qdrant" +description: "An informal post-conference gathering after AI Dev x SF 26, bringing together founders, engineering leaders, and developers for drinks, light food, and networking — no pitches, just people building interesting things in AI." +type: meetup +start: "2026-04-29T02:30:00" +place: San Francisco, CA +link: "https://luma.com/yjb156c2" +sitemapExclude: true +--- \ No newline at end of file diff --git a/qdrant-landing/content/events/26-05-26-turboquant-in-qdrant-explained.md b/qdrant-landing/content/events/26-05-26-turboquant-in-qdrant-explained.md new file mode 100644 index 000000000..8a1588fd9 --- /dev/null +++ b/qdrant-landing/content/events/26-05-26-turboquant-in-qdrant-explained.md @@ -0,0 +1,9 @@ +--- +title: "TurboQuant in Qdrant Explained" +description: "A session covering TurboQuant, Qdrant's quantization option offering 8x, 16x, and 32x compression with consistently higher recall than Binary Quantization at every storage class, plus guidance on when to use it over SQ or BQ." +type: webinar +start: "2026-05-26T17:00:00" +place: Online +link: "https://www.youtube.com/watch?v=KawnBQWmtcU" +sitemapExclude: true +--- \ No newline at end of file diff --git a/qdrant-landing/content/events/26-06-11-vector-space-day-san-francisco.md b/qdrant-landing/content/events/26-06-11-vector-space-day-san-francisco.md new file mode 100644 index 000000000..50e7e392f --- /dev/null +++ b/qdrant-landing/content/events/26-06-11-vector-space-day-san-francisco.md @@ -0,0 +1,11 @@ +--- +title: "Vector Space Day San Francisco" +description: "A single-track, full-day conference for engineers and researchers building with vector search and AI, covering Search & AI Retrieval, Agents & Memory, and Edge & Robotics AI. Featuring speakers from Google DeepMind, LlamaIndex, Adobe, Slack, and more." +type: conference +start: "2026-06-11T08:30:00-07:00" +end: "2026-06-11T18:30:00-07:00" +timezoneLabel: "GMT-7" +place: San Francisco, CA +link: "https://qdrant.tech/vector-space-day-sf-26-recap/" +sitemapExclude: true +--- \ No newline at end of file diff --git a/qdrant-landing/content/events/26-06-11-vector-space-meetup.md b/qdrant-landing/content/events/26-06-11-vector-space-meetup.md new file mode 100644 index 000000000..92a66fbe3 --- /dev/null +++ b/qdrant-landing/content/events/26-06-11-vector-space-meetup.md @@ -0,0 +1,9 @@ +--- +title: "Vector Space Meetup: Retrieval in the Age of Agents with Qdrant, n8n, Cognee, deepset, LlamaIndex" +description: "An evening contrasting classic RAG — where retrieval is one step in a fixed pipeline — with agentic systems where retrieval becomes a dynamic capability the agent actively manages, featuring a panel with Qdrant, Cognee, deepset, LlamaIndex, and n8n." +type: meetup +start: "2026-06-11T18:00:00" +place: Merantix AI Campus +link: "https://luma.com/vsm-berlin" +sitemapExclude: true +--- \ No newline at end of file diff --git a/qdrant-landing/content/events/26-07-08-build-retrieval-agents.md b/qdrant-landing/content/events/26-07-08-build-retrieval-agents.md new file mode 100644 index 000000000..4a7e438ba --- /dev/null +++ b/qdrant-landing/content/events/26-07-08-build-retrieval-agents.md @@ -0,0 +1,11 @@ +--- +title: "Build Retrieval Agents That Evaluate, Adapt, and Improve Mid-Query" +description: Learn to build adaptive retrieval loops with per-query strategy selection, in-loop signals to detect weak retrieval early, and a routing gate directing queries to ColBERT reranking or IRCoT decomposition. +type: webinar +start: "2026-07-08T17:30:00+02:00" +end: "2026-07-08T18:30:00+02:00" +timezoneLabel: "CEST" +place: Online +link: "https://www.youtube.com/watch?v=VZ2p3dLsFOs" +sitemapExclude: true +--- \ No newline at end of file diff --git a/qdrant-landing/content/events/26-07-29-twelveLabs-and-qdrant.md b/qdrant-landing/content/events/26-07-29-twelveLabs-and-qdrant.md new file mode 100644 index 000000000..e42056eb4 --- /dev/null +++ b/qdrant-landing/content/events/26-07-29-twelveLabs-and-qdrant.md @@ -0,0 +1,11 @@ +--- +title: "TwelveLabs + Qdrant: AI Systems for Video Embeddings and Search" +description: Discover how multimodal embeddings for video power AI search and retrieval — covering text, audio, and video embeddings in practice, and AI search on the edge for devices and robots. +type: meetup +start: "2026-07-29T17:30:00-07:00" +end: "2026-07-29T21:00:00-07:00" +timezoneLabel: "GMT-7" +place: Bellevue, WA +link: "https://luma.com/kyksgkak" +sitemapExclude: true +--- \ No newline at end of file diff --git a/qdrant-landing/content/events/26-08-25-sf-meetup.md b/qdrant-landing/content/events/26-08-25-sf-meetup.md new file mode 100644 index 000000000..7a664c9ee --- /dev/null +++ b/qdrant-landing/content/events/26-08-25-sf-meetup.md @@ -0,0 +1,9 @@ +--- +title: "[Save the Date] SF Community Meetup" +description: "We're bringing together AI engineers and researchers for a community demo night." +type: meetup +start: "2026-08-25T18:00:00" +place: San Francisco, CA +link: "https://luma.com/sf-meetup-aug26" +sitemapExclude: true +--- \ No newline at end of file diff --git a/qdrant-landing/content/events/26-08-26-nyc-meetup.md b/qdrant-landing/content/events/26-08-26-nyc-meetup.md new file mode 100644 index 000000000..f40b53669 --- /dev/null +++ b/qdrant-landing/content/events/26-08-26-nyc-meetup.md @@ -0,0 +1,9 @@ +--- +title: "Hard Negatives: AI Engineers Debate & Game Night" +description: "​RAG is dead. AI is already sentient. Open weights should be banned. We should trust models we can't explain. You don't pick your side. We do." +type: meetup +start: "2026-08-26T18:00:00" +place: NY, NY +link: "https://luma.com/nyc-meetup-qdrant-07" +sitemapExclude: true +--- \ No newline at end of file diff --git a/qdrant-landing/content/events/26-09-16-berlin-meetup.md b/qdrant-landing/content/events/26-09-16-berlin-meetup.md new file mode 100644 index 000000000..24426538b --- /dev/null +++ b/qdrant-landing/content/events/26-09-16-berlin-meetup.md @@ -0,0 +1,9 @@ +--- +title: "Community Meetup" +description: "Save the date" +type: meetup +start: "2026-09-16T18:00:00" +place: Berlin, Germany +link: "https://qdrant.tech" +sitemapExclude: true +--- \ No newline at end of file diff --git a/qdrant-landing/content/events/_index.md b/qdrant-landing/content/events/_index.md new file mode 100644 index 000000000..0e807f638 --- /dev/null +++ b/qdrant-landing/content/events/_index.md @@ -0,0 +1,12 @@ +--- +title: Events +description: Events +build: + render: always +cascade: +- build: + list: local + publishResources: false + render: never +--- + diff --git a/qdrant-landing/content/headless/footer.md b/qdrant-landing/content/headless/footer.md index 3dc2e66f4..67759e03d 100644 --- a/qdrant-landing/content/headless/footer.md +++ b/qdrant-landing/content/headless/footer.md @@ -112,13 +112,16 @@ menuItems: - id: 2 name: Articles url: /articles/ - - id: 3 + - id: 4 + name: Events + url: /events/ + - id: 5 name: Startup Program url: /qdrant-for-startups/ - - id: 4 + - id: 6 name: Demos url: /demo/ - - id: 5 + - id: 7 name: Bug Bounty url: /security/bug-bounty-program/ - title: Company diff --git a/qdrant-landing/content/headless/menu.md b/qdrant-landing/content/headless/menu.md index 07fd0acb0..b107f771b 100644 --- a/qdrant-landing/content/headless/menu.md +++ b/qdrant-landing/content/headless/menu.md @@ -140,14 +140,18 @@ menuItems: icon: articles.svg url: /articles/ - id: subMenu-3-3 + name: Events + icon: partners.svg + url: /events/ + - id: subMenu-3-4 name: Demos icon: demos.svg url: /demo/ - - id: subMenu-3-4 + - id: subMenu-3-5 name: Startup Program icon: qdrant-for-startups.svg url: /qdrant-for-startups/ - - id: subMenu-3-5 + - id: subMenu-3-6 name: Bug Bounty Program icon: bug-bounty-program.svg url: /security/bug-bounty-program/ diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/default.scss b/qdrant-landing/themes/qdrant-2024/assets/css/default.scss index eb48b1bcb..b3b3be336 100644 --- a/qdrant-landing/themes/qdrant-2024/assets/css/default.scss +++ b/qdrant-landing/themes/qdrant-2024/assets/css/default.scss @@ -81,6 +81,8 @@ @import 'partials/cloud-inference-faq'; @import 'partials/cta-banner'; @import 'partials/subscribe'; +@import 'partials/events/events-card'; +@import 'partials/events/events-list'; // used by landing pages under /lp/ (e.g. /lp/lucene) @import 'partials/elastic-lucene/index'; @import 'partials/vsd/index'; diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/partials/events/_events-card.scss b/qdrant-landing/themes/qdrant-2024/assets/css/partials/events/_events-card.scss new file mode 100644 index 000000000..66631f6d3 --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/assets/css/partials/events/_events-card.scss @@ -0,0 +1,204 @@ +@use 'sass:math'; +@use '../../helpers/functions' as *; + +.events-card { + display: flex; + flex-direction: column; + gap: $spacer * 4; + padding: $spacer * 2 $spacer * 1.5; + border: pxToRem(1) solid $neutral-20; + color: $neutral-70; + + &__date { + display: flex; + gap: $spacer * 0.5; + align-items: center; + color: $neutral-90; + + p { + margin-bottom: 0; + font-weight: $font-weight-medium; + } + + svg { + flex-shrink: 0; + } + } + + &__title { + margin-top: $spacer; + margin-bottom: $spacer; + font-size: $h6-font-size; + line-height: $spacer * 2; + color: $neutral-90; + } + + &__description { + margin-bottom: $spacer * 4; + font-size: $font-size-md; + line-height: $spacer * 1.5; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; + } + + &__location { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: $spacer; + } + + &__type { + padding: pxToRem(2) pxToRem(10); + border-radius: pxToRem(20); + font-size: $font-size-md; + line-height: $spacer * 1.5; + text-transform: capitalize; + display: inline-block; + + &-mobile { + display: none; + } + + &-webinar { + border: pxToRem(1) solid $secondary-blue-50; + color: $secondary-blue-50; + background-color: rgba($secondary-blue-50, 0.1); + } + + &-conference { + border: pxToRem(1) solid $secondary-violet-50; + color: $secondary-violet-50; + background-color: rgba($secondary-violet-50, 0.1); + } + + &-meetup { + border: pxToRem(1) solid $secondary-teal-50; + color: $secondary-teal-50; + background-color: rgba($secondary-teal-50, 0.1); + } + } + + &__place { + display: flex; + align-items: center; + gap: math.div($spacer, 4); + margin-bottom: 0; + font-size: $font-size-md; + line-height: $spacer * 1.5; + + svg { + height: $spacer; + width: $spacer; + } + } + + &__time { + display: flex; + align-items: center; + gap: math.div($spacer, 4); + margin-bottom: 0; + font-size: $font-size-md; + line-height: $spacer * 1.5; + + svg { + height: $spacer; + width: $spacer; + } + } + + &:hover { + background: linear-gradient(180deg, rgba(14, 20, 36, 0.00) 0%, $neutral-20 100%); + + .events-card__date, + .events-card__description, + .events-card__place, + .events-card__time { + color: $neutral-90; + + svg { + path { + stroke: $neutral-90; + } + } + } + } + + @include media-breakpoint-up(lg) { + flex-direction: row; + align-items: start; + gap: $spacer * 2; + + &:not(:last-child) { + border-bottom: 0; + } + + &__date { + flex-shrink: 0; + width: pxToRem(228); + color: $neutral-70; + + p { + margin-bottom: 0; + font-weight: $font-weight-medium; + font-size: $font-size-l; + line-height: $spacer * 1.5; + } + + svg { + height: pxToRem(18); + width: pxToRem(18); + + path { + stroke: $neutral-70; + } + } + } + + &__title { + margin-top: 0; + margin-bottom: $spacer * 0.5; + } + + &__description { + margin-bottom: $spacer * 2; + } + + &__location { + gap: $spacer $spacer * 2; + } + + &__type { + font-size: $font-size-xs; + line-height: pxToRem(18); + padding: pxToRem(1) pxToRem(10); + display: none; + + &-mobile { + display: block; + } + } + + &__place { + font-size: $font-size-xs; + line-height: pxToRem(18); + + svg { + height: pxToRem(12); + width: pxToRem(12); + } + } + + &__time { + font-size: $font-size-xs; + line-height: pxToRem(18); + + svg { + height: pxToRem(12); + width: pxToRem(12); + } + } + } +} \ No newline at end of file diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/partials/events/_events-list.scss b/qdrant-landing/themes/qdrant-2024/assets/css/partials/events/_events-list.scss new file mode 100644 index 000000000..96c02621c --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/assets/css/partials/events/_events-list.scss @@ -0,0 +1,106 @@ +@use '../../helpers/functions' as *; + +.events-list { + margin-bottom: $spacer * 4; + background-color: $neutral-10; + + &__section { + padding: $spacer * 5 0; + + &-header { + color: $neutral-98; + } + + &-subtitle { + margin-bottom: $spacer; + font-size: $font-size-s; + line-height: $line-height-sm; + font-family: $font-family-monospace; + font-weight: $font-weight-medium; + text-transform: uppercase; + letter-spacing: pxToRem(2); + text-align: center; + } + + &-title { + margin-bottom: 0; + font-size: $h3-font-size; + line-height: pxToRem(52); + text-align: center; + } + + &-list { + display: flex; + flex-direction: column; + gap: $spacer * 4; + } + } + + @include media-breakpoint-up(lg) { + margin-bottom: $spacer * 7.5; + + &__section { + padding: $spacer * 7.5 0; + + &-upcoming { + border-bottom: pxToRem(1) solid $neutral-30; + } + + &-past { + position: relative; + + .events-list__section-list { + height: pxToRem(972); + margin: pxToRem(-120) 0; + overflow-y: scroll; + scrollbar-width: none; + + &-webkit-scrollbar { + display: none; + } + } + + .events-card:first-of-type { + margin-top: $spacer * 7.5; + } + + .events-card:last-of-type { + margin-bottom: $spacer * 7.5; + } + + &:before, + &:after { + content: ""; + display: block; + position: absolute; + left: 0; + height: $spacer * 7.5; + width: 100%; + } + + &:before { + top: 0; + background: linear-gradient(0deg, rgba($neutral-10, 0.00) 0%, $neutral-10 70%); + } + + &:after { + bottom: 0; + background: linear-gradient(0deg, $neutral-10 30%, rgba($neutral-10, 0.00) 100%); + } + } + + &-subtitle { + text-align: left; + } + + &-title { + max-width: pxToRem(250); + text-align: left; + } + + &-list { + gap: 0; + } + } + } +} \ No newline at end of file diff --git a/qdrant-landing/themes/qdrant-2024/assets/css/partials/events/_index.scss b/qdrant-landing/themes/qdrant-2024/assets/css/partials/events/_index.scss new file mode 100644 index 000000000..c8cba9649 --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/assets/css/partials/events/_index.scss @@ -0,0 +1,2 @@ +@import 'events-card'; +@import 'events-list'; \ No newline at end of file diff --git a/qdrant-landing/themes/qdrant-2024/layouts/events/list.html b/qdrant-landing/themes/qdrant-2024/layouts/events/list.html new file mode 100644 index 000000000..a2baa796a --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/layouts/events/list.html @@ -0,0 +1,9 @@ +{{ define "main" }} + {{ partial "site-header" . }} + + {{ partial "events/events-list" . }} + + {{ with (.Site.GetPage "/headless/newsletter") }} + {{ partial "newsletter" (dict "context" . "class" "") }} + {{ end }} +{{ end }} \ No newline at end of file diff --git a/qdrant-landing/themes/qdrant-2024/layouts/events/single.html b/qdrant-landing/themes/qdrant-2024/layouts/events/single.html new file mode 100644 index 000000000..806bcec80 --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/layouts/events/single.html @@ -0,0 +1 @@ +{{ define "main" }}{{ end }} diff --git a/qdrant-landing/themes/qdrant-2024/layouts/partials/events/events-card.html b/qdrant-landing/themes/qdrant-2024/layouts/partials/events/events-card.html new file mode 100644 index 000000000..c7197c5ee --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/layouts/partials/events/events-card.html @@ -0,0 +1,75 @@ +{{ $event := . }} +{{ $start := time.AsTime $event.Params.start }} + +{{ $end := $start }} +{{ with $event.Params.end }} + {{ $end = time.AsTime . }} +{{ end }} + +{{ $hasStartTime := findRE "T" $event.Params.start }} +{{ $hasEndTime := false }} +{{ with $event.Params.end }} + {{ $hasEndTime = findRE "T" . }} +{{ end }} + + +
+ + + +

+ {{ if eq ($start.Format "2006-01-02") ($end.Format "2006-01-02") }} + {{ $start.Format "Mon, Jan 2, 2006" }} + {{ else }} + {{ $start.Format "Mon, Jan 2, 2006" }} - {{ $end.Format "Mon, Jan 2, 2006" }} + {{ end }} +

+
+ +
+ {{ $event.Params.type }} +

{{ $event.Title }}

+

{{ $event.Params.description }}

+ +
+ + {{ $event.Params.type }} + +

+ + + + + {{ $event.Params.place }} +

+ + {{ if $hasStartTime }} + {{ $timeFormat := "3:04 PM" }} + {{ if $event.Params.timezoneLabel }} + {{ $timeFormat = "15:04" }} + {{ end }} + +

+ + + + + + + + + + + + {{ $start.Format $timeFormat }} + {{ if and $hasEndTime (ne ($start.Format "15:04") ($end.Format "15:04")) }} + - {{ $end.Format $timeFormat }} + {{ end }} + {{ with $event.Params.timezoneLabel }} + {{ . }} + {{ end }} +

+ {{ end }} +
+
+
\ No newline at end of file diff --git a/qdrant-landing/themes/qdrant-2024/layouts/partials/events/events-list.html b/qdrant-landing/themes/qdrant-2024/layouts/partials/events/events-list.html new file mode 100644 index 000000000..0b899a88b --- /dev/null +++ b/qdrant-landing/themes/qdrant-2024/layouts/partials/events/events-list.html @@ -0,0 +1,68 @@ +{{ $now := now.Unix }} +{{ $upcoming := slice }} +{{ $past := slice }} + +{{ range .Pages }} + {{ if not .Params.start }}{{ continue }}{{ end }} + + {{ $start := time.AsTime .Params.start }} + {{ $end := $start }} + {{ with .Params.end }} + {{ $end = time.AsTime . }} + {{ end }} + + {{ if ge $end.Unix $now }} + {{ $upcoming = $upcoming | append (dict "page" . "start" $start "end" $end) }} + {{ else }} + {{ $past = $past | append (dict "page" . "start" $start "end" $end) }} + {{ end }} +{{ end }} + +{{ $upcoming = sort $upcoming "start" "asc" }} +{{ $past = sort $past "end" "desc" }} + +
+
+
+
+
+

Events

+

Upcoming Events

+
+ + {{ if gt (len $upcoming) 0 }} +
+
+ {{ range $upcoming }} + {{ partial "events/events-card" .page }} + {{ end }} +
+
+ {{ else }} +
+

+
+ {{ end }} +
+
+ +
+
+
+

Events

+

Past Events

+
+ + {{ if gt (len $past) 0 }} +
+
+ {{ range $past }} + {{ partial "events/events-card" .page }} + {{ end }} +
+
+ {{ end }} +
+
+
+
\ No newline at end of file