Skip to content

Speakers Section #135

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/_data/menuItems.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@
"name": "Schedule",
"link": "program/schedule"
},
{
"name": "Speakers",
"link": "program/speakers"
},
{
"name": "CFP Overview",
"link": "cfp"
Expand Down
70 changes: 70 additions & 0 deletions src/_data/speakers.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
[
{
"name": "Jon Doe",
"email": "[email protected]",
"imageLink": "https://media.istockphoto.com/id/1080398556/photo/beautiful-young-caucasian-man.jpg?s=170667a&w=0&k=20&c=u56IkfvV9qiPXYy3eihTrmB4Z0_3Rx6vJDi508mgShM=",
"socials": {
"youtube": "https://github.com/indiVar0508",
"linkedin": "https://github.com/indiVar0508",
"github": "https://github.com/indiVar0508",
"twitter": "https://github.com/indiVar0508",
"insta": "https://github.com/indiVar0508",
"web": "https://github.com/indiVar0508"
}
},
{
"name": "Jon Doe",
"email": "[email protected]",
"imageLink": "https://media.istockphoto.com/id/1080398556/photo/beautiful-young-caucasian-man.jpg?s=170667a&w=0&k=20&c=u56IkfvV9qiPXYy3eihTrmB4Z0_3Rx6vJDi508mgShM=",
"socials": {
"youtube": "https://github.com/indiVar0508",
"linkedin": "https://github.com/indiVar0508",
"github": "https://github.com/indiVar0508",
"twitter": "https://github.com/indiVar0508"
}
},
{
"name": "Jon Doe",
"email": "[email protected]",
"imageLink": "https://media.istockphoto.com/id/1080398556/photo/beautiful-young-caucasian-man.jpg?s=170667a&w=0&k=20&c=u56IkfvV9qiPXYy3eihTrmB4Z0_3Rx6vJDi508mgShM=",
"socials": {
"youtube": "https://github.com/indiVar0508",
"linkedin": "https://github.com/indiVar0508",
"github": "https://github.com/indiVar0508",
"twitter": "https://github.com/indiVar0508"
}
},
{
"name": "Jon Doe",
"email": "[email protected]",
"imageLink": "https://media.istockphoto.com/id/1080398556/photo/beautiful-young-caucasian-man.jpg?s=170667a&w=0&k=20&c=u56IkfvV9qiPXYy3eihTrmB4Z0_3Rx6vJDi508mgShM=",
"socials": {
"youtube": "https://github.com/indiVar0508",
"linkedin": "https://github.com/indiVar0508",
"github": "https://github.com/indiVar0508",
"twitter": "https://github.com/indiVar0508"
}
},
{
"name": "Jon Doe",
"email": "[email protected]",
"imageLink": "https://media.istockphoto.com/id/1080398556/photo/beautiful-young-caucasian-man.jpg?s=170667a&w=0&k=20&c=u56IkfvV9qiPXYy3eihTrmB4Z0_3Rx6vJDi508mgShM=",
"socials": {
"youtube": "https://github.com/indiVar0508",
"linkedin": "https://github.com/indiVar0508",
"github": "https://github.com/indiVar0508",
"twitter": "https://github.com/indiVar0508"
}
},
{
"name": "Jon Doe",
"email": "[email protected]",
"imageLink": "https://media.istockphoto.com/id/1080398556/photo/beautiful-young-caucasian-man.jpg?s=170667a&w=0&k=20&c=u56IkfvV9qiPXYy3eihTrmB4Z0_3Rx6vJDi508mgShM=",
"socials": {
"youtube": "https://github.com/indiVar0508",
"linkedin": "https://github.com/indiVar0508",
"github": "https://github.com/indiVar0508",
"twitter": "https://github.com/indiVar0508"
}
}
]
44 changes: 44 additions & 0 deletions src/_includes/components/img-container.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{% macro imgContainer(width=200, height=200, depth=100, frontBg="lime", topBg="", leftBg="", autoHeight=false, url="", altText="") %}
{% if frontBg == "lime" %}
{% set resolved_front_bg = "#D7FF7B" %}
{% elseif frontBg == "lavender" %}
{% set resolved_front_bg = "#F0EEFF" %}
{% else %}
{% set resolved_front_bg = frontBg %}
{% endif %}

{% if topBg == "" %}
{% set resolved_top_bg = resolved_front_bg %}
{% elseif topBg == "lime" %}
{% set resolved_top_bg = "#D7FF7B" %}
{% elseif topBg == "lavender" %}
{% set resolved_top_bg = "#F0EEFF" %}
{% elseif topBg == "purple" %}
{% set resolved_top_bg = "#CD89FF" %}
{% else %}
{% set resolved_top_bg = topBg %}
{% endif %}

{% if leftBg == "" %}
{% set resolved_left_bg = resolved_front_bg %}
{% elseif leftBg == "lime" %}
{% set resolved_left_bg = "#D7FF7B" %}
{% elseif leftBg == "lavender" %}
{% set resolved_left_bg = "#F0EEFF" %}
{% elseif leftBg == "purple" %}
{% set resolved_left_bg = "#CD89FF" %}
{% else %}
{% set resolved_left_bg = leftBg %}
{% endif %}

<div class="window-container{% if autoHeight %} window-auto-height{% endif %}" style="--w:{{ width }}; --h:{{ height }}; --d:{{ depth }}; --front-bg:{{ resolved_front_bg }}; --top-bg:{{ resolved_top_bg }}; --left-bg:{{ resolved_left_bg }};">
<!-- Top Panel -->
<div class="face top"></div>
<!-- Left Panel -->
<div class="face left"></div>
<!-- Front Face -->
<div class="face front">
<img src="{{ url }}" alt="{{ altText }}" class="w-full h-full object-cover" />
</div>
</div>
{% endmacro %}
79 changes: 79 additions & 0 deletions src/program/speakers.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
title: Speakers - PyCon India 2025
description: PyCon India 2025 Speakers
layout: base.njk
---

{% from "components/img-container.njk" import imgContainer %}

<div class="w-full h-auto px-[6%] -mb-16 md:mb-0 flex flex-col md:flex-row">
<div class="pt-32 pb-8 md:pb-32 w-full lg:w-[70%]">
<div class="black-han-sans-regular font-normal text-3xl md:text-5xl md:text-center text-[#000000] text-center lg:text-left">
Speakers
</div>
</div>
<div class="lg:w-[30%] w-[80%] lg:mt-40 items-center justify-center mx-auto hidden lg:block">
<img src="{{ env.baseUrl }}img/assets/tetris-stars.svg" alt="Guide" class="w-[80%] transition-transform duration-100" style="animation: floating 2s ease-in-out infinite;">
</div>
</div>


<div class="main-container pt-24 pb-72 lg:pb-40 md:pt-16 w-full text-black h-auto px-[6%]">
<div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 gap-10 ">
{% for person in speakers %}
<div class="flex flex-col items-center pb-4">
<div class="items-start">
<!-- Responsive Image with 4:3 ratio -->
<div class="w-60 h-48 relative">
<div class="absolute inset-0">
<div class="w-full h-full">
{% if person.imageLink %}
{{ imgContainer(width=220, height=180, depth=16, frontBg="lavender", leftBg="purple", topBg="purple", url= person.imageLink) }}
{% else %}
{{ imgContainer(width=220, height=180, depth=16, frontBg="lavender", leftBg="purple", topBg="purple", url= person.imageLink) }}
{% endif %}
</div>
</div>
</div>

<!-- Name -->
<p class="mt-2 ml-2 mb-1 text-xl font-light text-left">{{ person.name }}</p>

<!-- Socials -->
<div class="flex ml-2 justify-left items-start gap-1 md:gap-4 flex-wrap">
{% if person.socials.linkedin %}
<a href="{{ person.socials.linkedin }}" target="_blank" aria-label="LinkedIn" class="p-1 rounded-full outline outline-1 outline-lime-300 flex justify-center items-center hover:scale-110 hover:text-[#4E62F5] transition-transform duration-200 no-underline">
<i class="fab fa-linkedin text-md md:text-xl"></i>
</a>
{% endif %}
{% if person.socials.web %}
<a href="{{ person.socials.web }}" target="_blank" aria-label="Website" class="p-1 rounded-full outline outline-1 outline-lime-300 flex justify-center items-center hover:scale-110 hover:text-[#4E62F5] transition-transform duration-200 no-underline">
<i class="fa fa-globe text-md md:text-xl"></i>
</a>
{% endif %}
{% if person.socials.twitter %}
<a href="{{ person.socials.twitter }}" target="_blank" aria-label="Twitter" class="p-1 rounded-full outline outline-1 outline-lime-300 flex justify-center items-center hover:scale-110 hover:text-[#4E62F5] transition-transform duration-200 no-underline">
<i class="fab fa-x-twitter text-md md:text-xl"></i>
</a>
{% endif %}
{% if person.socials.github %}
<a href="{{ person.socials.github }}" target="_blank" aria-label="GitHub" class="p-1 rounded-full outline outline-1 outline-lime-300 flex justify-center items-center hover:scale-110 hover:text-[#4E62F5] transition-transform duration-200 no-underline">
<i class="fab fa-github text-md md:text-xl"></i>
</a>
{% endif %}
{% if person.socials.youtube %}
<a href="{{ person.socials.youtube }}" target="_blank" aria-label="YouTube" class="p-1 rounded-full outline outline-1 outline-lime-300 flex justify-center items-center hover:scale-110 hover:text-[#4E62F5] transition-transform duration-200 no-underline">
<i class="fab fa-youtube text-md md:text-xl"></i>
</a>
{% endif %}
{% if person.socials.insta %}
<a href="{{ person.socials.insta }}" target="_blank" aria-label="Instagram" class="p-1 rounded-full outline outline-1 outline-lime-300 flex justify-center items-center hover:scale-110 hover:text-[#4E62F5] transition-transform duration-200 no-underline">
<i class="fab fa-instagram text-md md:text-xl"></i>
</a>
{% endif %}
</div>
</div>
</div>
{% endfor %}
</div>
</div>
19 changes: 19 additions & 0 deletions src/static/img/assets/tetris-stars.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.