Merge branch 'main' of https://git.handmadecities.com/conferences/hmc_site_source into main
commit
a9ff900a00
|
|
@ -94,36 +94,39 @@ features:
|
|||
label: "About Us"
|
||||
link: "/about"
|
||||
|
||||
- title: "Companies Value Handmade"
|
||||
- title: "Recognized by Industry"
|
||||
title_class: "text-center mt-16 mb-12"
|
||||
image: ""
|
||||
section_class: "pb-24"
|
||||
side: "center"
|
||||
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: "<span class='block mx-auto mt-24 text-black dark:text-white w-1/2'>Companies hunting for handmade talent. They've attended our conference, but don't shape our agenda.</span>"
|
||||
content_class: "mt-12"
|
||||
img_grid:
|
||||
imgs:
|
||||
- name: "JangaFX"
|
||||
img: "/images/companies/jangafx.png"
|
||||
link: "https://jangafx.com/"
|
||||
- name: "Pontoco"
|
||||
img: "/images/companies/pontoco.png"
|
||||
link: "https://pontoco.com/"
|
||||
- name: "Kagi"
|
||||
img: "/images/companies/kagi_doggo.png"
|
||||
link: "https://kagi.com/"
|
||||
- name: "Mozilla"
|
||||
img: "/images/companies/mozilla.png"
|
||||
link: "https://www.mozilla.org/en-US/"
|
||||
- name: "TestFit"
|
||||
img: "/images/companies/tf.png"
|
||||
link: "https://www.testfit.io/"
|
||||
- name: "Magic Poser"
|
||||
img: "/images/companies/magic_poser.png"
|
||||
link: "https://magicposer.com/"
|
||||
- name: "JangaFX"
|
||||
img: "/images/companies/jangafx.png"
|
||||
link: "https://jangafx.com/"
|
||||
- name: "System Era"
|
||||
img: "/images/companies/systemera.png"
|
||||
link: "https://systemera.net/"
|
||||
- name: "TestFit"
|
||||
img: "/images/companies/tf.png"
|
||||
link: "https://www.testfit.io/"
|
||||
- name: "KCSE"
|
||||
img: "/images/companies/kcse.png"
|
||||
link: "https://www.kcse.com/"
|
||||
- name: "Pontoco"
|
||||
img: "/images/companies/pontoco.png"
|
||||
link: "https://pontoco.com/"
|
||||
- name: "Magic Poser"
|
||||
img: "/images/companies/magic_poser.png"
|
||||
link: "https://magicposer.com/"
|
||||
button:
|
||||
enable: false
|
||||
|
||||
|
|
@ -147,7 +150,7 @@ features:
|
|||
image: "/images/nystrom.webp"
|
||||
image_link: "https://vimeo.com/780000746"
|
||||
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: "Every year hundreds of systems 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:
|
||||
|
|
|
|||
|
|
@ -1,8 +1,27 @@
|
|||
---
|
||||
title: "Handmade Boston 2024"
|
||||
meta_title: "About"
|
||||
description: "this is meta description"
|
||||
title: "Handmade Boston 2025"
|
||||
subtitle: "The East Coast's premier conference for systems programmers."
|
||||
image: "/images/hmb/boston-dark-mode.svg"
|
||||
draft: false
|
||||
layout: under_construction
|
||||
layout: "event"
|
||||
|
||||
# Event Details
|
||||
event_dates: "August 1-2, 2025 (Fri-Sat)"
|
||||
registration_date: "April 5, 2025"
|
||||
venue_name: "John F. Kennedy Library"
|
||||
venue_address: "Columbia Point, Boston, MA 02125"
|
||||
|
||||
# Coming Soon Section
|
||||
coming_soon_text: "Agenda Coming Soon"
|
||||
coming_soon_description: "We're working towards another amazing lineup of speakers."
|
||||
|
||||
# Call to Action Buttons
|
||||
enable_newsletter: true
|
||||
newsletter_link: "/news"
|
||||
enable_discord: true
|
||||
discord_link: "https://handmadecities.com/discord"
|
||||
|
||||
# Content Display
|
||||
show_description: true
|
||||
---
|
||||
|
||||
Handmade Boston brings together the brightest minds in low-level programming for two days of technical lectures, job booths, and networking. Join us to explore the frontiers of systems software in the heart of Cambridge.
|
||||
|
|
|
|||
|
|
@ -26,12 +26,12 @@ Our general stance on AI/LLMs aligns with the article ["Vibe Coding" vs Reality]
|
|||
|
||||
Or to put it more bluntly:
|
||||
|
||||
> These models are trained on average sloppy code, wrong answers on Stack Overflow, and the junk that ends up on Quora. Despite the power and capability Claude 3.7 Sonnet has in small contexts, when faced with even a small codebase it makes constant silly mistakes that no normal developer would repeat and continue to repeat every hour of its operation.
|
||||
> These models are trained on average sloppy code, wrong answers on Stack Overflow, and the junk that ends up on Quora.
|
||||
|
||||
Handmade's deep love for low-level knowledge gives us the privilege to resist the reliance on AI. Indeed, developers who fully embrace our values can do well for themselves in the age of LLMs without having to use them.
|
||||
Handmade's deep appreciation for low-level knowledge gives us the privilege to resist the reliance on AI. Indeed, developers who fully embrace our values can do well for themselves in the age of LLMs without having to use them.
|
||||
|
||||
For Handmade devs, the proper use of AI is twofold:
|
||||
- To stay informed about its progress so we can refine our arguments against its misuse
|
||||
- To use it sparingly and thoughtfully in areas OUTSIDE our core programming work
|
||||
|
||||
Finally, when we do use AI, it should be through privacy-conscious services like Kagi’s Assistant or by running models locally. Anything else violates the principles defining who we are.
|
||||
Finally, when we do use AI, it should be through privacy-conscious services like Kagi’s Assistant or by running models locally. Anything else violates who we are.
|
||||
|
|
|
|||
|
|
@ -1,697 +1,58 @@
|
|||
---
|
||||
title: "Handmade Seattle 2024"
|
||||
meta_title: "Handmade Seattle 2024"
|
||||
description: "Handmade Seattle 2024"
|
||||
year: 2024
|
||||
draft: false
|
||||
layout: year_page
|
||||
banner:
|
||||
title: "<span class='seattle-color'>Handmade Seattle 2024</span>"
|
||||
live_banner:
|
||||
enable: false
|
||||
use_twitch: true
|
||||
use_youtube: false
|
||||
title: "Handmade Seattle 2024"
|
||||
title_class: "seattle-color mb-4"
|
||||
twitch_channel: "abnercoimbre"
|
||||
youtube_channel_id: "UCkiOutDcOG0KRLQc71Pd-Fg" # found at: https://www.youtube.com/account_advanced, is currently yt/handmadecities
|
||||
section_class: "pb-36 row mb-4"
|
||||
buttons_class: "p-2 px-3 mt-2"
|
||||
buttons_row_class: "mt-4 text-white gap-4"
|
||||
buttons:
|
||||
- title: "<i class='fa fa-ticket'></i> Tickets"
|
||||
link: "/tickets"
|
||||
class: "btn seattle-bg"
|
||||
- title: "<i class='fa fa-comments'></i> Chat"
|
||||
link: "https://chat.handmadecities.com"
|
||||
class: "btn bg-green-500"
|
||||
- title: "<i class='fa fa-gift'></i> Donate"
|
||||
link: "https://donorbox.org/handmadecities"
|
||||
class: "btn bg-red-700"
|
||||
- title: "Twitch"
|
||||
link: "https://twitch.tv/abnercoimbre"
|
||||
class: "btn meetups-bg"
|
||||
icon_only: true
|
||||
icon: "fa-brands fa-twitch"
|
||||
- title: "YouTube"
|
||||
link: "https://youtube.com/@handmadecities"
|
||||
class: "btn bg-[#ff0000]"
|
||||
icon_only: true
|
||||
icon: "fa-brands fa-youtube"
|
||||
content: "We are the largest indie conferences for low-level programmers.<br> Proud to be __Fully Hybrid__.<br>"
|
||||
content_bottom: "**Seattle Center**<br><span class='text-small'>Nesholm Family Lecture Hall</span><br><br><span class='underline'>**Nov 20th - 22nd, 2024**</span><br>Private Hangouts on Friday, Nov 22nd"
|
||||
content_bottom_class: "mt-20 mb-20 text-white"
|
||||
section_class: "mb-0 pb-0"
|
||||
bg_img:
|
||||
parallax: false
|
||||
img: "/images/seattle_skyline.webp"
|
||||
bg_class: "z-0 bg-[rgba(0,0,0,0.5)]"
|
||||
image: "/images/hms/seattle-dark-mode.svg"
|
||||
hide_banner_img: true
|
||||
hide_title_after_banner: false
|
||||
section_class: "bg-black pb-0"
|
||||
transition:
|
||||
end: "/images/transition2.svg"
|
||||
end_class: "transform -scale-y-100 -scale-x-100"
|
||||
end_color: "#fff"
|
||||
end_dark: "/images/transition2.svg"
|
||||
end_dark_color: "#150e31"
|
||||
button:
|
||||
enable: false
|
||||
label: "Tickets"
|
||||
link: "/tickets"
|
||||
icon: "fa fa-ticket pl-2"
|
||||
class: "btn text-white seattle-bg"
|
||||
button2:
|
||||
enable: false
|
||||
label: "Donate"
|
||||
link: "https://donorbox.org/handmadecities"
|
||||
icon: "fa fa-gift pl-2"
|
||||
class: "btn bg-red-700 dark:bg-red-700 dark:text-white hover:bg-red-800 mt-6 text-white"
|
||||
title: "Handmade Seattle 2025"
|
||||
subtitle: "The biggest indie celebration of systems programming. Fully Hybrid"
|
||||
image: "/images/hms/seattle-dark-mode.svg"
|
||||
layout: "event"
|
||||
|
||||
# Features
|
||||
features:
|
||||
- title: "This Year’s Stars"
|
||||
title_class: "text-white mb-8 text-center"
|
||||
image: "/images/hms/seattle-dark-mode.svg"
|
||||
side: "center"
|
||||
bg_img:
|
||||
parallax: true
|
||||
img: "/images/devon_starfield.png"
|
||||
transition:
|
||||
start: "/images/transition2.svg"
|
||||
start_class: "mb-5 transform"
|
||||
start_color: "#fff"
|
||||
start_dark: "/images/transition2.svg"
|
||||
start_dark_color: "#150e31"
|
||||
end: "/images/transition3.svg"
|
||||
end_class: "transform -scale-x-100"
|
||||
end_color: "#fff"
|
||||
end_style: "mask-size: cover;height:150px;"
|
||||
end_dark: "/images/transition3.svg"
|
||||
end_dark_color: "#150e31"
|
||||
timeline:
|
||||
enable: true
|
||||
date_class: ""
|
||||
event_class: ""
|
||||
timeline_class: "mb-20 mt-12"
|
||||
event_img_class: ""
|
||||
time_class: "text-right text-slate-200"
|
||||
event_title_class: "dark:text-white text-xl"
|
||||
event_subtitle_class: "text-lg text-slate-200"
|
||||
day_listing_class: "text-2xl text-white no-decoration hover:meetups-color hover:cursor-pointer hover:underline"
|
||||
day_listing_inactive_class: "text-gray"
|
||||
top_text: ""
|
||||
top_text_class: "mb-12 text-center"
|
||||
bottom_text: "All times in Seattle Time, UTC-8:00 timezone."
|
||||
bottom_text_class: "text-center mt-8 text-slate-300"
|
||||
day_date_class: "text-center text-white text-xl mb-4 underline"
|
||||
default_day: "Day 3"
|
||||
days:
|
||||
- title: "Day 1"
|
||||
date: "Wed Nov 20th, 2024"
|
||||
title_class: "text-dark dark:text-white"
|
||||
events:
|
||||
- title: "Registration"
|
||||
time: "9:00 AM"
|
||||
subtitle: "Ticket scanning at the lobby"
|
||||
modal_target: ""
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Anniversary Special"
|
||||
time: "10:00 AM"
|
||||
subtitle: "The Next Ten Years"
|
||||
title_class: ""
|
||||
modal_target: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "In Defense of the Free Software Movement"
|
||||
time: "11:00 AM"
|
||||
subtitle: "Andrew Kelley"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Lunch Break"
|
||||
time: "12:00 PM"
|
||||
subtitle: "Exclusive Podcast Premiere"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "fred"
|
||||
time: "1:30 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Meese Engine"
|
||||
time: "1:45 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Creative Exercises at the Low Level"
|
||||
time: "2:00 PM"
|
||||
subtitle: "Allen Webster"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "It's Not About the API"
|
||||
time: "3:00 PM"
|
||||
subtitle: "Mason Remaley"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Ark Version Control System"
|
||||
time: "4:00 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Project Salarybot"
|
||||
time: "4:15 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Job Booths"
|
||||
time: "4:30 PM"
|
||||
subtitle: "Announcements"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "End of Day 1"
|
||||
time: "5:00 PM"
|
||||
subtitle: ""
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Day 2"
|
||||
date: "Thu Nov 21st, 2024"
|
||||
title_class: "text-dark dark:text-white"
|
||||
top_text: ""
|
||||
top_text_class: "dark:text-white"
|
||||
bottom_text: ""
|
||||
bottom_text_class: ""
|
||||
events:
|
||||
- title: "Registration"
|
||||
time: "9:00 AM"
|
||||
subtitle: "Ticket scanning at the lobby"
|
||||
modal_target: ""
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "A shining palace built upon the sand"
|
||||
time: "10:00 AM"
|
||||
subtitle: "Devine Lu Linvega"
|
||||
title_class: ""
|
||||
modal_target: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Democratizing Software"
|
||||
time: "11:00 AM"
|
||||
subtitle: "Wryl"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Lunch Break"
|
||||
time: "12:00 PM"
|
||||
subtitle: "'Best Of' Re-broadcasts"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Half-Edge"
|
||||
time: "1:30 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "6502 The Spreadsheet"
|
||||
time: "1:45 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Proficiency Patterns & Play"
|
||||
time: "2:00 PM"
|
||||
subtitle: "Tomas Diaz"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Programming is Practice Problem Solving"
|
||||
time: "3:00 PM"
|
||||
subtitle: "Elizabeth Baumel"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Way of Rhea"
|
||||
time: "4:00 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Whitebox Systems"
|
||||
time: "4:15 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "HYTRADBOI"
|
||||
time: "4:30 PM"
|
||||
subtitle: "Indie Conferences like HMS"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "End of Day 2"
|
||||
time: "5:00 PM"
|
||||
subtitle: ""
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Day 3"
|
||||
date: "Fri Nov 22nd, 2024"
|
||||
title_class: "text-dark dark:text-white"
|
||||
top_text: ""
|
||||
top_text_class: "dark:text-white"
|
||||
bottom_text: ""
|
||||
bottom_text_class: ""
|
||||
events:
|
||||
- title: "MoPop Mueseum"
|
||||
time: "11:00 AM"
|
||||
subtitle: "@ Seattle Center"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Flatstick Pub"
|
||||
time: "2:00 PM"
|
||||
subtitle: "@ South Lake Union"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "After Party"
|
||||
time: "7:00 PM"
|
||||
subtitle: "@ Disclosed in Private Chat Server"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
# Event Details
|
||||
event_dates: "December 5-7, 2025"
|
||||
registration_date: "April 5, 2025"
|
||||
venue_name: "Seattle Center"
|
||||
venue_address: "305 Harrison St, Seattle, WA 98109"
|
||||
|
||||
img_grid:
|
||||
title: ""
|
||||
title_class: "text-center"
|
||||
section_class: "mb-12"
|
||||
img_title_class: "text-center text-2xl no-underline hover:underline hover:color-[#150e31]"
|
||||
img_subtitle_class: "text-center"
|
||||
img_class: "hover:cursor-pointer devon_was_here"
|
||||
imgs:
|
||||
- title: "Abner Coimbre"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "Host"
|
||||
img: "/images/people/abner_2022.png"
|
||||
modal_target: "abner"
|
||||
- title: "Billy Basso"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "Creator of [Animal Well](https://www.youtube.com/watch?v=ygL8eqX12MQ)"
|
||||
img: "/images/people/billy-basso.jpg"
|
||||
modal_target: "billy"
|
||||
- title: "Anniversary Special"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "The Next Ten Years"
|
||||
img: "/images/people/abner_bvisness-scaled.jpg"
|
||||
modal_target: "anniversary"
|
||||
- title: "Allen Webster"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "Founder of [Mr. 4th](https://mr4th.com/) Lab"
|
||||
img: "/images/people/allen_square.webp"
|
||||
modal_target: "allen"
|
||||
- title: "Freya Holmér"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "YouTuber and Shader [Sorceress](https://acegikmo.com/)"
|
||||
img: "/images/people/freya.jpg"
|
||||
modal_target: "freya"
|
||||
- title: "Andrew Kelley"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "President of [Zig](https://ziglang.org/) Software Foundation"
|
||||
img: "/images/people/andrew-kelley.jpg"
|
||||
modal_target: "andrew"
|
||||
- title: "Devine Lu Linvega"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "Co-Founder of [Hundred Rabbits](https://100r.co)"
|
||||
img: "/images/people/devine_square.webp"
|
||||
modal_target: "devine"
|
||||
- title: "Wryl"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "Computational artisan, author of [Modal](https://wiki.xxiivv.com/site/modal)"
|
||||
img: "/images/people/wryl_sq.webp"
|
||||
modal_target: "wyrl"
|
||||
- title: "Kagi Search"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Job Booth"
|
||||
img: "/images/companies/kagi_square.webp"
|
||||
modal_target: "kagi"
|
||||
- title: "Meese Engine"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Minecraft-like [engine](https://handmade.network/p/548/meese-engine/) for Gamecube, Wii & Dreamcast"
|
||||
img: "/images/demos/meese_15.png"
|
||||
modal_target: "meese"
|
||||
- title: "Project Salarybot"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "What's it feel to work as a robot for a living?"
|
||||
img: "/images/demos/salarybot-1.png"
|
||||
modal_target: "salarybot"
|
||||
- title: "Ark"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Version Control System"
|
||||
img: "/images/demos/branch_merged.png"
|
||||
modal_target: "ark"
|
||||
- title: "Elizabeth Baumel"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Lead Rendering Engineer"
|
||||
img: "/images/people/baumel.jpg"
|
||||
modal_target: "elizabeth"
|
||||
- title: "Mason Remaley"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Indie Gamedev"
|
||||
img: "/images/people/mason.png"
|
||||
modal_target: "mason"
|
||||
- title: "Way of Rhea"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Hard puzzles, forgiving mechanics"
|
||||
img: "/images/demos/way-of-rhea-steam.png"
|
||||
modal_target: "rhea"
|
||||
- title: "Beyond the Folders"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Inside [File Pilot](https://diskvoyager.com)"
|
||||
img: "/images/podcasts/file_pilot_screenshot.png"
|
||||
modal_target: "fpilot"
|
||||
- title: "fred"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "An editor from the ground up"
|
||||
img: "/images/demos/fred-1.png"
|
||||
modal_target: "editor"
|
||||
- title: "Whitebox Systems"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Watch how your code behaves as you write it"
|
||||
img: "/images/demos/whitebox.png"
|
||||
modal_target: "whitebox"
|
||||
- title: "Tomas Diaz"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Principal Engineer at KCSE"
|
||||
img: "/images/people/diaz.jpg"
|
||||
modal_target: "diaz"
|
||||
- title: "KCSE"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Job Booth"
|
||||
img: "/images/companies/kcse.png"
|
||||
modal_target: "kcse"
|
||||
- title: "6502 The Spreadsheet"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Instructions with actions completely unrolled"
|
||||
img: "/images/demos/6502_spreadsheet_1.png"
|
||||
modal_target: "spreadsheet"
|
||||
- title: "HYTRADBOI"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Indie conference [inspired](https://www.scattered-thoughts.net/writing/why-start-a-new-database-conference#funding) by Handmade Seattle"
|
||||
img: "/images/companies/hytradboi.webp"
|
||||
modal_target: "hytradboi"
|
||||
- title: "Job Booth"
|
||||
title_class: "text-center text-white text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg text-white mb-4"
|
||||
subtitle: "Open Slots"
|
||||
img: "/images/people/resume.png"
|
||||
link: "/jobs"
|
||||
bg_color: "#0a0a0a"
|
||||
content: "**More On The Way**<br>Join the [newsletter](/news) or check out [last year](/media/seattle-2023)'s speakers."
|
||||
content_class: "text-white mt-12 px-12 pb-12 pt-12 bg-[rgba(0,0,0,0.5)] rounded-lg"
|
||||
button:
|
||||
enable: enable
|
||||
class: "meetups-bg dark:meetups-bg"
|
||||
label: "Register"
|
||||
link: "/tickets"
|
||||
# Event Features
|
||||
event_format: "Fully Hybrid"
|
||||
event_features:
|
||||
- "In-person & online attendance options"
|
||||
- "3 days of technical talks & workshops"
|
||||
- "Trade show with industry exhibitors"
|
||||
- "Live coding sessions"
|
||||
- "Networking opportunities"
|
||||
|
||||
- title: "Fully Hybrid"
|
||||
title_class: "ml-4 text-white mb-4 drop-shadow-2xl"
|
||||
side: "center"
|
||||
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/line_waves.webp"
|
||||
card_grid:
|
||||
title: ""
|
||||
title_class: "text-center"
|
||||
section_class: "mb-12"
|
||||
card_class: "dark:bg-[#150e31] bg-white rounded-lg shadow-md overflow-hidden cursor-pointer"
|
||||
card_title_class: "text-xl font-semibold mb-2 text-center"
|
||||
card_subtitle_class: "text-center dark:text-white text-black"
|
||||
card_bottom_text_class: "text-center pt-2"
|
||||
cards:
|
||||
- title: "No Vaults"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
subtitle: "We don't lock recordings behind a paid vault."
|
||||
img: "/images/film.webp"
|
||||
modal_target: "vaults"
|
||||
- title: "Live Streaming"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
subtitle: "Presentations streamed live in HD, with closed captioning when possible"
|
||||
img: "/images/cinema.webp"
|
||||
modal_target: "live"
|
||||
- title: "Private Chat Server"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
subtitle: "Physical and online tracks communicate under the same server"
|
||||
img: "/images/revolt_mockup.webp"
|
||||
modal_target: "chat"
|
||||
image_class: "rounded-md shadow-lg"
|
||||
content: ""
|
||||
content_class: "p-4 px-6 rounded-md"
|
||||
section_class: "text-white"
|
||||
- title: "Watch Previous Years"
|
||||
title_class: "mb-4 drop-shadow-2xl"
|
||||
side: "left"
|
||||
button:
|
||||
enable: true
|
||||
label: "Media"
|
||||
link: "/media"
|
||||
icon: "fa fa-ticket pl-2"
|
||||
class: "btn text-white seattle-bg"
|
||||
image: "/images/hms_23_trailer.webp"
|
||||
image_link: "/media"
|
||||
image_class: "rounded-md shadow-lg"
|
||||
content: "See all of our previous years of talks, demos, and chats freely on our media page."
|
||||
content_class: "p-4 px-6 rounded-md text-black dark:text-white"
|
||||
section_class: "text-white mt-24 pb-24"
|
||||
modals:
|
||||
- active: true
|
||||
id: "abner"
|
||||
title: "Founder of Handmade Cities"
|
||||
title_class: "text-white"
|
||||
content: "… and organizer of Handmade Seattle since 2019<br><br>Abner is hyper-social, having started the Handmade [Network](https://handmade.network/) when Casey Muratori needed a community for the viral Handmade Hero series. He then took charge of the conferences when Casey passed him the baton.<br><br>A programmer in his own right, Abner’s worked for NASA, Jonathan Blow, the creators of Myst, and is [rethinking](https://terminal.click) terminal emulators from scratch."
|
||||
content_class: "text-white"
|
||||
img: "/images/cities-light-mode.png"
|
||||
img_dark: "/images/cities-dark-mode-row.png"
|
||||
- active: true
|
||||
id: "billy"
|
||||
title: "Creator of [Animal Well](https://www.youtube.com/watch?v=ygL8eqX12MQ)"
|
||||
title_class: "text-white"
|
||||
content: "**Postponed for 2025**<br><br>Good problems for Handmade: Animal Well is nominated for awards at *multiple* big shows--The Golden Joystick Awards and Geoff Keighley's The Game Awards<br><br>Abner and Billy tried to make this work until the last minute, but in the end there were simply too many scheduling conflicts. **Billy's agreed to be keynote speaker for 2025.**<br><br>Our conference continues to have heavy hitters and awe-inspiring presentations. However, if a ticket holder feels wronged by this cancellation, email Abner to discuss refunds: abner@handmadecities.com"
|
||||
content_class: "text-white"
|
||||
img: "/images/modals/bunnies.png"
|
||||
- active: true
|
||||
id: "other"
|
||||
title: "devon was here"
|
||||
title_class: "text-white"
|
||||
content: "devon2 was here"
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "anniversary"
|
||||
title: "The Next Ten Years"
|
||||
title_class: "text-white"
|
||||
content: "**Where's Handmade Headed Now?**<br><br>Partners in crime Abner Coimbre and [Ben Visness](https://handmade.network/about) celebrate the history of the Handmade community and then reveal the vision for the movement as it matures and enters its second decade."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "allen"
|
||||
title: "Creative Exercises at the Low Level"
|
||||
title_class: "text-white"
|
||||
img: "/images/modals/mr4th_lab.jpg"
|
||||
content: "**An exploration of untapped potential.**<br>Starting off we’ll map out the toolchains we use for creating and running executables on desktops. Then we’ll flesh out that picture with some low level details. And finally we’ll see how we can play with the pieces that exist to see new possibilities."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "freya"
|
||||
title: "Half-Edge"
|
||||
title_class: "text-white"
|
||||
img: "/images/modals/half-edge.png"
|
||||
content: "A modern 3D modeling tool designed for game developers"
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "meese"
|
||||
title: "Meese Engine"
|
||||
title_class: "text-white"
|
||||
content: "Get ready for Meese Engine on the Gamecube, Wii, and Dreamcast—a game engine that, against all odds, outshines official Minecraft in some ways.<br><br>With a jaw-dropping render distance surpassing Minecraft on the Switch and PS4, you’ll see those blocky horizons stretch further than you thought was possible on Nintendo’s little cube. Somehow, this console is pushing polygons and chunks into the distance with a 485 MHz CPU and only 24MB of RAM."
|
||||
content_class: "text-white"
|
||||
img: "/images/demos/meese_16.png"
|
||||
- active: true
|
||||
id: "salarybot"
|
||||
title: "Project Salarybot"
|
||||
title_class: "text-white"
|
||||
content: "**An arcade action platformer that really makes you really feel like you work as a robot for a living.**<br><br>Project Salarybot is a love letter to 90s arcade games bolstered with modern features. The game is meant to capture that hectic feeling of dropping a few coins into a machine with friends and frantically trying to claw yourselves to victory. An engaging combat system, different threats and objectives with every mission and an unsettling corporate history all await you and up to 3 friends in Project Salarybot."
|
||||
content_class: "text-white"
|
||||
img: "/images/demos/salarybot-2.png"
|
||||
- active: true
|
||||
id: "ark"
|
||||
title: "Ark"
|
||||
title_class: "text-white"
|
||||
content: "**A [VCS](https://ark-vcs.com) with games in mind.**<br><br>Ark is a Version Control System that focuses on bringing back **simplicity** and **performance**, targeting especially big projects like **games**.<br><br>It's a complete and portable solution, providing CLI, server and GUI, built into a small binary with no dependencies, and without the need of subscriptions nor chained to cloud hosting."
|
||||
content_class: "text-white"
|
||||
img: "/images/demos/branch_merged_full.png"
|
||||
- active: true
|
||||
id: "devine"
|
||||
title: "The Library Of Babel in which every book is a program"
|
||||
title_class: "text-white"
|
||||
content: "We’ll wander through the corridors of a very special library, in which every book is one of the permutations of 64kb of ram."
|
||||
content_class: "text-white"
|
||||
img: "/images/modals/100r.png"
|
||||
- active: true
|
||||
id: "elizabeth"
|
||||
title: "Programming is Practice Problem Solving"
|
||||
title_class: "text-white"
|
||||
content: "Coming soon."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "mason"
|
||||
title: "It's Not About the API"
|
||||
title_class: "text-white"
|
||||
content: "**Fast, Flexible, and Simple Rendering in Vulkan**<br><br>When you read about Vulkan in online forums, a common refrain is: \"It’s over complicated, it’s engineered to only be useful for big companies with big teams making big AAA engines, it’s a terrible place to start graphics programming…\"<br><br>People seem to feel similarly about the other modern graphics APIs as well. Are they correct? Are they missing something? Where should small teams working on renderers focus their efforts?<br><br>This talk will answer these questions, and in doing so, dissect what makes a good API and why."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "diaz"
|
||||
title: "Proficiency Patterns & Play"
|
||||
title_class: "text-white"
|
||||
content: "**Bootstrapping a technical career**<br><br>What does success mean as a software engineer and what role does formal education have? This talk is about one trajectory from novice to principal.<br><br>Through examining various technical challenges across naval architecture, search and rescue and point cloud compression, we’ll follow a series of events to attempt to uncover the patterns and principles that can lead to success or dead ends.<br><br>There isn’t one-size fits all but a hope that this talk provides actionable strategies and a few technical insights across a range of fields."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "rhea"
|
||||
title: "Way of Rhea"
|
||||
title_class: "text-white"
|
||||
content: "**Hard puzzles, forgiving mechanics, and a custom engine!**<br><br>Way of Rhea is a puzzle [game](https://store.steampowered.com/app/1110620/Way_of_Rhea/) with hard puzzles, but forgiving mechanics. In this demo, the game’s developer Mason Remaley chats about his experience working on the game while playing through some of the puzzles the game has to offer."
|
||||
content_class: "text-white"
|
||||
img: "/images/demos/way-of-rhea.png"
|
||||
- active: true
|
||||
id: "spreadsheet"
|
||||
title: "6502 The Spreadsheet"
|
||||
title_class: "text-white"
|
||||
content: "All 6502 instructions with their actions completely unrolled so you don't have to pick through detailed documentation to understand what they do or how to emulate them accurately."
|
||||
content_class: "text-white"
|
||||
img: "/images/demos/6502_spreadsheet_2.png"
|
||||
- active: true
|
||||
id: "hytradboi"
|
||||
title: "HYTRADBOI"
|
||||
title_class: "text-white"
|
||||
content: "As our conference ends, Abner will promote indie conferences that are like Handmade Seattle with [HYTRADBOI](https://hytradboi.com) at the forefront.<br><br>Its [organizer](https://www.scattered-thoughts.net/) Jamie Brandon will be in attendance!"
|
||||
content_class: "text-white"
|
||||
img: ""
|
||||
- active: true
|
||||
id: "editor"
|
||||
title: "fred"
|
||||
title_class: "text-white"
|
||||
content: "**fred is a text editor that aims to do one thing very, very well: edit text.**<br><br>The editor is build with the idea of rolling in many features of modern editors while aiming for simplicity and performance above all else.<br><br>fred also sports some surprises that separate it from other editors…"
|
||||
content_class: "text-white"
|
||||
img: "/images/demos/fred-2.png"
|
||||
- active: true
|
||||
id: "whitebox"
|
||||
title: "WhiteBox Systems"
|
||||
title_class: "text-white"
|
||||
content: "WhiteBox compiles, runs & debugs the code you’re working on to give instant feedback side-by-side with your favourite editor.<br><br>Whitebox is the #1 recurring demo every year at Handmade Seattle."
|
||||
content_class: "text-white"
|
||||
img: ""
|
||||
- active: true
|
||||
id: "fpilot"
|
||||
title: "Exclusive Podcast"
|
||||
title_class: "text-white"
|
||||
img: "/images/modals/file-pilot.png"
|
||||
content: "Formerly known as Disk Voyager, File Pilot™ was the most popular conference demo from last year. Why? What makes this file explorer so special?<br><br>Tune-in to learn about this strange phenomenon from the creator himself, with deep dives into how it was all programmed from scratch."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "andrew"
|
||||
title: "In Defense of the Free Software Movement"
|
||||
img: ""
|
||||
title_class: "text-white"
|
||||
content: "**A candid and thorough examination of the societal forces that shape software**<br>Does open source software make your eyes roll so hard you can see your prefrontal cortex? Do you pray to Richard Stallman every night before you go to bed? Either way, prepare to have your assumptions checked, your values questioned, and the Handmade [Manifesto](https://handmade.network/manifesto) itself scrutinized.<br><br>You can come with an open mind, or you can hate-watch this talk. Either way, pay attention, because it’s what everyone’s going to be talking about in the halls and at lunch."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "wyrl"
|
||||
title: "Democratizing Software"
|
||||
img: "/images/modals/simplex.png"
|
||||
img_class: "bg-white rounded-lg"
|
||||
title_class: "text-white"
|
||||
content: "**Building ladders for the curious.**<br><br>Software is intimidating by virtue of its scale and scope.We build mountains upon mountains, and claim they are easy to climb because we’re the architects.<br><br>How did we get here? _How can we fix this?_<br><br>Join me for a tour through the software crisis and learn how to enable individuals, from all walks of life, to partake in the joy of crafting software."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "kagi"
|
||||
title: "High quality search results with no ads or tracking."
|
||||
img: "/images/modals/kagi_pbc.png"
|
||||
title_class: "text-white"
|
||||
content: "[Kagi](https://kagi.com/welcome) is the only premium search engine where YOU are the customer. No ads. No tracking. No compromise. Just pure, powerful search.<br><br>Lauded by many as the way search used to be in the 'good old days.' There's no ads, tracking, or algorithm tracking your habits—we give you classic results and your own tools to filter, boost and ersonalize the results yourself.<br><br>Humanize the web."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "kcse"
|
||||
title: "Science & Engineering Consulting Firm"
|
||||
img: "/images/modals/kcse_modeling.jpg"
|
||||
title_class: "text-white"
|
||||
content: "Karagozian & Case, Inc. (K&C) is an internationally recognized science and engineering consulting firm founded in 1945. K&C supports a broad range of clients across different sections of defense, transportation, manufacture, aerospace, energy, and construction industries, for technically challenging and complex problems."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "vaults"
|
||||
title: "No Vaults"
|
||||
img: ""
|
||||
title_class: "text-white text-center"
|
||||
content: "**Download conference recordings straight from us.** We polish and [publish](/media) all presentations under a Creative Commons [license](https://creativecommons.org/licenses/by-nc-nd/4.0/deed.en)."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "live"
|
||||
title: "Live Streaming"
|
||||
img: "/images/nystrom.webp"
|
||||
title_class: "text-white"
|
||||
content: "**High-quality experience for the online track**<br>Our technical producer, Phil Homan, works alongside Seattle Center A/V staff to stream all our presentations live.<br><br>**Stream is free, chat server is not**<br>Handmade Seattle streams for free at [handmadecities.com](https://handmadecities.com/) and our [Twitch](https://twitch.tv/abnercoimbre) and [YouTube](https://youtube.com/@handmadecities) channels. VODs are made available immediately.<br><br>All the actual chatter, however, occurs on the private chat server—you’ll want a ticket for that!"
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "chat"
|
||||
title: "Private Chat Server"
|
||||
img: "/images/modals/hmc_revolt_screenshot.png"
|
||||
title_class: "text-white"
|
||||
content: "**Self-hosted to protect your data**<br>Attendees communicate at [chat.handmadecities.com](https://chat.handmadecities.com/) thanks to the open-source [Revolt](https://revolt.chat/) platform.<br><br>**Online attendees are first-class citizens**<br>During Q&A all audience questions are sourced from chat: whether you’re at the venue or watching the live-stream from a Japanese temple.<br><br>**Chat moderation done right**<br>During the event we have a moderator to keep the [environment](https://handmade.network/communication-guidelines) fun yet professional."
|
||||
content_class: "text-white"
|
||||
# Coming Soon Section
|
||||
coming_soon_text: "Agenda Coming Soon"
|
||||
coming_soon_description: "We're assembling an incredible roster. Check back often."
|
||||
|
||||
# Trade Show Information
|
||||
trade_show:
|
||||
enable: true
|
||||
title: "Trade Show & Job Fair"
|
||||
description: "Connect with companies seeking handmade talent. Our trade show features booths from tech companies and studios looking for skilled low-level programmers."
|
||||
dates: "December 6-7, 2025"
|
||||
|
||||
# Call to Action Buttons
|
||||
enable_newsletter: true
|
||||
newsletter_link: "/newsletter"
|
||||
enable_discord: true
|
||||
discord_link: "https://handmadecities.com/discord"
|
||||
enable_cfp: true
|
||||
cfp_link: "/seattle/cfp"
|
||||
cfp_deadline: "August 15, 2025"
|
||||
|
||||
# Previous Events
|
||||
show_previous: true
|
||||
previous_events:
|
||||
- year: "2024"
|
||||
link: "/seattle/2024"
|
||||
- year: "2023"
|
||||
link: "/seattle/2023"
|
||||
- year: "2022"
|
||||
link: "/seattle/2022"
|
||||
|
||||
# Content Display
|
||||
show_description: true
|
||||
---
|
||||
|
||||
Handmade Seattle is the flagship conference for low-level programmers worldwide. Our tech conference brings together experts and enthusiasts committed to understanding how software really works.
|
||||
|
||||
We're offering a fully-hybrid experience - attend in person at the iconic Seattle Center or join remotely from anywhere in the world. All talks will be streamed live and recorded for attendees.
|
||||
|
|
|
|||
|
|
@ -1,256 +1,8 @@
|
|||
---
|
||||
title: "Tickets"
|
||||
meta_title: "Handmade Cities Tickets"
|
||||
description: "Handmade Cities Tickets"
|
||||
draft: false
|
||||
layout: "tickets"
|
||||
|
||||
features:
|
||||
- title: "Conference Tickets"
|
||||
title_class: "text-center text-white mt-2 md:mt-8 lg:mt-8 xl:mt-8 2xl:mt-8"
|
||||
side: "center"
|
||||
content_class: "mt-16 pt-0 pb-0 text-white"
|
||||
image: "/images/hmc/cities-dark-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"
|
||||
description_class: "mt-4 mb-20"
|
||||
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: "Available now"
|
||||
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-500"
|
||||
# price: "249"
|
||||
# button:
|
||||
# title: "Register"
|
||||
# class: "bg-transparent border border-orange-500 rounded-md cursor-pointer hover:bg-orange-500 hover:border-orange-500 hover:text-white focus-within:bg-orange-500 focus-within:border-orange-500 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-bold"
|
||||
# - text: "Aug 9-10th, 2024"
|
||||
# - text: "JFK Presidential Library"
|
||||
# - text: "In-Person Masterclasses"
|
||||
# - text: "Kings Dining After-Party"
|
||||
- name: "Handmade Seattle"
|
||||
title: "Standard"
|
||||
title_class: "text-white"
|
||||
name_class: "seattle-color"
|
||||
price_class: "text-orange-500"
|
||||
price: "249"
|
||||
original_price: "$299"
|
||||
button:
|
||||
title: "Register"
|
||||
button_class: "seattle-bg"
|
||||
class: "bg-transparent border border-orange-500 rounded-md cursor-pointer hover:bg-orange-500 hover:border-orange-500 hover:text-white focus-within:bg-orange-500 focus-within:border-orange-500 focus-within:text-white"
|
||||
url: "https://buy.stripe.com/9AQ8wG0P9a5fg0wfZr"
|
||||
alt_title: "PayPal"
|
||||
alt_paypal_id: "paypal-physical-ticket"
|
||||
alt_class: "text-sm hover:underline mt-4"
|
||||
features_class: "text-white text-center"
|
||||
features:
|
||||
- text: "General Admission"
|
||||
text_class: "font-black"
|
||||
- text: "Nov 20-22nd, 2024"
|
||||
- text: "Seattle Center"
|
||||
- text: "All Online Track Benefits"
|
||||
- text: "New Talks & Demos"
|
||||
- text: "Chat Server Access"
|
||||
- text: "Trade Show"
|
||||
- text: "Job Fair"
|
||||
- name: "Handmade Seattle"
|
||||
title: "Premium"
|
||||
title_class: "text-white text-center"
|
||||
name_class: "seattle-color"
|
||||
price_class: "text-green-500"
|
||||
price: "349"
|
||||
original_price: "$399"
|
||||
features_class: "text-white"
|
||||
button:
|
||||
title: "Register"
|
||||
class: "bg-transparent border border-orange-500 rounded-md cursor-pointer hover:bg-green-500 hover:border-green-500 hover:text-white focus-within:bg-green-500 focus-within:border-green-500 focus-within:text-white"
|
||||
url: "https://buy.stripe.com/dR63cmeFZ1yJ7u0fZx"
|
||||
alt_title: "PayPal"
|
||||
alt_paypal_id: "paypal-physical-ticket-premium"
|
||||
alt_class: "text-sm hover:underline mt-4"
|
||||
features:
|
||||
- text: "If you want to support the conference"
|
||||
text_class: "font-black"
|
||||
- text: "Easy to Gift or Transfer"
|
||||
- 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"
|
||||
start_color: "#fff"
|
||||
start_style: "mask-repeat: repeat-x;mask-position:center;"
|
||||
end_style: "mask-repeat:repeat-x;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: "Available now"
|
||||
subtitle_class: "text-black dark:text-white"
|
||||
section_class: "text-black dark:text-white"
|
||||
options:
|
||||
- name: "Handmade Seattle"
|
||||
title: "Standard"
|
||||
title_class: "text-black dark:text-white"
|
||||
name_class: "seattle-color"
|
||||
ticket_class: "border-black dark:border-white"
|
||||
original_price: ""
|
||||
price_class: "text-orange-500"
|
||||
price: "74"
|
||||
button:
|
||||
title: "Register"
|
||||
class: "bg-transparent border border-orange-500 rounded-md cursor-pointer hover:bg-orange-500 hover:border-orange-500 hover:text-white focus-within:bg-orange-500 focus-within:border-orange-500 focus-within:text-white"
|
||||
url: "https://buy.stripe.com/aEU3cm7dxa5f9C8fZu"
|
||||
alt_title: "PayPal"
|
||||
alt_paypal_id: "paypal-online-ticket"
|
||||
alt_class: "text-sm hover:underline mt-4"
|
||||
features_class: "text-black dark:text-white"
|
||||
features:
|
||||
- text: "General Admission"
|
||||
text_class: "font-black"
|
||||
- text: "New Talks & Demos"
|
||||
- text: "Chat Server Access"
|
||||
- text: "Live Q&A"
|
||||
- text: "Virtual Job Fair"
|
||||
- text: "Access to Speakers"
|
||||
- name: "Handmade Seattle"
|
||||
title: "Premium"
|
||||
title_class: "text-black dark:text-white"
|
||||
name_class: "seattle-color"
|
||||
price_class: "text-green-500"
|
||||
ticket_class: "border-black dark:border-white"
|
||||
price: "99"
|
||||
original_price: ""
|
||||
button:
|
||||
title: "Register"
|
||||
class: "bg-transparent border border-orange-500 rounded-md cursor-pointer hover:bg-green-500 hover:border-green-500 hover:text-white focus-within:bg-green-500 focus-within:border-green-500 focus-within:text-white"
|
||||
url: "https://buy.stripe.com/dR6bISdBVgtD9C8dRs"
|
||||
alt_title: "PayPal"
|
||||
alt_paypal_id: "paypal-online-ticket-premium"
|
||||
alt_class: "text-sm hover:underline mt-4"
|
||||
features_class: "text-black dark:text-white"
|
||||
features:
|
||||
- text: "If you want to support the conference"
|
||||
text_class: "font-black"
|
||||
- text: "Easy to Gift or Transfer"
|
||||
- text: "All Benefits of Standard"
|
||||
# - name: "Boston + Seattle"
|
||||
# title: "Combined Ticket"
|
||||
# title_class: "text-black dark:text-white text-center"
|
||||
# name_class: "meetups-color"
|
||||
# price_class: "text-green-500"
|
||||
# price: "119"
|
||||
# original_price: ""
|
||||
# features_class: "text-black dark:text-white"
|
||||
# button:
|
||||
# title: "Register"
|
||||
# class: "bg-transparent border border-orange-500 rounded-md cursor-pointer hover:bg-green-500 hover:border-green-500 dark:text-white text-black hover:text-white focus-within:bg-green-500 focus-within:border-green-500 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-bold"
|
||||
# - text: "Discounted Tickets"
|
||||
# - text: "Easy to Gift or Transfer Them"
|
||||
# - text: "All Benefits of Standard"
|
||||
|
||||
- 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: "What is a premium ticket?"
|
||||
question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
answer: "Consider this ticket if your employer pays for, or reimburses your ticket, or if you want to support the conference. The benefits are exactly the same as the standard ticket."
|
||||
answer_class: ""
|
||||
- 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: [support@handmadecities.com](mailto:support@handmadecities.com)<br><br>_P.S. Upgrading is only possible if there’s still physical tickets._"
|
||||
- question: "I'm financially disadvantaged."
|
||||
question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
answer: "If you’re a student or financially struggling send us an [email](mailto:support@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: "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 throughout the year."
|
||||
|
||||
- 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"
|
||||
title: "Early Bird Sale"
|
||||
subtitle: "Handmade Conferences (2025)"
|
||||
countdown_date: "2025-04-05T14:00:00-07:00" # Set your actual ticket release date/time
|
||||
enable_notification: false # Set to false if you don't want the email form
|
||||
image: "/images/hmc/ticket.png" # Optional custom image
|
||||
layout: "countdown"
|
||||
---
|
||||
|
|
|
|||
|
|
@ -0,0 +1,104 @@
|
|||
{{ define "main" }}
|
||||
<div class="bg-[url('/images/devon_starfield.png')] bg-cover bg-fixed min-h-screen flex flex-col items-center justify-center p-4">
|
||||
<div class="text-center max-w-3xl mx-auto">
|
||||
<figure class="flex justify-center items-center mb-8">
|
||||
{{ $constructionBanner := "/images/under-construction.svg" }}
|
||||
{{ if .Params.Image }}
|
||||
{{ $constructionBanner = .Params.Image }}
|
||||
{{ end }}
|
||||
{{ partial "image" (dict "Src" $constructionBanner "Alt" "Banner" "Class" "w-1/2 md:w-1/3" ) }}
|
||||
</figure>
|
||||
|
||||
<h1 class="text-3xl md:text-5xl font-bold text-white mb-4">{{ .Title | default "Tickets Coming Soon" }}</h1>
|
||||
<p class="text-lg text-white text-center mb-12">{{ .Params.subtitle | default "We're preparing something special. Stay tuned!" }}</p>
|
||||
|
||||
<!-- Countdown Timer -->
|
||||
<div class="countdown-container bg-black bg-opacity-50 backdrop-blur-sm p-6 rounded-xl shadow-lg mb-12">
|
||||
<h2 class="text-xl md:text-2xl font-semibold text-white mb-6">Discounted Tickets Begin In:</h2>
|
||||
<div class="grid grid-cols-4 gap-4 text-center" id="countdown">
|
||||
<div class="bg-gray-900 bg-opacity-70 p-4 rounded-lg">
|
||||
<div id="days" class="text-2xl md:text-4xl font-bold text-white">00</div>
|
||||
<div class="text-xs md:text-sm text-gray-300 uppercase tracking-wide">Days</div>
|
||||
</div>
|
||||
<div class="bg-gray-900 bg-opacity-70 p-4 rounded-lg">
|
||||
<div id="hours" class="text-2xl md:text-4xl font-bold text-white">00</div>
|
||||
<div class="text-xs md:text-sm text-gray-300 uppercase tracking-wide">Hours</div>
|
||||
</div>
|
||||
<div class="bg-gray-900 bg-opacity-70 p-4 rounded-lg">
|
||||
<div id="minutes" class="text-2xl md:text-4xl font-bold text-white">00</div>
|
||||
<div class="text-xs md:text-sm text-gray-300 uppercase tracking-wide">Minutes</div>
|
||||
</div>
|
||||
<div class="bg-gray-900 bg-opacity-70 p-4 rounded-lg">
|
||||
<div id="seconds" class="text-2xl md:text-4xl font-bold text-white">00</div>
|
||||
<div class="text-xs md:text-sm text-gray-300 uppercase tracking-wide">Seconds</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Notification Form -->
|
||||
{{ if .Params.enable_notification }}
|
||||
<div class="bg-black bg-opacity-50 backdrop-blur-sm p-6 rounded-xl shadow-lg max-w-md mx-auto">
|
||||
<h3 class="text-xl font-semibold text-white mb-4">Get Notified When Tickets Go Live</h3>
|
||||
<form id="notification-form" class="space-y-4">
|
||||
<div>
|
||||
<input type="email" placeholder="Your email address" class="w-full px-4 py-2 rounded-md bg-gray-800 border border-gray-700 text-white focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
<button type="submit" class="w-full px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white font-medium rounded-md transition-colors">
|
||||
Notify Me
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Set the date we're counting down to
|
||||
// Format: Year, Month (0-11), Day, Hour, Minute, Second
|
||||
const countDownDate = new Date("{{ .Params.countdown_date | default "2025-06-01T09:00:00-07:00" }}").getTime();
|
||||
|
||||
// Update the countdown every 1 second
|
||||
const x = setInterval(function() {
|
||||
// Get current date and time
|
||||
const now = new Date().getTime();
|
||||
|
||||
// Find the distance between now and the countdown date
|
||||
const distance = countDownDate - now;
|
||||
|
||||
// Time calculations for days, hours, minutes and seconds
|
||||
const days = Math.floor(distance / (1000 * 60 * 60 * 24));
|
||||
const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
|
||||
const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
|
||||
const seconds = Math.floor((distance % (1000 * 60)) / 1000);
|
||||
|
||||
// Display the result
|
||||
document.getElementById("days").innerHTML = days.toString().padStart(2, '0');
|
||||
document.getElementById("hours").innerHTML = hours.toString().padStart(2, '0');
|
||||
document.getElementById("minutes").innerHTML = minutes.toString().padStart(2, '0');
|
||||
document.getElementById("seconds").innerHTML = seconds.toString().padStart(2, '0');
|
||||
|
||||
// If the countdown is finished, show expired message
|
||||
if (distance < 0) {
|
||||
clearInterval(x);
|
||||
document.getElementById("countdown").innerHTML = "<div class='col-span-4 text-2xl font-bold text-white'>Tickets are now available!</div>";
|
||||
// Optional: redirect to ticket page
|
||||
// window.location.href = "/tickets";
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
// Optional: Handle notification form submission
|
||||
const form = document.getElementById('notification-form');
|
||||
if (form) {
|
||||
form.addEventListener('submit', function(e) {
|
||||
e.preventDefault();
|
||||
// Here you would typically send this to your backend
|
||||
const email = e.target.querySelector('input[type="email"]').value;
|
||||
console.log('Email submitted:', email);
|
||||
// Replace form with success message
|
||||
form.innerHTML = '<div class="text-green-400 text-center py-4">Thanks! We\'ll notify you when tickets are available.</div>';
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
{{ define "main" }}
|
||||
<div class="bg-[url('/images/devon_starfield.png')] bg-cover bg-fixed min-h-screen flex flex-col items-center justify-center p-4">
|
||||
<div class="text-center max-w-4xl mx-auto">
|
||||
<!-- Logo/Banner Image -->
|
||||
<figure class="flex justify-center items-center mb-8">
|
||||
{{ $eventBanner := "/images/hmb/boston-light-mode.svg" }}
|
||||
{{ if .Params.Image }}
|
||||
{{ $eventBanner = .Params.Image }}
|
||||
{{ end }}
|
||||
{{ partial "image" (dict "Src" $eventBanner "Alt" .Title "Class" "w-1/2 md:w-2/5 mb-6" ) }}
|
||||
</figure>
|
||||
|
||||
<!-- Title and Subtitle -->
|
||||
<h1 class="text-3xl md:text-5xl font-bold text-white mb-4 boston-color">{{ .Title | default "Handmade Boston" }}</h1>
|
||||
<p class="text-lg text-white text-center mb-12 max-w-2xl mx-auto">{{ .Params.subtitle | default "A conference for low-level programmers" }}</p>
|
||||
|
||||
<!-- Event Details Card -->
|
||||
<div class="bg-black bg-opacity-50 backdrop-blur-sm p-8 rounded-xl shadow-lg mb-12 max-w-3xl mx-auto">
|
||||
<!-- Date and Location Section -->
|
||||
<div class="grid md:grid-cols-2 gap-8 mb-10">
|
||||
<!-- Dates -->
|
||||
<div class="text-center">
|
||||
<div class="inline-block bg-[#1a1a1a] p-4 rounded-lg mb-4">
|
||||
<i class="fa fa-calendar text-2xl text-[#e63946]"></i>
|
||||
</div>
|
||||
<h2 class="text-xl md:text-2xl font-semibold text-white mb-2">Conference Dates</h2>
|
||||
<p class="text-lg text-gray-200">{{ .Params.event_dates | default "June 10-11, 2025" }}</p>
|
||||
{{ if .Params.registration_date }}
|
||||
<p class="text-sm text-gray-400 mt-2">Registration opens: {{ .Params.registration_date }}</p>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<!-- Location -->
|
||||
<div class="text-center">
|
||||
<div class="inline-block bg-[#1a1a1a] p-4 rounded-lg mb-4">
|
||||
<i class="fa fa-map-marker text-2xl text-[#e63946]"></i>
|
||||
</div>
|
||||
<h2 class="text-xl md:text-2xl font-semibold text-white mb-2">Location</h2>
|
||||
<p class="text-lg text-gray-200">{{ .Params.venue_name | default "MIT Stata Center" }}</p>
|
||||
<p class="text-gray-300">{{ .Params.venue_address | default "32 Vassar St, Cambridge, MA 02139" }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Coming Soon Banner -->
|
||||
<div class="bg-[#1a1a1a] p-6 rounded-lg text-center">
|
||||
<h3 class="text-xl font-semibold text-white mb-2">{{ .Params.coming_soon_text | default "Schedule Coming Soon" }}</h3>
|
||||
<p class="text-gray-300">{{ .Params.coming_soon_description | default "We're finalizing an amazing lineup of speakers and workshops." }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Call to Action Buttons -->
|
||||
<div class="flex flex-wrap justify-center gap-4 mb-12">
|
||||
{{ if .Params.enable_newsletter }}
|
||||
<a href="{{ .Params.newsletter_link | default "#" }}" class="px-6 py-3 bg-[#e63946] hover:bg-[#d62b39] text-white font-medium rounded-md transition-colors">
|
||||
<i class="fa fa-envelope mr-2"></i> Join Our Newsletter
|
||||
</a>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Params.enable_discord }}
|
||||
<a href="{{ .Params.discord_link | default "https://chat.handmadecities.com" }}" class="px-6 py-3 bg-[#5865F2] hover:bg-[#4752c4] text-white font-medium rounded-md transition-colors">
|
||||
<i class="fa-brands fa-discord mr-2"></i> Join Our Discord
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<!-- Event Description -->
|
||||
{{ if .Params.show_description }}
|
||||
<div class="bg-black bg-opacity-50 backdrop-blur-sm p-6 rounded-xl shadow-lg max-w-3xl mx-auto mb-12">
|
||||
<h3 class="text-xl font-semibold text-white mb-4">About the Handmade Conference</h3>
|
||||
<div class="text-gray-200 text-left prose prose-invert max-w-none">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
|
@ -117,7 +117,10 @@
|
|||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<!-- Only show pagination if needed -->
|
||||
{{ if gt (len .Params.testimonials) 3 }}
|
||||
<div class="testimonial-slider-pagination mt-9 flex items-center justify-center text-center"></div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
<!-- testimonials -->
|
||||
<!-- img_grid -->
|
||||
{{ if .img_grid }}
|
||||
{{ partial "components/img_grid.html" . }}
|
||||
{{ partial "components/improved-img-grid.html" .img_grid }}
|
||||
{{ end }}
|
||||
<!-- /img_grid -->
|
||||
<!-- card_grid -->
|
||||
|
|
@ -96,7 +96,7 @@
|
|||
{{ end }}
|
||||
<!-- card_grid -->
|
||||
|
||||
<p class="mb-8 text-lg about-content">
|
||||
<p class="mb-8 -mt-8 text-lg about-content">
|
||||
{{ .content | markdownify }}
|
||||
</p>
|
||||
<ul>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
<div class="company-grid grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-8 my-6">
|
||||
{{ range .imgs }}
|
||||
<a href="{{ .link }}" target="_blank" rel="noopener noreferrer" class="company-item flex items-center justify-center p-4 bg-white dark:bg-gray-800 rounded-lg transition-transform hover:scale-105">
|
||||
<img
|
||||
src="{{ .img }}"
|
||||
alt="{{ .name }}"
|
||||
class="max-h-16 w-auto object-contain"
|
||||
loading="lazy"
|
||||
/>
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
Loading…
Reference in New Issue