diff --git a/src/_data/menuItems.json b/src/_data/menuItems.json index 21a7305..1c02e62 100644 --- a/src/_data/menuItems.json +++ b/src/_data/menuItems.json @@ -33,6 +33,10 @@ "name": "Schedule", "link": "program/schedule" }, + { + "name": "Speakers", + "link": "program/speakers" + }, { "name": "CFP Overview", "link": "cfp" diff --git a/src/_data/speakers.json b/src/_data/speakers.json new file mode 100644 index 0000000..8484d8d --- /dev/null +++ b/src/_data/speakers.json @@ -0,0 +1,70 @@ +[ + { + "name": "Jon Doe", + "email": "john@doe.com", + "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": "john@doe.com", + "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": "john@doe.com", + "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": "john@doe.com", + "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": "john@doe.com", + "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": "john@doe.com", + "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" + } + } +] \ No newline at end of file diff --git a/src/_includes/components/img-container.njk b/src/_includes/components/img-container.njk new file mode 100644 index 0000000..4b59b0b --- /dev/null +++ b/src/_includes/components/img-container.njk @@ -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 %} + +
+ +
+ +
+ +
+ {{ altText }} +
+
+{% endmacro %} diff --git a/src/program/speakers.njk b/src/program/speakers.njk new file mode 100644 index 0000000..1d3267c --- /dev/null +++ b/src/program/speakers.njk @@ -0,0 +1,79 @@ +--- +title: Speakers - PyCon India 2025 +description: PyCon India 2025 Speakers +layout: base.njk +--- + +{% from "components/img-container.njk" import imgContainer %} + +
+
+
+ Speakers +
+
+ +
+ + +
+
+ {% for person in speakers %} +
+
+ +
+
+
+ {% 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 %} +
+
+
+ + +

{{ person.name }}

+ + +
+ {% if person.socials.linkedin %} + + + + {% endif %} + {% if person.socials.web %} + + + + {% endif %} + {% if person.socials.twitter %} + + + + {% endif %} + {% if person.socials.github %} + + + + {% endif %} + {% if person.socials.youtube %} + + + + {% endif %} + {% if person.socials.insta %} + + + + {% endif %} +
+
+
+ {% endfor %} +
+
diff --git a/src/static/img/assets/tetris-stars.svg b/src/static/img/assets/tetris-stars.svg new file mode 100644 index 0000000..1ea0145 --- /dev/null +++ b/src/static/img/assets/tetris-stars.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + +