Skip to content

Commit 217f14f

Browse files
committed
Added About Page - Pycon2025 ✨
1 parent ceffb0f commit 217f14f

File tree

5 files changed

+558
-9
lines changed

5 files changed

+558
-9
lines changed

src/_includes/navbar.njk

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{% from "components/button.njk" import button %}
12
{% macro navbar(isHomePage = false, env = env) %}
23
<nav class="w-full flex justify-center {% if isHomePage %}bg-black{% else %}bg-pycon-blue{% endif %} z-50 fixed top-0 left-0 right-0 transition-all duration-500" id="main-navbar">
34
<div class="w-full max-w-5xl mx-auto px-6 hidden md:block py-3">
@@ -7,6 +8,14 @@
78
</a>
89
<ul class="flex items-center justify-center w-full gap-8 relative mb-0">
910
{% set menuItems = [
11+
{
12+
"name": "About",
13+
"hasSubmenu": true,
14+
"submenu": [
15+
{"name": "About Team", "link": "about"},
16+
{"name": "FAQ", "link": "faq"}
17+
]
18+
},
1019
{
1120
"name": "CFP",
1221
"link": "cfp",
@@ -86,9 +95,7 @@
8695
{% endfor %}
8796
</ul>
8897
<div class="absolute right-0">
89-
<a href="{{ env.baseUrl }}tickets" class="font-medium text-black bg-pycon-lime/90 hover:bg-pycon-lime text-sm py-2 px-4 rounded-full transition-all duration-200 no-underline nav-button">
90-
Get Tickets
91-
</a>
98+
{{ button(text="Get Tickets", url="/tickets", lime_bg=true, env=env) }}
9299
</div>
93100
</div>
94101
</div>
@@ -175,10 +182,8 @@
175182
{% endif %}
176183
{% endfor %}
177184

178-
<div class="mt-6">
179-
<a href="{{ env.baseUrl }}tickets" class="flex justify-center items-center bg-pycon-lime text-black font-medium rounded-lg p-4 text-center w-full no-underline text-base transition-all duration-200 hover:bg-pycon-lime/80">
180-
Get Tickets
181-
</a>
185+
<div class="mt-6 flex justify-center items-center">
186+
{{ button(text="Get Tickets", url="/tickets", lime_bg=true, env=env) }}
182187
</div>
183188
</div>
184189

src/about.njk

Lines changed: 266 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,266 @@
1+
---
2+
title: About the Team - PyCon India 2025
3+
description: PyCon India is a volunteer driven conference. Like every year, we need enthusiastic and driven volunteer drive to make PyCon India successful.
4+
layout: base.njk
5+
---
6+
7+
{% set teamMembers = [
8+
{
9+
name: "Kumar Anirudh",
10+
role: "Chair",
11+
imagelink: "",
12+
socials: {
13+
insta: "https://instagram.com/",
14+
linkedin: "https://linkedin.com/in/",
15+
web: "https://example.com",
16+
github: "https://github.com/",
17+
twitter: "https://twitter.com/"
18+
}
19+
},
20+
{
21+
name: "Kumar Anirudh",
22+
role: "Chair",
23+
imagelink: "",
24+
socials: {
25+
insta: "https://instagram.com/",
26+
linkedin: "https://linkedin.com/in/",
27+
web: "https://example.com",
28+
github: "https://github.com/",
29+
twitter: "https://twitter.com/"
30+
}
31+
},
32+
{
33+
name: "Kumar Anirudh",
34+
role: "Chair",
35+
imagelink: "",
36+
socials: {
37+
insta: "https://instagram.com/",
38+
linkedin: "https://linkedin.com/in/",
39+
web: "https://example.com",
40+
github: "https://github.com/",
41+
twitter: "https://twitter.com/"
42+
}
43+
},
44+
{
45+
name: "Kumar Anirudh",
46+
role: "Chair",
47+
imagelink: "",
48+
socials: {
49+
insta: "https://instagram.com/",
50+
linkedin: "https://linkedin.com/in/",
51+
web: "https://example.com",
52+
github: "https://github.com/",
53+
twitter: "https://twitter.com/"
54+
}
55+
},
56+
{
57+
name: "Kumar Anirudh",
58+
role: "Chair",
59+
imagelink: "",
60+
socials: {
61+
insta: "https://instagram.com/",
62+
linkedin: "https://linkedin.com/in/",
63+
web: "https://example.com",
64+
github: "https://github.com/",
65+
twitter: "https://twitter.com/"
66+
}
67+
},
68+
{
69+
name: "Kumar Anirudh",
70+
role: "Chair",
71+
imagelink: "",
72+
socials: {
73+
insta: "https://instagram.com/",
74+
linkedin: "https://linkedin.com/in/",
75+
web: "https://example.com",
76+
github: "https://github.com/",
77+
twitter: "https://twitter.com/"
78+
}
79+
},
80+
{
81+
name: "Kumar Anirudh",
82+
role: "Chair",
83+
imagelink: "",
84+
socials: {
85+
insta: "https://instagram.com/",
86+
linkedin: "https://linkedin.com/in/",
87+
web: "https://example.com",
88+
github: "https://github.com/",
89+
twitter: "https://twitter.com/"
90+
}
91+
},
92+
{
93+
name: "Kumar Anirudh",
94+
role: "Chair",
95+
imagelink: "",
96+
socials: {
97+
insta: "https://instagram.com/",
98+
linkedin: "https://linkedin.com/in/",
99+
web: "https://example.com",
100+
github: "https://github.com/",
101+
twitter: "https://twitter.com/"
102+
}
103+
},
104+
{
105+
name: "Kumar Anirudh",
106+
role: "Chair",
107+
imagelink: "",
108+
socials: {
109+
insta: "https://instagram.com/",
110+
linkedin: "https://linkedin.com/in/",
111+
web: "https://example.com",
112+
github: "https://github.com/",
113+
twitter: "https://twitter.com/"
114+
}
115+
},
116+
{
117+
name: "Kumar Anirudh",
118+
role: "Chair",
119+
imagelink: "",
120+
socials: {
121+
insta: "https://instagram.com/",
122+
linkedin: "https://linkedin.com/in/",
123+
web: "https://example.com",
124+
github: "https://github.com/",
125+
twitter: "https://twitter.com/"
126+
}
127+
}
128+
] %}
129+
130+
<header>
131+
{% set activePage = 'about' %}
132+
</header>
133+
134+
<div class="min-h-0 bg-pycon-blue">
135+
<div class="container mx-auto px-8 py-16">
136+
<div class="flex flex-col lg:flex-row items-center justify-between min-h-[70vh] gap-8">
137+
<!-- Left Content Section -->
138+
<div class="flex-1 max-w-2xl text-center lg:text-left">
139+
<h1 class="text-4xl md:text-3xl lg:text-4xl font-bold text-white mb-6 lg:mb-8 leading-tight">
140+
The Origin Story
141+
</h1>
142+
143+
<h2 class="text-lg md:text-xl lg:text-2xl text-blue-100 mb-4 lg:mb-6 font-medium">
144+
About PyCon India 2025
145+
</h2>
146+
147+
<p class="text-base md:text-lg text-blue-50 leading-relaxed max-w-lg mx-auto lg:mx-0 mb-8">
148+
PyCon India is a volunteer driven conference. Like every year, we need enthusiastic and driven volunteer drive to make PyCon India successful.
149+
</p>
150+
151+
<!-- Image for mobile - shown below content -->
152+
<div class="flex lg:hidden justify-center items-center mt-8">
153+
<div class="max-w-sm w-full">
154+
<img
155+
src="/img/assets/about-team.svg"
156+
alt="Team collaboration illustration"
157+
class="w-full h-auto"
158+
/>
159+
</div>
160+
</div>
161+
</div>
162+
163+
<!-- Right Image Section - hidden on mobile -->
164+
<div class="hidden lg:flex flex-2 justify-center items-center">
165+
<div class="max-w-sm md:max-w-md w-full">
166+
<img
167+
src="/img/assets/about-team.svg"
168+
alt="Team collaboration illustration Part"
169+
class="w-full h-auto transition-all duration-300 animate-float"
170+
/>
171+
</div>
172+
</div>
173+
</div>
174+
</div>
175+
</div>
176+
177+
<!-- Team Section -->
178+
<div class="min-h-screen bg-gray-50 py-16 mb-16">
179+
<div class="container mx-auto px-8">
180+
<!-- Section Header -->
181+
<div class="flex flex-col justify-start items-start gap-3.5 mb-16">
182+
<h1 class="text-4xl md:text-3xl lg:text-4xl font-bold text-black leading-tight">The Team</h1>
183+
</div>
184+
185+
<!-- Team Grid - 5 cols desktop, 2 cols mobile -->
186+
<div class="grid grid-cols-2 lg:grid-cols-5 gap-6 lg:gap-8">
187+
{% for member in teamMembers %}
188+
<div class="team-card-3d">
189+
<div class="team-card-content w-48 inline-flex flex-col justify-start items-start">
190+
<!-- Image Container -->
191+
<div class="w-48 h-[147px] bg-[#8385f2] overflow-hidden relative">
192+
{% if member.imagelink %}
193+
<img src="{{ member.imagelink }}"
194+
alt="{{ member.name }}"
195+
class="w-full h-full object-cover team-image"
196+
loading="lazy"
197+
onerror="this.style.display='none'">
198+
{% endif %}
199+
</div>
200+
201+
<!-- Info Container -->
202+
<div class="self-stretch flex flex-col justify-start items-start gap-3 pt-3">
203+
<!-- Name -->
204+
<div class="self-stretch justify-start text-black text-2xl font-normal acid-grotesk leading-7">
205+
{{ member.name }}
206+
</div>
207+
208+
<!-- Role -->
209+
<div class="self-stretch justify-start text-slate-400 text-base font-normal acid-grotesk leading-7">
210+
{{ member.role }}
211+
</div>
212+
213+
<!-- Social Icons -->
214+
<div class="h-6 inline-flex justify-start items-start gap-4">
215+
{% if member.socials.insta %}
216+
<a href="{{ member.socials.insta }}" target="_blank" rel="noopener noreferrer"
217+
class="social-icon-3d p-1 rounded-full border border-slate-400 flex justify-center items-center">
218+
<svg class="w-4 h-4 text-slate-400" fill="currentColor" viewBox="0 0 24 24">
219+
<path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/>
220+
</svg>
221+
</a>
222+
{% endif %}
223+
224+
{% if member.socials.linkedin %}
225+
<a href="{{ member.socials.linkedin }}" target="_blank" rel="noopener noreferrer"
226+
class="social-icon-3d p-1 rounded-full border border-slate-400 flex justify-center items-center">
227+
<svg class="w-4 h-4 text-slate-400" fill="currentColor" viewBox="0 0 24 24">
228+
<path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/>
229+
</svg>
230+
</a>
231+
{% endif %}
232+
233+
{% if member.socials.web %}
234+
<a href="{{ member.socials.web }}" target="_blank" rel="noopener noreferrer"
235+
class="social-icon-3d p-1 rounded-full border border-slate-400 flex justify-center items-center">
236+
<svg class="w-4 h-4 text-slate-400" fill="currentColor" viewBox="0 0 24 24">
237+
<path d="M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0zm1 16.057v-3.057h2.994c-.059 1.143-.212 2.24-.456 3.279-.823-.12-1.674-.188-2.538-.222zm1.957 2.162c-.499 1.33-1.159 2.497-1.957 3.456v-3.62c.666.028 1.319.081 1.957.164zm-1.957-7.219v-3.015c.868-.034 1.721-.103 2.548-.224.238 1.027.389 2.111.446 3.239h-2.994zm0-5.014v-3.661c.806.969 1.471 2.15 1.971 3.496-.642.084-1.3.137-1.971.165zm2.703-3.267c1.237.496 2.354 1.228 3.29 2.146-.642.234-1.311.442-2.019.607-.344-.992-.775-1.91-1.271-2.753zm-7.241 13.56c-.244-1.039-.398-2.136-.456-3.279h2.994v3.057c-.865.034-1.714.102-2.538.222zm2.538 1.776v3.62c-.798-.959-1.458-2.126-1.957-3.456.638-.083 1.291-.136 1.957-.164zm-2.994-7.055c.057-1.128.207-2.212.446-3.239.827.121 1.68.19 2.548.224v3.015h-2.994zm1.024-5.179c.5-1.346 1.165-2.527 1.97-3.496v3.661c-.671-.028-1.329-.081-1.97-.165zm-2.005-.35c-.708-.165-1.377-.373-2.018-.607.937-.918 2.053-1.65 3.29-2.146-.496.844-.927 1.762-1.272 2.753zm-.549 1.918c-.264 1.151-.434 2.36-.492 3.611h-3.933c.165-1.658.739-3.197 1.617-4.518.88.361 1.816.67 2.808.907zm.009 9.262c-.988.236-1.92.542-2.797.9-.89-1.328-1.471-2.879-1.637-4.551h3.934c.058 1.265.231 2.488.5 3.651zm.553 1.917c.342.976.768 1.881 1.257 2.712-1.223-.49-2.326-1.211-3.256-2.115.636-.229 1.299-.435 1.999-.597zm9.924 0c.7.163 1.362.367 1.999.597-.931.903-2.034 1.625-3.257 2.116.489-.832.915-1.737 1.258-2.713zm.553-1.917c.27-1.163.442-2.386.501-3.651h3.934c-.167 1.672-.748 3.223-1.638 4.551-.877-.358-1.81-.664-2.797-.9zm.501-5.651c-.058-1.251-.229-2.46-.492-3.611.992-.237 1.929-.546 2.809-.907.877 1.321 1.451 2.86 1.616 4.518h-3.933z"/>
238+
</svg>
239+
</a>
240+
{% endif %}
241+
242+
{% if member.socials.github %}
243+
<a href="{{ member.socials.github }}" target="_blank" rel="noopener noreferrer"
244+
class="social-icon-3d p-1 rounded-full border border-slate-400 flex justify-center items-center">
245+
<svg class="w-4 h-4 text-slate-400" fill="currentColor" viewBox="0 0 24 24">
246+
<path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/>
247+
</svg>
248+
</a>
249+
{% endif %}
250+
251+
{% if member.socials.twitter %}
252+
<a href="{{ member.socials.twitter }}" target="_blank" rel="noopener noreferrer"
253+
class="social-icon-3d p-1 rounded-full border border-slate-400 flex justify-center items-center">
254+
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24">
255+
<path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/>
256+
</svg>
257+
</a>
258+
{% endif %}
259+
</div>
260+
</div>
261+
</div>
262+
</div>
263+
{% endfor %}
264+
</div>
265+
</div>
266+
</div>

0 commit comments

Comments
 (0)