Devon 2024-11-02 01:02:16 -07:00
commit ed33dfec70
9 changed files with 81 additions and 21 deletions

View File

@ -18,3 +18,8 @@
.shadow {
box-shadow: 0px 4px 40px rgba(0, 0, 0, 0.05);
}
/* This was supposed to be in tailwind, but whatever... */
.flex-shrink-0 {
flex-shrink: 0;
}

View File

@ -0,0 +1,3 @@
+++
title="Media"
+++

View File

@ -0,0 +1,5 @@
+++
title="Handmade Boston 2023"
date="2023-07-03T09:00:00-04:00"
enddate="2023-07-04T17:00:00-04:00"
+++

View File

@ -0,0 +1,5 @@
+++
title="Handmade Seattle 2023"
date="2023-11-15T09:00:00-08:00"
enddate="2023-11-17T17:00:00-08:00"
+++

View File

@ -7,7 +7,7 @@ layout: "tickets"
features:
- title: "Tickets"
title_class: "text-center text-white mt-16"
title_class: "text-center text-white mt-8"
side: "center"
content_class: "mt-16 pt-0 pb-0 text-white"
image: "/images/hmc/cities-light-mode.svg"
@ -16,10 +16,12 @@ features:
img: "/images/devon_starfield.png"
end_img: "/images/software-15.png"
end_img_class: "relative h-96 bg-contain bg-bottom bg-repeat-x"
description: |
Handmade Seattle is a fully hybrid conference, and both physical and online tickets are available. Buying a ticket supports the conference and gains you access to the private chat server used for speaker Q&A, the virtual job fair, and more.
tickets:
- title: "Physical Track"
title_class: "text-white"
subtitle: "Status: Early Bird"
subtitle: "Available now"
subtitle_class: "text-white"
section_class: "text-white"
options:
@ -114,7 +116,7 @@ features:
tickets:
- title: "Online Track"
title_class: "text-black dark:text-white"
subtitle: "Status: Early Bird"
subtitle: "Available now"
subtitle_class: "text-black dark:text-white"
section_class: "text-black dark:text-white"
options:
@ -230,17 +232,20 @@ features:
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!"
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!"
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"
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

@ -16,7 +16,7 @@
</head>
<body>
<body class="flex flex-col" style="min-height: 100svh">
<!-- cache partial only in production -->
{{ if hugo.IsProduction }}
{{ partialCached "preloader.html" . }}
@ -39,7 +39,7 @@
{{ partial "search-modal.html" (dict "Context" . ) }}
<main>
<main class="grow">
{{ block "main" . }}{{ end }}
</main>

View File

@ -0,0 +1,22 @@
{{ define "main" }}
<section class="mb-8">
<div class="container flex flex-col gap-5">
{{ $sections := slice . }}
{{ if .Sections }}
{{ $sections = .Sections.ByDate.Reverse }}
{{ end }}
{{ range $sections }}
<div>
<div>
<h1><a href="{{ .RelPermalink }}">{{ .Title }}</a></h1>
</div>
<div class="flex flex-col">
{{ range .RegularPages.ByDate }}
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
{{ end }}
</div>
</div>
{{ end }}
</div>
</section>
{{ end }}

View File

@ -1,15 +1,15 @@
{{ if .testimonials }}
<div class="container mx-auto px-4 py-12">
<div class="mx-auto lg:px-4 lg: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">
class="flex-shrink-0 mr-6 w-24 lg:w-32 object-cover rounded-lg">
{{ $img := resources.Get $testimonial.avatar }}
<img src="{{ $img.RelPermalink }}" class="rounded-full w-32 object-cover shadow-md" />
<img src="{{ $img.RelPermalink }}" class="rounded-full 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">
<div class="flex-grow 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>

View File

@ -1,13 +1,18 @@
{{ if .tickets }}
<div class="container mx-auto px-4 py-12">
<div class="container max-w-3xl mx-auto px-4 py-12">
<div class="w-full">
{{ with .description }}
<div class="my-4">
{{ . | markdownify }}
</div>
{{ end }}
{{ $tickets := .tickets }}
{{ range $index, $ticket := $tickets }}
<h2 class="text-3xl font-bold mb-8 {{ $ticket.title_class }}">{{ $ticket.title }}</h2>
<h2 class="text-3xl font-bold {{ $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-2 {{ $ticket.section_class }}">
class="grid grid-cols-1 gap-4 leading-7 text-gray-900 border-0 border-gray-200 py-4 sm:gap-6 md:gap-4 lg:grid-cols-2 {{ $ticket.section_class }}">
{{ range $option_index, $option := $ticket.options }}
<!-- Ticket options -->
@ -34,24 +39,34 @@
</ul>
</div> */}}
<div class="relative z-10 flex flex-col items-center max-w-md p-4 mx-auto my-0 border border-solid {{ $option.ticket_class }} rounded-lg sm:my-0 sm:p-6 md:my-4 md:p-6">
<div class="relative z-10 flex flex-col items-center max-w-md p-4 mx-auto border border-solid {{ $option.ticket_class }} rounded-lg sm:p-6 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">
<div class="flex gap-2 items-center mt-4 leading-7 border-0 border-gray-200">
{{ $original_styles := "box-border text-light line-through text-2xl font-semibold leading-none border-solid" }}
{{ 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">
<p class="{{ $original_styles }}">
{{ $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 }}
<div class="flex items-center">
<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>
{{/* to center the overall content */}}
{{ if $option.original_price }}
<p class="{{ $original_styles }} invisible">
{{ $option.original_price | markdownify }}
</p>
{{ end }}
</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 }}