From 74a98b03bf00c5689d975bb240c37b81488f3e76 Mon Sep 17 00:00:00 2001 From: samriddhitiwary <151003533+samriddhitiwary@users.noreply.github.com> Date: Fri, 21 Nov 2025 09:19:20 +0530 Subject: [PATCH] UI Update for FAQ and Sessions Page --- content/faq/index.md | 12 +- layouts/faq/single.html | 516 +++++++++++++++++++++++++++++++++++++ layouts/sessions/list.html | 189 +++++--------- 3 files changed, 591 insertions(+), 126 deletions(-) create mode 100644 layouts/faq/single.html diff --git a/content/faq/index.md b/content/faq/index.md index 8e21522..4ae6a01 100644 --- a/content/faq/index.md +++ b/content/faq/index.md @@ -37,16 +37,26 @@ This is an amazing opportunity to support the Community. To know more about how ## CFP: Call for Paper +### How do I submit a talk proposal? + The CFP is the official CFP of API Days Paris available here. Please make sure you select The JSON Schema Conference in the event's list. -Last but not least, selected speakers can opt-in for a 500$ travel stipend. This won't cover all the expenses but we hope to make everything much easier for them. +### Is there a speaker stipend available? + +Yes! Selected speakers can opt-in for a 500$ travel stipend. This won't cover all the expenses but we hope to make everything much easier for them. ## Accessibility Accommodations +### What accessibility accommodations are available? + We are committed to making the conference inclusive and accessible to everyone—whether you're attending or speaking. If you are Deaf / Hard of Hearing, Blind / Visually Impaired, or have any other accessibility needs, we encourage you to reach out. To request accommodations or ask questions, please contact us at info@json-schema.org. The earlier we hear from you, the better we can ensure a supportive and accessible experience. ## Ticketing +### How do I purchase tickets? + The tickets should be acquired using the standard API Days ticketing system. +### Are there any discount codes available? + In the upcoming weeks we'll share a special promo code for community members. More details to be published soon. diff --git a/layouts/faq/single.html b/layouts/faq/single.html new file mode 100644 index 0000000..2d2b08d --- /dev/null +++ b/layouts/faq/single.html @@ -0,0 +1,516 @@ +{{ define "main" }} + + + +
+

{{ .Title }}

+
+ +
+ + + + +
+ {{ .Content }} +
+ +
+ + +
+ + + +{{ end }} diff --git a/layouts/sessions/list.html b/layouts/sessions/list.html index 54a9344..80a337d 100644 --- a/layouts/sessions/list.html +++ b/layouts/sessions/list.html @@ -23,32 +23,30 @@

Sessions

{{ else }}
-

JSON Schema Conference
Sessions 2025

- Join the community that's shaping the future of the structure data. +

JSON Schema Conference
Sessions 2025

+ Join the community that's shaping the future of structured data.

Our team is preparing an exciting lineup of talks for {{ .Params.year | default "this year" }}.
Stay tuned — big ideas are on the way!

-
-

2024 Highlights

- -
-
- Conference 1 - Conference 2 - Conference 3 - Conference 4 - Conference 5 - Conference 6 - Conference 7 - Conference 8 - Conference 9 - Conference 10 -
+ + +
+
+
Conference 1
+
Conference 2
+
Conference 3
+
Conference 4
+
Conference 5
+
Conference 6
+
Conference 7
+
Conference 8
+
Conference 9
+
Conference 10
+ - + target="_blank" rel="noopener"> +
@@ -74,140 +72,81 @@

2024 Highlights

text-align: center; } - .coming-soon h1{ + .coming-soon h1 { font-size: 3.5rem; - font-weight: 400; - margin-bottom: 1rem; - text-align: center; + font-weight: 400; + margin-bottom: 1rem; } - .coming-soon span{ + .coming-soon span { font-size: 1.2rem; font-weight: 500; - letter-spacing: 0.5px; - margin : 20px 0; - text-align: center; color: #667eea; display: block; + margin-bottom: 20px; } - + .coming-soon p { font-size: 1.1rem; - font-weight: 400; opacity: 0.85; - margin: 20px 0; - text-align: center; - display: block; - } - - .highlights-section { - margin: 50px 0; - } - - .highlights-title { - font-size: 1em; - font-weight: 600; - color: #fff; - margin : 20px 0; - background: #0071BC; - padding: 0.5rem 1rem; - border-radius: 20px; - width: fit-content; - + margin: 20px 0 40px 0; } - /* Image container styles */ - .image-container { - width: 100%; - height: 300px; - overflow: hidden; - position: relative; - margin: 20px 0; - border-radius: 10px; - } - - /* Moving images wrapper */ - .moving-images { + .slider-wrapper { display: flex; - width: calc(300px * 10); /* Width based on number of images */ - height: 100%; - animation: moveRightToLeft 20s linear infinite; - gap: 15px; + justify-content: center; align-items: center; - + height: 100vh; + transform: translateY(-80px); /* Lifts the slider slightly upward */ + overflow: hidden; } - /* Individual image styles */ - .moving-images img { + .slider { + position: relative; width: 250px; - height: 300px; - object-fit: cover; - border-radius: 4px; - transition: transform 0.3s ease; - flex-shrink: 0; - } - - .moving-images img:hover { - transform: scale(1.05); + height: 240px; + transform-style: preserve-3d; + transform: perspective(1500px); + animation: autoRotate 70s linear infinite; /* Slower rotation */ } - /* Animation for right to left movement */ - @keyframes moveRightToLeft { - 0% { - transform: translateX(10%); + @keyframes autoRotate { + from { + transform: perspective(1500px) rotateX(-10deg) rotateY(0deg); } - 100% { - transform: translateX(-70%); + to { + transform: perspective(1500px) rotateX(-10deg) rotateY(360deg); } } - /* Pause animation on hover */ - .image-container:hover .moving-images { + .slider:hover { animation-play-state: paused; } - @media (max-width: 768px) { - .coming-soon-box h1{ - font-size: 1.2rem; - font-weight: 500; - } - - .image-container { - height: 200px; - } - - .moving-images img { - width: 180px; - height: 200px; - } - - .conference-title { - font-size: 2em; - } + .slider .item { + position: absolute; + inset: 0; + transform: rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg)) translateZ(450px); } - - .coming-soon button { - border-radius: 50px; - border: none; - letter-spacing: 1px; - font-size: 1.2rem; - font-weight: 700; - background: #0071BC; - padding: 0.5rem 1rem; - color: #fff; - transition: all 0.3s ease; - - } - - .coming-soon button:hover { - transform: scale(1.05); - } - - @keyframes float { - 0%, 100% { transform: translateY(0); } - 50% { transform: translateY(-4px); } + + .slider .item img { + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 20px; + border: 4px solid #fff; + box-shadow: 0 10px 30px rgba(0,0,0,0.25); } + @media (max-width: 568px) { + .slider { + width: 200px; + height: 260px; + } + .slider .item { + transform: rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg)) translateZ(400px); + } + } {{ end }}