Usable version

First pass of what I'd call "usable" versions of the pages:
- Index
- About
- Tickets

There's some more work to be done in the year_con partial to represent each of the conference years.

The biggest change of this commit by far is the introduction/commonization of the partial 'features.html'. This is the behemoth of a partial that effectively gives us the options to show slide style content. At some point it might be advantageous to break it apart more, but it's relatively straightforward to include in a layout and start putting together pages.
seattle2022
Devon 2024-10-20 18:12:03 -07:00
parent 8c63772039
commit 7292743767
46 changed files with 692 additions and 372 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 92 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 5255 5255" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><rect id="Favicon" x="0" y="0" width="5254.17" height="5254.17" style="fill:none;"/><g><path d="M2260.71,629.968l1408.31,0c6.963,0 13.641,2.118 18.564,5.888c4.924,3.77 7.69,8.883 7.69,14.214l0,3954.03c-0,11.102 -11.754,20.101 -26.254,20.101l-1408.31,0l0,-3994.23Z" style="fill:#d4d6df;"/><path d="M268.461,4604.1l-0,-2113.29l0.039,-249.198c0.001,-6.785 4.685,-13.112 12.457,-16.825l556.742,-411.24c4.475,-2.137 9.704,-3.276 15.05,-3.276l0.922,0l-0,2813.93l-557.705,0c-7.295,0 -14.291,-2.118 -19.449,-5.887c-5.159,-3.77 -8.056,-8.883 -8.056,-14.214Z" style="fill:#b4b0be;"/><path d="M1675.5,3694.31l-0,-2383.8l0.04,-249.198c0,-6.785 4.685,-13.112 12.456,-16.825l556.743,-411.24c4.474,-2.137 9.704,-3.276 15.049,-3.276l0.922,0l0,3084.44l-557.704,-0c-7.295,-0 -14.292,-2.118 -19.45,-5.888c-5.158,-3.77 -8.056,-8.883 -8.056,-14.214Z" style="fill:#b4b0be;"/><path d="M853.671,1810.27l1381.29,0c6.829,0 13.379,2.118 18.208,5.888c4.829,3.77 7.542,8.883 7.542,14.214l0,2773.73c0,11.102 -11.529,20.101 -25.75,20.101l-1381.29,0l-0,-2813.93Z" style="fill:#d4d6df;"/><path d="M3695.27,2325.8l1266.82,-0c6.263,-0 12.27,1.644 16.699,4.571c4.429,2.928 6.917,6.898 6.917,11.037l0,2267.18c0,8.62 -10.573,15.608 -23.616,15.608l-1266.82,0l0,-2298.4Z" style="fill:#d4d6df;"/><g><g><path d="M1267.12,4624.02l-218.303,-0c-6.793,-0 -13.308,-1.978 -18.111,-5.497c-4.803,-3.52 -7.502,-8.293 -7.502,-13.271l0,-1527.65l0.037,-232.654c0.001,-6.334 4.363,-12.241 11.6,-15.707l217.406,-161.006c4.167,-1.996 9.036,-3.059 14.014,-3.059l0.859,0l-0,1958.85Z" style="fill:#fff;"/><path d="M2174.89,4624.02l-218.302,-0c-6.793,-0 -13.308,-1.978 -18.111,-5.497c-4.804,-3.52 -7.502,-8.293 -7.502,-13.271l0.858,-456.009l0.037,-232.654c0.001,-6.334 4.363,-12.241 11.6,-15.707l217.406,-161.006c4.167,-1.996 9.037,-3.059 14.014,-3.059l0.859,0l-0.859,887.203Z" style="fill:#fff;"/><path d="M1677.16,4016.36c-24.977,0 -45.226,20.301 -45.226,45.344l0,516.969c0,25.043 -20.248,45.344 -45.225,45.344l-313.602,-0c-24.977,-0 -45.225,-20.301 -45.226,-45.343l0,-1870.71c0,-18.34 11.019,-34.874 27.919,-41.892c16.9,-7.018 36.352,-3.139 49.286,9.829l313.602,314.418c8.482,8.504 13.246,20.037 13.246,32.063l0,543.531c0,25.042 20.249,45.343 45.226,45.343l441.108,0c11.994,0 23.498,4.777 31.979,13.281l377.561,378.543c8.481,8.503 13.246,20.036 13.246,32.062l-0,543.531c-0,25.043 -20.248,45.344 -45.226,45.344l-313.602,-0c-24.977,-0 -45.225,-20.301 -45.225,-45.344l-0,-516.969c-0,-25.043 -20.248,-45.344 -45.226,-45.344l-414.615,0Z" style="fill:#170d33;"/></g><g><path d="M2893.66,4624.02l-218.303,-0c-6.793,-0 -13.308,-1.978 -18.111,-5.497c-4.803,-3.52 -7.502,-8.293 -7.502,-13.271l0,-581.388l0.037,-232.654c0.001,-6.335 4.363,-12.242 11.6,-15.708l217.406,-161.006c4.167,-1.996 9.036,-3.058 14.014,-3.058l0.859,-0l-0,1012.58Z" style="fill:#fff;"/><path d="M3661.08,4624.02l-218.302,-0c-6.793,-0 -13.308,-1.978 -18.111,-5.497c-4.804,-3.52 -7.502,-8.293 -7.502,-13.271l0.859,-456.009l0.037,-232.654c0,-6.334 4.362,-12.241 11.599,-15.707l217.407,-161.006c4.166,-1.996 9.036,-3.059 14.013,-3.059l0.859,0l-0.859,887.203Z" style="fill:#fff;"/><path d="M4431.22,4624.02l-218.302,-0c-6.793,-0 -13.308,-1.978 -18.111,-5.497c-4.804,-3.52 -7.502,-8.293 -7.502,-13.271l0.859,-456.009l0.037,-232.654c0,-6.334 4.362,-12.241 11.599,-15.707l217.406,-161.006c4.167,-1.996 9.037,-3.059 14.014,-3.059l0.859,0l-0.859,887.203Z" style="fill:#fff;"/><path d="M3303.7,4016.54c-11.994,-0 -23.498,4.777 -31.979,13.281c-8.482,8.503 -13.246,20.036 -13.246,32.062l-0,516.97c-0,25.042 -20.249,45.343 -45.226,45.343l-313.602,0c-24.977,0 -45.225,-20.301 -45.225,-45.343l-0,-922.074c-0,-25.042 20.248,-45.343 45.225,-45.343l1475.77,-0c11.995,-0 23.498,4.777 31.979,13.28l377.561,378.543c8.481,8.504 13.246,20.037 13.246,32.063l0,543.531c0,25.042 -20.248,45.343 -45.225,45.343l-313.602,0c-24.978,0 -45.226,-20.301 -45.226,-45.343l0,-516.97c0,-12.026 -4.765,-23.559 -13.246,-32.062c-8.482,-8.504 -19.985,-13.281 -31.98,-13.281l-275.361,0c-11.994,-0 -23.497,4.777 -31.979,13.281c-8.481,8.503 -13.246,20.036 -13.246,32.062l-0,516.97c-0,25.042 -20.248,45.343 -45.226,45.343l-313.602,0c-24.977,0 -45.225,-20.301 -45.225,-45.343l-0,-516.97c-0,-12.026 -4.765,-23.559 -13.246,-32.062c-8.482,-8.504 -19.985,-13.281 -31.98,-13.281l-275.361,0Z" style="fill:#170d33;"/></g></g></g></svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
assets/images/nystrom.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -40,7 +40,6 @@
const swipers = document.querySelectorAll(".swiper-slider");
swipers.forEach((swiper) => {
console.log("ayy");
new Swiper(swiper, {
spaceBetween: 24,
loop: true,

View File

@ -36,4 +36,22 @@
.about-content a:hover {
text-decoration: underline !important;
}
.qa a {
color: var(--meetups-color) !important;
text-decoration: none;
}
.qa a:hover {
text-decoration: underline;
}
.testimonial a {
color: var(--meetups-color) !important;
text-decoration: none;
}
.testimonial a:hover {
text-decoration: underline;
}

View File

@ -34,7 +34,7 @@ weight = 4
[[main]]
parent = "Explore"
name = "Discord"
url = "/discord"
url = "https://discord.com/invite/txcCe8vyQ6"
weight = 1
[[main]]
@ -46,7 +46,7 @@ weight = 2
[[main]]
parent = "Explore"
name = "Members"
url = "/members"
url = "https://donorbox.org/handmadecities"
weight = 3
[[main]]

View File

@ -1,6 +1,6 @@
#################### default parameters ################################
# favicon module: https://github.com/gethugothemes/hugo-modules/tree/master/images#favicon-implementation
favicon = "images/favicon/handmadecities-favicon.svg"
favicon = "images/favicon/handmadecities-favicon.png"
# logo module: https://github.com/gethugothemes/hugo-modules/tree/master/images#logo-implementation
logo = "images/cities-light-mode.svg"
logo_darkmode = "images/cities-dark-mode.svg"

View File

@ -21,7 +21,6 @@ banner:
img_right_dark: "/images/meetups/meetups-dark-mode.svg"
link_right: "/meetups"
alt_text_right: "right"
parallax_bg: "/images/test_bg.jpg"
button:
enable: true
label: "Tickets"
@ -38,14 +37,15 @@ banner:
# Features
features:
- title: "Inspired by Handmade Hero"
title_class: "text-white mb-8"
image: ""
side: "center"
bg_img:
parallax: true
img: "/images/test_bg.jpg"
img: "/images/devon_starfield.png"
transition:
start: "/images/transition2.svg"
start_class: "mb-5"
start: "/images/transition.svg"
start_class: "mb-5 transform"
start_color: "#fff"
start_dark: "/images/transition2.svg"
start_dark_color: "#150e31"
@ -56,8 +56,7 @@ features:
end_dark_color: "#150e31"
bg_color: "#0a0a0a"
content: "Like [Handmade Hero]() by Molly Rocket, we belive in breaking software down to the bare bones and building back an understanding of how it all really works. _We are not affiliated with Molly Rocket, Inc._"
content_class: "text-white mt-12 px-12 py-12 bg-[rgba(0,0,0,0.5)] rounded-lg"
title_class: "text-white"
content_class: "text-white mt-12 px-12 pb-12 pt-24 bg-[rgba(0,0,0,0.5)] rounded-lg"
button:
enable: enable
class: "meetups-bg dark:meetups-bg"
@ -67,38 +66,60 @@ features:
- title: "Companies Value Handmade"
title_class: "text-center mt-16 mb-12"
image: ""
section_class: "pb-24"
side: "center"
swiper:
show_buttons: false
slides:
content: "<span class='block mx-auto mt-24 text-black dark:text-white w-1/2'>**Hiring Handmade people.** These brands have attended our job fairs. Companies may rent a job booth but cannot influence nor sponsor the event.</span>"
content_class: "mt-12"
img_grid:
- name: "JangaFX"
icon: "/images/jangafx.png"
link: "https://tek256.com"
icon: "/images/companies/jangafx.png"
link: "https://jangafx.com/"
- name: "Pontoco"
icon: "/images/pontoco_logo.png"
link: "https://tek256.com"
icon: "/images/companies/pontoco.png"
link: "https://pontoco.com/"
- name: "Mozilla"
icon: "/images/mozilla.png"
link: "https://tek256.com"
icon: "/images/companies/mozilla.png"
link: "https://www.mozilla.org/en-US/"
- name: "TestFit"
icon: "/images/tf.png"
link: "https://tek256.com"
icon: "/images/companies/tf.png"
link: "https://www.testfit.io/"
- name: "Magic Poser"
icon: "/images/companies/magic_poser.png"
link: "https://magicposer.com/"
- name: "System Era"
icon: "/images/companies/systemera.png"
link: "https://systemera.net/"
- name: "KCSE"
icon: "/images/companies/kcse.png"
link: "https://www.kcse.com/"
button:
enable: false
- title: "The Top Reasons to Choose Hugo for Your Hugo Project"
- title: "Hundreds in person,<br> Thousands online"
title_class: "text-white"
transition:
start: "/images/transition4.svg"
start_class: "mb-5 -scale-y-100 -scale-x-100"
start_color: "#fff"
start_dark: "/images/transition4.svg"
start_dark_color: "#150e31"
start_style: "mask-position: bottom;mask-repeat:repeat-x;"
end: "/images/transition2.svg"
end_class: "mt-20 transform -scale-y-100 -scale-x-100"
end_color: "#fff"
end_dark: "/images/transition2.svg"
end_dark_color: "#150e31"
bg_img:
parallax: false
img: "/images/hmc_landing_bg.webp"
image: "/images/service-3.png"
content: "With Hugo, you can build modern and content-focused websites without sacrificing performance or ease of use."
bulletpoints:
- "Instantly load static sites for better user experience and SEO."
- "Intuitive syntax and support for popular frameworks make learning and using Hugo a breeze."
- "Use any front-end library or framework, or build custom components, for any project size."
- "Built on cutting-edge technology to keep your projects up-to-date with the latest web standards."
img: "/images/adrien-olichon-gOdavfpH-3s-unsplash.jpg"
image: "/images/nystrom.webp"
image_class: "rounded-md shadow-lg"
content: "Every year hundreds of low-level programmers convene physically while thousands more watch from the comfort of their couch."
content_class: "p-4 px-6 rounded-md bg-[rgba(0,0,0,0.7)]"
section_class: "text-white"
button:
enable: false
label: ""
link: ""
enable: true
label: "Register"
link: "/tickets"
button_class: "bg-white text-black"
---

View File

@ -36,15 +36,18 @@ features:
title_class: "text-white -mt-2"
subtitle: "Founder"
subtitle_class: "!text-[#F7CE3B]"
image: "/images/people/abner_2022.png" # Only keep one image line
image: "/images/people/abner_2022.png"
image_class: "rounded-full"
section_class: "text-white"
transition:
start: "/images/transition3.svg"
start_class: "-scale-y-100"
start_color: "rgba(0, 0, 0, 0.4)"
start_style: "mask-size: cover;mask-position:center;"
start_color: "black"
start_dark: "/images/transition3.svg"
start_dark_color: "black"
bg_color: "#060610"
content_class: "text-white mt-4"
content_class: "mt-4"
content: "[Abner](https://abnercoimbre.com) is the founder of Handmade Cities and sole organizer for our conferences.<br>His professional story began when he left Puerto Rico for a yearlong internship at NASA. Abner was mentored on how they make software and after winning NASAs Intern of the Year, he published an essay on their programming philosophy ([featured](https://observer.com/2017/07/a-look-into-nasa-coding-philosophy-kennedy-space-center-programming/) in the news.) He was promoted to launch control engineers.<br><br>Abner also started the [Handmade Network](https://handmade.network/), an online community learning to make quality software. He went on to work for Jonathan Blow multiple years and then Cyan Worlds to help ship the [Myst remake](https://store.steampowered.com/app/1255560/Myst/).<br><br>His concern of declining standards—both ethical and technical—pushed Abner to run tech conferences full-time, with ironclad conviction that we need independent organizers more than ever."
- title: "Morgan Rammell"
@ -52,9 +55,10 @@ features:
subtitle: "Event Coordinator"
subtitle_class: "!text-[#F7CE3B]"
bg_color: "#060610"
image: "/images/people/morgan-scaled.jpeg"
content_class: "text-white"
section_class: "!pt-24"
image: "/images/people/morgan_cropped.jpg"
image_class: "rounded-full"
content_class: ""
section_class: "!pt-24 text-white"
content: "Morgans done corporate event planning for several years but is now interested in the indie space. She oversees the logistics of running and facilitating Handmade conferences, working with the venue to solve any issues that arise in real-time.<br>
Born and raised in Washington state youll find Morgan snowboarding, hiking, camping, and even rock-climbing!"
@ -64,18 +68,20 @@ features:
subtitle_class: "!text-[#F7CE3B]"
bg_color: "#060610"
image: "/images/people/phil_homan.jpg"
content_class: "text-white"
section_class: "!pt-16"
image_class: "rounded-full"
content_class: ""
section_class: "!pt-16 text-white"
content: "Phil Homan, who goes by [PH Test](https://phtest.tv/), is a Seattle developer with a knack for multidisciplinary work: live-performance visuals, experimental programs, games, and video production—often with tools he made himself!<br>
Phil joined Handmade Cities to help Abner with matters related to streaming, recording, and A/V support at the conferences."
- title: "Devon (tek256)"
- title: "Devon ([tek256](https://tek256.com))"
title_class: "text-white"
subtitle: "Dude"
subtitle: "Editor"
subtitle_class: "!text-[#F7CE3B]"
bg_color: "#060610"
image: "/images/people/devon.jpg"
content_class: "text-white"
section_class: "!pt-16 !pb-24"
content: "Devon (aka [tek256](https://tek256.com/)), is a guy who makes things. <br>Devon joined the staff to help make things happen."
image_class: "rounded-full"
content_class: ""
section_class: "!pt-16 !pb-32 text-white"
content: "Devon is a guy who makes things."
---

View File

@ -17,4 +17,4 @@ social:
link: https://terminal.click
---
lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr navigation et dolore magna aliqua.
[Abner](https://abnercoimbre.com) is the founder of Handmade Cities and sole organizer for our conferences.<br>His professional story began when he left Puerto Rico for a yearlong internship at NASA. Abner was mentored on how they make software and after winning NASAs Intern of the Year, he published an essay on their programming philosophy ([featured](https://observer.com/2017/07/a-look-into-nasa-coding-philosophy-kennedy-space-center-programming/) in the news.) He was promoted to launch control engineers.<br><br>Abner also started the [Handmade Network](https://handmade.network/), an online community learning to make quality software. He went on to work for Jonathan Blow multiple years and then Cyan Worlds to help ship the [Myst remake](https://store.steampowered.com/app/1255560/Myst/).<br><br>His concern of declining standards—both ethical and technical—pushed Abner to run tech conferences full-time, with ironclad conviction that we need independent organizers more than ever.

View File

@ -1,10 +1,11 @@
---
title: "Handmade Seattle"
title: "Handmade Seattle 2024"
meta_title: "About"
description: "this is meta description"
image: "/images/avatar.png"
year: 2024
draft: false
layout: year_page
---
Lorem ipsum dolor sit amet consectetur adipisicing elit. Corporis illum nesciunt commodi vel nisi ut alias excepturi ipsum, totam, labore tempora, odit ex iste tempore sed. Fugit voluptatibus perspiciatis assumenda nulla ad nihil, omnis vel, doloremque sit quam autem optio maiores, illum eius facilis et quo consectetur provident dolor similique! Enim voluptatem dicta expedita veritatis repellat dolorum impedit, provident quasi at.

View File

@ -0,0 +1,243 @@
---
title: "Tickets"
meta_title: "Handmade Cities Tickets"
description: "Handmade Cities Tickets"
draft: false
layout: "tickets"
features:
- title: "Tickets"
title_class: "text-center text-white mt-16"
side: "center"
content_class: "mt-16 pt-0 pb-0 text-white"
image: "/images/hmc/cities-light-mode.svg"
bg_img:
parallax: true
img: "/images/devon_starfield.png"
end_img: "/images/software-15.png"
end_img_class: "relative h-96 bg-contain bg-bottom bg-repeat-x"
tickets:
- title: "Physical Track"
title_class: "text-white"
subtitle: "Status: Early Bird"
subtitle_class: "text-white"
section_class: "text-white"
options:
- name: "Handmade Boston"
title: "Masterclasses"
title_class: "text-white"
name_class: "boston-color"
original_price: "$299"
price_class: "text-orange-600"
price: "249"
button:
title: "Register"
class: "bg-transparent border border-orange-600 rounded-md cursor-pointer hover:bg-orange-700 hover:border-orange-700 hover:text-white focus-within:bg-orange-700 focus-within:border-orange-700 focus-within:text-white"
url: "https://buy.stripe.com/6oE4gq69t7X75lSeVo"
alt_url: "https://google.com/"
alt_title: "PayPal"
alt_class: "text-sm hover:underline mt-4"
features_class: "text-white"
features:
- text: "General Admission"
text_class: "font-semibold"
- text: "Aug 9-10th, 2024"
- text: "JFK Presidential Library"
- text: "In-Person Masterclasses"
- text: "Kings Dining After-Party"
- name: "Handmade Seattle"
title: "Traditional"
title_class: "text-white"
name_class: "seattle-color"
price_class: "text-orange-600"
price: "249"
original_price: "$299"
button:
title: "Register"
button_class: "seattle-bg"
class: "bg-transparent border border-orange-600 rounded-md cursor-pointer hover:bg-orange-700 hover:border-orange-700 hover:text-white focus-within:bg-orange-700 focus-within:border-orange-700 focus-within:text-white"
url: "https://buy.stripe.com/9AQ8wG0P9a5fg0wfZr"
alt_url: "https://google.com/"
alt_title: "PayPal"
alt_class: "text-sm hover:underline mt-4"
features_class: "text-white"
features:
- text: "General Admission"
text_class: "font-semibold"
- text: "Nov 20-22nd, 2024"
- text: "Seattle Center"
- text: "New Talks & Demos"
- text: "Trade Show"
- text: "Job Fair"
- name: "Boston + Seattle"
title: "Combined Ticket"
title_class: "text-white text-center"
name_class: "meetups-color"
price_class: "text-green-600"
price: "399"
original_price: "$498"
features_class: "text-white"
button:
title: "Register"
class: "bg-transparent border border-orange-600 rounded-md cursor-pointer hover:bg-green-700 hover:border-green-700 hover:text-white focus-within:bg-green-700 focus-within:border-green-700 focus-within:text-white"
url: "https://buy.stripe.com/aEU3cmgO7dhr6pWeVp"
alt_url: "https://google.com/"
alt_title: "PayPal"
alt_class: "text-sm hover:underline mt-4"
features:
- text: "General Admission"
text_class: "font-semibold"
- text: "Discounted Tickets"
- text: "Easy to Gift or Transfer Them"
- text: "Retains All Benefits"
- title: ""
title_class: "mb-20 text-center"
image: ""
side: "center"
section_class: "text-black dark:text-white"
content_class: "text-black dark:text-white"
transition:
start: "/images/transition.svg"
start_class: "mb-5 pt-4 2xl:pt-32"
start_color: "#fff"
start_style: "mask-size: cover;mask-position:center;"
end_style: "mask-size: cover;mask-position:top;"
start_dark: "/images/transition.svg"
start_dark_color: "#fff"
end: "/images/transition.svg"
end_class: "mt-20 transform -scale-y-100 -scale-x-100"
end_color: "#000"
end_dark: "/images/transition.svg"
end_dark_color: "#000"
tickets:
- title: "Online Track"
title_class: "text-black dark:text-white"
subtitle: "Status: Early Bird"
subtitle_class: "text-black dark:text-white"
section_class: "text-black dark:text-white"
options:
- name: "Handmade Boston"
title: "Masterclasses"
title_class: "text-black dark:text-white"
name_class: "boston-color"
original_price: ""
price_class: "text-orange-600"
price: "74"
button:
title: "Register"
class: "bg-transparent border border-orange-600 rounded-md cursor-pointer hover:bg-orange-700 hover:border-orange-700 hover:text-white focus-within:bg-orange-700 focus-within:border-orange-700 focus-within:text-white"
url: "https://buy.stripe.com/6oE4gq69t7X75lSeVo"
alt_url: "https://google.com/"
alt_title: "PayPal"
alt_class: "text-sm hover:underline mt-4"
features_class: "text-black dark:text-white"
features:
- text: "General Admission"
text_class: "font-semibold"
- text: "Online Masterclasses"
- text: "Unlock In-Person Recordings"
- text: "Access to Speakers"
- name: "Handmade Seattle"
title: "Traditional"
title_class: "text-black dark:text-white"
name_class: "seattle-color"
price_class: "text-orange-600"
price: "74"
original_price: ""
button:
title: "Register"
class: "bg-transparent border border-orange-600 rounded-md cursor-pointer hover:bg-orange-700 hover:border-orange-700 hover:text-white focus-within:bg-orange-700 focus-within:border-orange-700 focus-within:text-white"
url: "https://buy.stripe.com/9AQ8wG0P9a5fg0wfZr"
alt_url: "https://google.com/"
alt_title: "PayPal"
alt_class: "text-sm hover:underline mt-4"
features_class: "text-black dark:text-white"
features:
- text: "General Admission"
text_class: "font-semibold"
- text: "New Talks & Demos"
- text: "Live Q&A"
- text: "Virtual Job Fair"
- text: "Access to Speakers"
- name: "Boston + Seattle"
title: "Combined Ticket"
title_class: "text-black dark:text-white text-center"
name_class: "meetups-color"
price_class: "text-green-600"
price: "119"
original_price: ""
features_class: "text-black dark:text-white"
button:
title: "Register"
class: "bg-transparent border border-orange-600 rounded-md cursor-pointer hover:bg-green-700 hover:border-green-700 dark:text-white text-black hover:text-white focus-within:bg-green-700 focus-within:border-green-700 focus-within:text-white"
url: "https://buy.stripe.com/aEU3cmgO7dhr6pWeVp"
alt_url: "https://google.com/"
alt_title: "PayPal"
alt_class: "text-sm hover:underline mt-4"
features:
- text: "General Admission"
text_class: "font-semibold"
- text: "Discounted Tickets"
- text: "Easy to Gift or Transfer Them"
- text: "Retains All Benefits"
- title: "Frequently Asked Questions"
title_class: "mb-20 text-center text-white"
image: ""
side: "center"
section_class: "text-dark pt-24"
content_class: "mt-8 text-white bg-[rgba(0,0,0,0.8)] pb-24"
transition:
end: "/images/transition4.svg"
end_class: "mb-5 pt-4 2xl:pt-32 scale-y-100"
end_color: "#fff"
end_dark: "/images/transition4.svg"
end_dark_color: "#150e31"
end_style: "mask-repeat:repeat-x;mask-position: bottom;"
bg_img:
parallax: true
img: "/images/devon_starfield.png"
qa:
- question: "I'm financially disadvantaged."
question_class: "mb-4 text-2xl text-white"
answer: "If youre a student or financially struggling send Abner an [email](mailto:abner@handmadecities.com) and tell your story. We typically do one of two things:<br><br>1. Generate a ticket with a meaningful discount<br>2. Award a free seat thanks to someone who sponsors it<br><br>_P.S. We ask those who can afford our tickets to not abuse this system of trust._"
answer_class: ""
- question: "I want to sponsor a ticket."
question_class: "mt-12 mb-4 text-2xl text-white"
answer: "Your kindness will not go unnoticed! You can go about this in a couple of ways:<br><br>- **Sponsor directly:** Our tickets already include a transfer button. You can gift them to someone you know.<br>- **Donate to sponsor pool:** If you trust us to handle it, use our [Donorbox](https://donorbox.org/handmadecities) and in the comments type _“I want to sponsor”_<br><br>We use this pool to award free seats to those in need."
- question: "How do I upgrade my ticket?"
question_class: "mt-12 mb-4 text-2xl text-white"
answer: "To upgrade from the online track to a physical one send us an email: [abner@handmadecities.com](mailto:abner@handmadecities.com)<br><br>_P.S. Upgrading is only possible if theres still physical tickets._"
- question: "Are refunds available?"
question_class: "mt-12 mb-4 text-2xl text-white"
answer: "We dont process refunds. The physical track is a superset of the online one, so if you cant attend in person anymore you can join us virtually."
- question: "When do I receive my fundraiser perk?"
question_class: "mt-12 mb-4 text-2xl text-white"
answer: "If you participated in our fundraiser, you shouldve received a Donorbox receipt and a confirmation email from Abner. Perks started to roll out in March 2024 and will continue over the next couple of months."
- title: "Word on the Street"
title_class: "text-center"
image: ""
side: "center"
section_class: "text-dark pb-12"
content_class: "mt-8 pt-12"
testimonials:
- name: "Quade Zaban, Independent game designer"
title: "Bravo all, looking forward to next time!"
link: "https://twitter.com/QuadeZaban/status/1593991041430196225"
avatar: "/images/people/quade.jpg"
content: "Has been a joy watching this conference grow, and this one may have been the best so far in my books!"
- name: "Hadjar Homaei, CTO [@compdem](https://twitter.com/compdem)"
title: "Huge thanks to Abner Coimbre for making this possible! We appreciate you!"
link: "https://twitter.com/xeegeex/status/1594056776508637184"
avatar: "/images/people/hadjar.jpg"
content: "I had such a wonderful time at Handmade Seattle this week connecting with an amazing community of people who passionately love the craft of software development!"
- name: "Alasdair Monk, VP of Design ▲ [@vercel](https://twitter.com/vercel)"
title: "My first Handmade Seattle was so great."
link: "https://twitter.com/almonk/status/1593439527351484416"
avatar: "/images/people/alasdair.jpg"
content: "Abner Coimbre is a fantastic host & organiser with an important vision for building better software that benefits all of us, in his words: “reclaiming user value"
---

View File

@ -1,153 +1,3 @@
{{ define "main" }}
<!-- Features -->
{{ $tick := 0 }}
{{ range $i, $e:= .Params.features }}
<section class="section-sm nim-h-screen relative feature pb-2 pt-2 {{ .section_class }}" style="background-color: {{ .bg_color }}">
{{ with .transition }}
{{ if .start }}
<div
class="relative bg-center bg-top bg-cover bg-no-repeat dark:hidden -mt-2 {{ .start_class }}"
style="height: 100px;z-index:2;mask-image: url('{{ .start }};mask-repeat:round;mask-position:center;mask-size:cover;');background-color: {{ .start_color }};"></div>
{{ end }}
{{ if .start_dark }}
<div
class="relative bg-center bg-top bg-cover bg-no-repeat dark:block hidden -mt-2 {{ .start_class }}"
style="height: 100px;z-index:2;mask-image: url('{{ .start_dark }}');mask-repeat:round;mask-position:center;mask-size:cover;background-color: {{ .start_dark_color }};">
</div>
{{ end }}
{{ end }}
{{ with .bg_img }}
{{ $res := resources.Get .img }}
<div class="absolute inset-0 bg-cover bg-center bg-no-repeat {{ if .parallax }} bg-fixed parallax-bg {{ end }}"
style="background-image: url('{{ $res.RelPermalink }}')"></div>
{{ end }}
<div class="container relative mx-auto" style="z-index: 2;">
<div class="row items-center justify-between">
{{ if eq .side "center" }}
<div class="mx-auto md:col-8 lg:col-8 {{ .content_class }}">
{{ if .subtitle }}
<h4 class="mb-4 {{ .subtitle_class }}">{{ .subtitle }}</h4>
{{ end }}
<h2 class="{{ .title_class }}">
{{ .title | markdownify }}
</h2>
<div class="grid grid-cols-1 gap-4 sm:grid-cols-2">
<!-- grid -->
{{ range $i, $e := .grid }}
<div class="p-4 row">
<div class="col-1">
<h3 style="color: {{ .color }}">{{ add $i 1 }}</h3>
</div>
<div class="col-11">
<h4 class="font-bold mb-2" style="color: {{ .color }}">{{ .title }}</h4>
<p class="{{ .content_class }}">{{ .content | markdownify }}</p>
</div>
</div>
{{ end }}
</div>
<!-- end: grid -->
<p class="mb-8 text-lg">
{{ .content | markdownify }}
</p>
<ul>
{{ range .bulletpoints }}
<li class="relative mb-4 pl-6">
<i class="fa fa-check absolute left-0 top-1.5"></i>
{{ . | markdownify }}
</li>
{{ end }}
</ul>
{{ with .button }}
{{ if .enable }}
<a class="btn mt-6 {{ .class }}" href="{{ .link | absURL }}">
{{ .label }}
<i class="fa fa-arrow-right pl-2"></i>
</a>
{{ end }}
{{ end }}
</div>
{{ else }}
{{ if eq .side "left" }}
{{ $tick = 0 }}
{{ else if eq .side "right" }}
{{ $tick = 1 }}
{{ end }}
{{ with .bg_img }}
{{ if .parallax }}
<div class="relative h-screen overflow-hidden">
<div class="absolute inset-0 bg-no-repeat bg-cover
bg-fixed parallax-bg" style="background-image: url('{{ .img }}');">
</div>
</div>
{{ end }}
{{ end }}
<div class="mb:md-0 md:col-5 mb-6
{{ if eq $tick 1 }}
md:order-2
{{ end }}">
{{ if .image }}
{{ $res := resources.Get .image }}
<img loading="lazy" decoding="async" src="{{ $res.RelPermalink }}" class="img rounded-full w-[384px] h-[384px] object-cover w-full h-auto">
{{ end }}
</div>
<div class="{{ if eq $tick 0 }}
md:order-1
{{ end }} md:col-7 lg:col-6">
{{ if .subtitle }}
<h4 class="mb-4 {{ .subtitle_class }}">{{ .subtitle }}</h4>
{{ end }}
<h2 class="mb-4 {{ .title_class }}">
{{ .title | markdownify }}
</h2>
<p class="mb-8 text-lg about-content {{ .content_class }}">
{{ .content | markdownify }}
</p>
<ul>
{{ range .bulletpoints }}
<li class="relative mb-4 pl-6">
<i class="fa fa-check absolute left-0 top-1.5"></i>
{{ . | markdownify }}
</li>
{{ end }}
</ul>
{{ with .button }}
{{ if .enable }}
<a class="btn btn-primary mt-6" href="{{ .link | absURL }}">
{{ .label }}
<i class="fa fa-arrow-right pl-2"></i>
</a>
{{ end }}
{{ end }}
</div>
{{ if eq $tick 0 }}
{{ $tick = 1}}
{{ else }}
{{ $tick = 0 }}
{{ end }}
{{ end }}
</div>
</div>
{{ with .transition }}
{{ if .end }}
<div
class="relative bg-center bg-top bg-cover bg-no-repeat dark:hidden block xl:-mb-20 -mb-16 {{ .end_class }}"
style="height: 100px;z-index:2;mask-image: url('{{ .end }}');background-color: {{ .end_color }};"></div>
{{ end }}
{{ if .end_dark }}
<div class="relative bg-center bg-top bg-cover bg-no-repeat dark:block hidden xl:-mb-20 -mb-16 {{ .end_class }}"
style="height: 100px;z-index:2;mask-image: url('{{ .end_dark }}');background-color: {{ .end_dark_color }};">
</div>
{{ end }}
{{ end}}
</section>
{{ end }}
<!-- /Features -->
{{ partial "components/features.html" . }}
{{ end }}

View File

@ -0,0 +1,3 @@
{{ define "main" }}
{{ partial "components/features.html" . }}
{{ end }}

View File

@ -7,13 +7,15 @@
<div class="row justify-center">
<div class="lg:col-10">
<p>DEVON WAS HERE</p>
{{ $subdirs := .GetSubDirs "." }}
{{/* {{ $subdirs := .GetSubDirs "." }} */}}
{{/* {{ $filteredSubdirs := where $subdirs (regexMatch "^[0-9]+$") }} */}}
{{ range $subdir := $subdirs }}
{{/* {{ range $subdir := $subdirs }}
<a href="{{ $subdir | relURL }}">{{ $subdir | replaceRE "^/" "" }}</a><br>
{{ end }}
{{ end }} */}}
<div class="content">
{{ .Content }}
</div>

View File

@ -1,13 +0,0 @@
{{ define "main" }}
<section class="section-sm">
<div class="container">
<div class="row justify-center">
<div class="md:col-10 lg:col-7 text-center">
{{ partial "image" (dict "Src" .Params.image "Context" .Page "Alt" .Title "Class" "mx-auto mb-6" "Size" "200x200") }}
<h2 class="h3 mb-6">{{ .Title }}</h2>
<div class="content">{{ .Content }}</div>
</div>
</div>
</div>
</section>
{{ end }}

View File

@ -1,7 +1,7 @@
{{ define "main" }}
<!-- Banner -->
{{ with .Params.banner }}
<section class="section pt-14">
<section class="section">
<div class="container">
<div class="row justify-center">
{{ if not .hide_banner_img }}
@ -68,158 +68,9 @@
</section>
{{ end }}
<!-- /Banner -->
<!-- Features -->
{{ $tick := 0 }}
{{ range $i, $e:= .Params.features }}
<section class="section-sm nim-h-screen relative pb-0" style="background-color: {{ .bg_color }}">
{{ with .transition }}
{{ if .start }}
<div class="relative bg-center bg-top bg-cover bg-no-repeat dark:hidden block xl:-mt-20 -mt-16 {{ .start_class }}"
style="height: 100px;z-index:2;mask-image: url('{{ .start }}');background-color: {{ .start_color }};"></div>
{{ end }}
{{ if .start_dark }}
<div class="relative bg-center bg-top bg-cover bg-no-repeat dark:block hidden xl:-mt-20 -mt-16 {{ .start_class }}"
style="height: 100px;z-index:2;mask-image: url('{{ .start_dark }}');background-color: {{ .start_dark_color }};"></div>
{{ end }}
{{ end }}
{{ with .bg_img }}
{{ $res := resources.Get .img }}
<div class="absolute inset-0 bg-cover bg-center bg-no-repeat {{ if .parallax }} bg-fixed parallax-bg {{ end }}"
style="background-image: url('{{ $res.RelPermalink }}')"></div>
{{ end }}
<div class="container relative mx-auto" style="z-index: 2;">
<div class="row items-center justify-between">
{{ if eq .side "center" }}
<div
class="mx-auto md:col-8 lg:col-8">
<div class="{{ .content_class }}">
<div class="row">
<h2 class="{{ .title_class }}">
{{ .title | markdownify }}
</h2>
</div>
{{ with .swiper }}
<div class="swiper swiper-slider">
<div class="swiper-wrapper">
{{ range .slides }}
<div class="swiper-slide">
<div class="col-md-12">
<a href="{{ .link }}">
{{ $res := resources.Get .icon }}
<img src="{{ $res.RelPermalink }}" />
<span>{{ .name }}</span>
</a>
</div>
</div>
{{ end }}
</div>
<div class="swiper-slider-pagination mt-9 flex items-center justify-center text-center"></div>
{{ if .show_buttons }}
<div class="swiper-button-next ml-16" style="{{ .button_style }}"></div>
<div class="swiper-button-prev mr-16" style="{{ .button_style }}"></div>
{{ end }}
</div>
{{ end }}
<p class="mb-8 text-lg">
{{ .content | markdownify }}
</p>
<ul>
{{ range .bulletpoints }}
<li class="relative mb-4 pl-6">
<i class="fa fa-check absolute left-0 top-1.5"></i>
{{ . | markdownify }}
</li>
{{ end }}
</ul>
{{ with .button }}
{{ if .enable }}
<a class="btn mt-6 {{ .class }}" href="{{ .link | absURL }}">
{{ .label }}
<i class="fa fa-arrow-right pl-2"></i>
</a>
{{ end }}
{{ end }}
</div>
</div>
{{ else }}
{{ if eq .side "left" }}
{{ $tick = 0 }}
{{ else if eq .side "right" }}
{{ $tick = 1 }}
{{ end }}
{{ with .bg_img }}
{{ if .parallax }}
<div class="relative h-screen overflow-hidden">
<div class="absolute inset-0 bg-no-repeat bg-cover
bg-fixed parallax-bg"
style="background-image: url('{{ .img }}');">
</div>
</div>
{{ end }}
{{ end }}
<div class="mb:md-0 md:col-5 mb-6
{{ if eq $tick 1 }}
md:order-2
{{ end }}">
{{ if .image }}
{{ partial "image" (dict "Src" .image "Alt" "feature image" "DisplayXL" "520x" "DisplayLG" "425x" "DisplayMD" "360x") }}
{{ end }}
</div>
<div
class="{{ if eq $tick 0 }}
md:order-1
{{ end }} md:col-7 lg:col-6">
<h2 class="mb-4">
{{ .title | markdownify }}
</h2>
<p class="mb-8 text-lg">
{{ .content | markdownify }}
</p>
<ul>
{{ range .bulletpoints }}
<li class="relative mb-4 pl-6">
<i class="fa fa-check absolute left-0 top-1.5"></i>
{{ . | markdownify }}
</li>
{{ end }}
</ul>
{{ with .button }}
{{ if .enable }}
<a class="btn btn-primary mt-6" href="{{ .link | absURL }}">
{{ .label }}
<i class="fa fa-arrow-right pl-2"></i>
</a>
{{ end }}
{{ end }}
</div>
{{ if eq $tick 0 }}
{{ $tick = 1}}
{{ else }}
{{ $tick = 0 }}
{{ end }}
{{ end }}
</div>
</div>
{{ with .transition }}
{{ if .end }}
<div class="relative bg-center bg-top bg-cover bg-no-repeat dark:hidden block xl:-mb-20 -mb-16 {{ .end_class }}"
style="height: 100px;z-index:2;mask-image: url('{{ .end }}');background-color: {{ .end_color }};"></div>
{{ end }}
{{ if .end_dark }}
<div class="relative bg-center bg-top bg-cover bg-no-repeat dark:block hidden xl:-mb-20 -mb-16 {{ .end_class }}"
style="height: 100px;z-index:2;mask-image: url('{{ .end_dark }}');background-color: {{ .end_dark_color }};"></div>
{{ end }}
{{ end}}
</section>
{{ end }}
{{ partial "components/features.html" . }}
<!-- /Features -->
<!-- Testimonials -->

View File

@ -0,0 +1,177 @@
{{ if .Params.features }}
{{ $tick := 0 }}
{{ range $i, $e:= .Params.features }}
<section class="nim-h-screen relative feature {{ .section_class }}" style="background-color: {{ .bg_color }}">
{{ with .transition }}
{{ if .start }}
<div class="relative bg-center bg-top bg-cover bg-no-repeat dark:hidden block {{ .start_class }}"
style="height: 100px;z-index:12;mask-image: url('{{ .start }}');background-color: {{ .start_color }};{{ .start_style | safeCSS }}">
</div>
{{ end }}
{{ if .start_dark }}
<div class="relative bg-center bg-top bg-cover bg-no-repeat dark:block hidden {{ .start_class }}"
style="height: 100px;z-index:12;mask-image: url('{{ .start_dark }}');background-color: {{ .start_dark_color }};{{ .start_style | safeCSS }}">
</div>
{{ end }}
{{ end }}
{{ with .bg_img }}
{{ $res := resources.Get .img }}
<div class="absolute inset-0 bg-cover bg-center bg-no-repeat {{ if .parallax }} bg-fixed parallax-bg {{ end }}"
style="background-image: url('{{ $res.RelPermalink }}')"></div>
{{ if .img2 }}
{{ $res2 := resources.Get .img2 }}
<div class="absolute inset-0 bg-cover bg-bottom bg-no-repeat z-10"
style="background-image: url('{{ $res2.RelPermalink }}')"></div>
{{ end }}
{{ end }}
<div class="container relative mx-auto" style="z-index: 12;">
<div class="row items-center justify-between">
{{ if eq .side "center" }}
<div class="mx-auto md:col-10 lg:col-10 {{ .content_class }}">
<div class="row">
{{ if .subtitle }}
<h4 class="mb-4 {{ .subtitle_class }}">{{ .subtitle }}</h4>
{{ end }}
<h2 class="{{ .title_class }}">
{{ .title | markdownify }}
</h2>
<!-- grid -->
<div class="grid grid-cols-1 gap-4 sm:grid-cols-2">
{{ range $i, $e := .grid }}
<div class="p-4 row">
<div class="col-1">
<h3 style="color: {{ .color }}">{{ add $i 1 }}</h3>
</div>
<div class="col-11">
<h4 class="font-bold mb-2" style="color: {{ .color }}">{{ .title }}</h4>
<p class="{{ .content_class }}">{{ .content | markdownify }}</p>
</div>
</div>
{{ end }}
</div>
<!-- end: grid -->
</div>
<!-- tickets -->
{{ if .tickets }}
{{ partial "components/ticket_list.html" . }}
{{ end }}
<!-- tickets -->
<!-- q&a -->
{{ if .qa }}
{{ partial "components/questions.html" . }}
{{ end }}
<!-- q&a -->
<!-- testimonials -->
{{ if .testimonials }}
{{ partial "components/testimonials.html" . }}
{{ end }}
<!-- testimonials -->
<!-- img_grid -->
{{ if .img_grid }}
{{ partial "components/img_grid.html" . }}
{{ end }}
<!-- img_grid -->
<p class="mb-8 text-lg about-content">
{{ .content | markdownify }}
</p>
<ul>
{{ range .bulletpoints }}
<li class="relative mb-4 pl-6">
<i class="fa fa-check absolute left-0 top-1.5"></i>
{{ . | markdownify }}
</li>
{{ end }}
</ul>
{{ with .button }}
{{ if .enable }}
<a class="btn mt-6 {{ .class }}" href="{{ .link | absURL }}">
{{ .label }}
<i class="fa fa-arrow-right pl-2"></i>
</a>
{{ end }}
{{ end }}
</div>
{{ else }}
{{ if eq .side "left" }}
{{ $tick = 0 }}
{{ else if eq .side "right" }}
{{ $tick = 1 }}
{{ end }}
<div class="mb:md-0 md:col-5 mb-6
{{ if eq $tick 1 }}
md:order-2
{{ end }}">
{{ if .image }}
{{ $res := resources.Get .image }}
<img loading="lazy" decoding="async" src="{{ $res.RelPermalink }}"
class="img w-[384px] h-[384px] object-cover w-full h-auto {{ .image_class }} ">
{{ end }}
</div>
<div class="{{ if eq $tick 0 }}
md:order-1
{{ end }} md:col-7 lg:col-6 {{ .content_class }}">
{{ if .subtitle }}
<h4 class="mb-4 {{ .subtitle_class }}">{{ .subtitle }}</h4>
{{ end }}
<h2 class="mb-4 about-content {{ if .title_class }} {{ .title_class }} {{ end }}">
{{ .title | markdownify }}
</h2>
<p class="mb-8 text-lg about-content">
{{ .content | markdownify }}
</p>
<ul>
{{ range .bulletpoints }}
<li class="relative mb-4 pl-6">
<i class="fa fa-check absolute left-0 top-1.5"></i>
{{ . | markdownify }}
</li>
{{ end }}
</ul>
{{ with .button }}
{{ if .enable }}
<a class="btn btn-primary mt-6 {{ .button_class }}" href="{{ .link | absURL }}">
{{ .label }}
<i class="fa fa-arrow-right pl-2"></i>
</a>
{{ end }}
{{ end }}
</div>
{{ if eq $tick 0 }}
{{ $tick = 1}}
{{ else }}
{{ $tick = 0 }}
{{ end }}
{{ end }}
</div>
</div>
{{ with .bg_img }}
{{ if .end_img }}
{{ $res3 := resources.Get .end_img }}
<div class="{{ .end_img_class }} z-10" style="background-image: url('{{ $res3.RelPermalink }}')"></div>
{{ end }}
{{ end }}
{{ with .transition }}
{{ if .end }}
<div class="relative bg-center bg-top bg-cover bg-no-repeat dark:hidden block {{ .end_class }}"
style="height: 100px;z-index:12;mask-image: url('{{ .end }}');background-color: {{ .end_color }};{{ .end_style | safeCSS }}">
</div>
{{ end }}
{{ if .end_dark }}
<div class="relative bg-center bg-top bg-cover bg-no-repeat dark:block hidden {{ .end_class }}"
style="height: 100px;z-index:12;mask-image: url('{{ .end_dark }}');background-color: {{ .end_dark_color }};{{ .end_style | safeCSS }}">
</div>
{{ end }}
{{ end }}
</section>
{{ end }}
{{ end }}

View File

@ -0,0 +1,17 @@
{{ if .img_grid }}
<div class="container relative mx-auto px-4">
<div class="flex flex-wrap justify-center mx-auto lg:w-full md:w-5/6">
{{ range $i, $option := .img_grid }}
<div class="w-1/2 md:w-1/3 p-2">
<div class="flex justify-center items-center w-full">
<a href="{{ $option.link }}" class="relative align-center" target="_blank" rel="noopener noreferrer"
title="{{ $option.name }}">
{{ $imgres := .resources.Get $option.icon }}
<img class="max-w-24 align-center" src="{{ $option.icon }}" alt="{{ .Item.Name }}">
</a>
</div>
</div>
{{ end }}
</div>
</div>
{{ end }}

View File

@ -0,0 +1,8 @@
{{ if .qa }}
<div class="qa">
{{ range $i, $q := .qa }}
<h4 class="{{ $q.question_class }}">{{ $q.question | markdownify }}</h4>
<p class="{{ $q.answer_class }}">{{ $q.answer | markdownify }}</p>
{{ end }}
</div>
{{ end }}

View File

@ -0,0 +1,22 @@
{{ if .testimonials }}
<div class="container mx-auto px-4 py-12">
<div class="w-full">
{{ range $index, $testimonial := .testimonials }}
<div class="mt-8 testimonial dark:text-white">
<div class="flex items-start">
<a href="{{ $testimonial.link }}"
class="mr-6 h-32 object-cover rounded-lg">
{{ $img := resources.Get $testimonial.avatar }}
<img src="{{ $img.RelPermalink }}" class="rounded-full w-32 object-cover shadow-md" />
</a>
<div class="flex flex-col justify-between h-full bg-gray-100 dark:bg-darkmode-theme-light p-4 rounded-lg shadow-md">
<h3 class="text-xl font-bold mb-4">"{{ $testimonial.title }}"</h3>
<p class="mb-4">{{ $testimonial.content | markdownify }}</p>
<span class="text-sm">- {{ $testimonial.name | markdownify }}</span>
</div>
</div>
</div>
{{ end }}
</div>
</div>
{{ end }}

View File

@ -0,0 +1,114 @@
{{ if .tickets }}
<div class="container mx-auto px-4 py-12">
<div class="w-full">
{{ $tickets := .tickets }}
{{ range $index, $ticket := $tickets }}
<h2 class="text-3xl font-bold mb-8 {{ $ticket.title_class }}">{{ $ticket.title }}</h2>
<h4 class="text-xl {{ $ticket.subtitle_class }}">{{ $ticket.subtitle }}</h2>
{{/* <div class="columns-3s"> */}}
<div id="pricing"
class="grid grid-cols-1 gap-4 mt-4 leading-7 text-gray-900 border-0 border-gray-200 sm:mt-6 sm:gap-6 md:mt-8 md:gap-4 lg:grid-cols-3 {{ $ticket.section_class }}">
{{ range $option_index, $option := $ticket.options }}
<!-- Ticket options -->
{{/* <div class="rounded-lg shadow-md p-6">
<h2 class="text-xl font-semibold mb-2">{{ $option.name }}</h2>
<div class="flex justify-between items-center mb-4">
<span class="text-lg">{{ $option.title }}</span>
<span class="font-bold text-2xl">${{ $option.price }}</span>
</div>
{{ with $option.button }}
<a href=""
class="bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-4 rounded mt-4 transition duration-300">
Register Now
</a>
{{ end }}
<h3 class="text-xl font-semibold mt-6">Features</h3>
<ul>
{{ range $feature := $option.features }}
<li class="{{ $feature.text_class }}">{{ $feature.text }}</li>
{{ end }}
</ul>
</div> */}}
<div class="relative z-10 flex flex-col items-center max-w-md p-4 mx-auto my-0 border border-solid rounded-lg sm:my-0 sm:p-6 md:my-4 md:p-6">
<p class="m-0 text-lg leading-tight tracking-tight border-0 border-gray-200 {{ $option.name_class }}">
{{ $option.name | markdownify }}
</p>
<h3 class="m-0 text-2xl font-semibold leading-tight tracking-tight border-0 border-gray-200 sm:text-3xl md:text-4xl {{ $option.title_class }}">
{{ $option.title | markdownify }}
</h3>
<div class="flex items-center mt-4 leading-7 border-0 border-gray-200">
{{ if $option.original_price }}
<p class="box-border m-0 -ml-8 mr-2 text-light line-through text-2xl font-semibold leading-none border-solid">
{{ $option.original_price | markdownify }}
</p>
{{ end }}
<p class="text-3xl">$</p>
<p class="box-border m-0 text-6xl font-semibold leading-none border-solid {{ $option.price_class }}">
{{ $option.price | markdownify }}
</p>
</div>
<ul class="flex-1 p-0 mt-4 leading-7 text-gray-900 border-0 border-gray-200 {{ $option.features_class }}">
{{ range $feature_index, $feature := $option.features }}
<li class="inline-flex items-center block w-full mb-2 font-semibold text-left border-solid">
<span class="{{ $feature.text_class }}">{{ $feature.text }}</span>
</li>
{{ end }}
</ul>
<a href="{{ $option.button.url }}"
class="inline-flex justify-center w-full px-4 py-3 mt-8 font-sans text-sm leading-none text-center no-underline sm:text-base md:text-lg {{ $option.button.class }}">
{{ $option.button.title }}
</a>
{{ if $option.button.alt_url }}
<a href="{{ $option.button.alt_url }}" class="{{ $option.button.alt_class }}">
{{ $option.button.alt_title }}
</a>
{{ end }}
</div>
<!-- / Ticket options -->
{{ end }}
</div>
{{ end }}
{{/* {{ if .options }}
{{ range $index, $ticket := .options }}
<li class="bg-white rounded-lg shadow-md p-6">
<h3 class="text-xl font-semibold mb-2">{{ $ticket.title }}</h3>
<p class="mb-4">{{ $ticket.subtitle }}</p>
<div class="flex justify-between items-center mb-4 border-b pb-2">
<span class="text-gray-600">Price:</span>
<span class="font-bold text-green-500">${{ $ticket.price }}</span>
</div>
{{ if hasPrefix $ticket.button.title "Register" }}
<a href="{{ $ticket.button.url }}"
class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-full w-full">
Register Now
</a>
{{ end }}
<ul class="mt-4 space-y-2">
{{ range $featureIndex, $feature := $ticket.features }}
<li class="flex items-center justify-between">
<span class="text-gray-600">{{ $feature.text }}</span>
{{ if hasPrefix $feature.text_class "font-" }}
<span class="{{ $feature.text_class }}">{{ $feature.text }}</span>
{{ else }}
<span>{{ $feature.text }}</span>
{{ end }}
</li>
{{ end }}
</ul>
</li>
{{ end }}
{{ end }} */}}
</div>
</div>
{{ end }}

View File

@ -6,7 +6,7 @@
content="width=device-width, initial-scale=1, maximum-scale=5" />
<!-- theme meta -->
<meta name="theme-name" content="hugoplate" />
<meta name="theme-name" content="handmade" />
<!-- favicon -->
{{ partialCached "favicon" . }}
@ -29,13 +29,13 @@
<!-- google analytics -->
{{ if and site.Config.Services.GoogleAnalytics.ID (ne site.Config.Services.GoogleAnalytics.ID "G-MEASUREMENT_ID") }}
{{/* {{ if and site.Config.Services.GoogleAnalytics.ID (ne site.Config.Services.GoogleAnalytics.ID "G-MEASUREMENT_ID") }}
{{ template "_internal/google_analytics.html" . }}
{{ end }}
{{ end }} */}}
<!-- google tag manager -->
{{ partialCached "gtm.html" . }}
{{/* {{ partialCached "gtm.html" . }} */}}
<!-- search index -->

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

View File

@ -0,0 +1 @@
<svg width="100%" height="76px" viewBox="0 0 1280 140" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"><g fill="#000000"><path d="M1280 3.4C1050.59 18 1019.4 84.89 734.42 84.89c-320 0-320-84.3-640-84.3C59.4.59 28.2 1.6 0 3.4V140h1280z" fill-opacity=".3"/><path d="M0 24.31c43.46-5.69 94.56-9.25 158.42-9.25 320 0 320 89.24 640 89.24 256.13 0 307.28-57.16 481.58-80V140H0z" fill-opacity=".5"/><path d="M1280 51.76c-201 12.49-242.43 53.4-513.58 53.4-320 0-320-57-640-57-48.85.01-90.21 1.35-126.42 3.6V140h1280z"/></g></svg>

After

Width:  |  Height:  |  Size: 535 B

View File

@ -39,7 +39,6 @@
const swipers = docuemnt.querySelectorAll(".swiper-slider");
swipers.forEach((swiper) => {
console.log("ayy");
new Swiper(swiper.id, {
spaceBetween: 24,
loop: true,