diff --git a/public/hms/banner_tall.jpg b/public/hms/banner_tall.jpg new file mode 100644 index 0000000..ef0ea30 Binary files /dev/null and b/public/hms/banner_tall.jpg differ diff --git a/public/hms/handmadecon.png b/public/hms/handmadecon.png new file mode 100644 index 0000000..d39989c Binary files /dev/null and b/public/hms/handmadecon.png differ diff --git a/public/style.css b/public/style.css index 64db5c0..d7f6ddc 100644 --- a/public/style.css +++ b/public/style.css @@ -7497,6 +7497,24 @@ article code { .cg5 { column-gap: 4rem; } +.g0 { + gap: 0; } + +.g1 { + gap: 0.25rem; } + +.g2 { + gap: 0.5rem; } + +.g3 { + gap: 1rem; } + +.g4 { + gap: 2rem; } + +.g5 { + gap: 4rem; } + @media screen and (min-width: 30em) { .bi-avoid-ns { break-inside: avoid; } diff --git a/src/hmnurl/hmnurl_test.go b/src/hmnurl/hmnurl_test.go index eedc40a..38a35ba 100644 --- a/src/hmnurl/hmnurl_test.go +++ b/src/hmnurl/hmnurl_test.go @@ -368,6 +368,10 @@ func TestDiscordShowcaseBacklog(t *testing.T) { AssertRegexMatch(t, BuildDiscordShowcaseBacklog(), RegexDiscordShowcaseBacklog, nil) } +func TestConferences(t *testing.T) { + AssertRegexMatch(t, BuildConferences(), RegexConferences, nil) +} + func AssertSubdomain(t *testing.T, fullUrl string, expectedSubdomain string) { t.Helper() diff --git a/src/rawdata/scss/_core.scss b/src/rawdata/scss/_core.scss index 53015ef..e5e9a79 100644 --- a/src/rawdata/scss/_core.scss +++ b/src/rawdata/scss/_core.scss @@ -349,6 +349,13 @@ article code { .cg4 { column-gap: $spacing-large; } .cg5 { column-gap: $spacing-extra-large; } +.g0 { gap: $spacing-none; } +.g1 { gap: $spacing-extra-small; } +.g2 { gap: $spacing-small; } +.g3 { gap: $spacing-medium; } +.g4 { gap: $spacing-large; } +.g5 { gap: $spacing-extra-large; } + @media #{$breakpoint-not-small} { .bi-avoid-ns { break-inside: avoid; } .cc-auto-ns { column-count: auto; } diff --git a/src/templates/src/conferences.html b/src/templates/src/conferences.html index 9e16e0f..1cd6299 100644 --- a/src/templates/src/conferences.html +++ b/src/templates/src/conferences.html @@ -1,18 +1,25 @@ {{ template "base.html" . }} {{ define "content" }} -
-
+{{ $bannerclass := "overflow-hidden br2 mt2 h4 h5-ns cover bg-center" }} +
+ -
+
+

In 2015 and 2016, Casey Muratori ran HandmadeCon, inviting many amazing programmers to come talk about what they do. You probably already know that Casey is a fantastic interviewer, and the talks are loaded with amazing insights.

+

The annotated talks can all be viewed via the Handmade Hero episode guide. Alternatively, the talks can be found in this playlist on the Molly Rocket YouTube channel.

+
+ +

Handmade Seattle

-

The spirtual successor of Handmade Con. An Independing Systems Programming Conference ran by Abner Coimbre

+
+

The spiritual successor to HandmadeCon, Handmade Seattle was started in 2019 by Abner Coimbre, the founder of Handmade Network. From the start, Handmade Seattle has been an independent conference, free from corporate sponsorships. The conferences are hybrid online/offline, so you can participate no matter where in the world you live.

+

Tickets can be purchased at the conference website.

+

Talks and demos can be viewed on the conference's media site.

{{ end }} diff --git a/src/templates/src/include/header.html b/src/templates/src/include/header.html index e440f0d..75183a7 100644 --- a/src/templates/src/include/header.html +++ b/src/templates/src/include/header.html @@ -72,10 +72,10 @@