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
|
After Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 159 KiB |
|
|
@ -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 |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 187 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
|
@ -40,7 +40,6 @@
|
|||
const swipers = document.querySelectorAll(".swiper-slider");
|
||||
|
||||
swipers.forEach((swiper) => {
|
||||
console.log("ayy");
|
||||
new Swiper(swiper, {
|
||||
spaceBetween: 24,
|
||||
loop: true,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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]]
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
---
|
||||
|
|
|
|||
|
|
@ -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 NASA’s 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: "Morgan’s 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 you’ll 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."
|
||||
---
|
||||
|
|
@ -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 NASA’s 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.
|
||||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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 you’re 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 there’s still physical tickets._"
|
||||
- question: "Are refunds available?"
|
||||
question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
answer: "We don’t process refunds. The physical track is a superset of the online one, so if you can’t 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 should’ve 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"
|
||||
---
|
||||
|
|
@ -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 }}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
{{ define "main" }}
|
||||
{{ partial "components/features.html" . }}
|
||||
{{ end }}
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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 }}
|
||||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 }}
|
||||
|
|
@ -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 }}
|
||||
|
|
@ -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 }}
|
||||
|
|
@ -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 }}
|
||||
|
|
@ -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 }}
|
||||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
|
@ -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 |
|
|
@ -39,7 +39,6 @@
|
|||
const swipers = docuemnt.querySelectorAll(".swiper-slider");
|
||||
|
||||
swipers.forEach((swiper) => {
|
||||
console.log("ayy");
|
||||
new Swiper(swiper.id, {
|
||||
spaceBetween: 24,
|
||||
loop: true,
|
||||
|
|
|
|||