Handmade Cities 2026
parent
205b8bab2f
commit
33025fb40c
|
|
@ -121,3 +121,53 @@ blockquote p:first-of-type {
|
|||
content: "" !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Revolt chat server
|
||||
.revolt-form-section {
|
||||
max-width: 600px;
|
||||
margin: 2rem auto;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
|
||||
.revolt-form .form-group {
|
||||
margin-bottom: 1.25rem;
|
||||
}
|
||||
|
||||
.revolt-form label {
|
||||
display: block;
|
||||
margin-bottom: 0.5rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.revolt-form .required {
|
||||
color: #e74c3c;
|
||||
}
|
||||
|
||||
.revolt-form input,
|
||||
.revolt-form textarea {
|
||||
width: 100%;
|
||||
padding: 0.75rem;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.revolt-form input:focus,
|
||||
.revolt-form textarea:focus {
|
||||
outline: none;
|
||||
border-color: #3498db;
|
||||
}
|
||||
|
||||
.revolt-form button {
|
||||
background: #3498db;
|
||||
color: white;
|
||||
padding: 0.75rem 1.5rem;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
font-size: 1rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.revolt-form button:hover {
|
||||
background: #2980b9;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,12 +5,6 @@
|
|||
name = "Conferences"
|
||||
weight = 1
|
||||
|
||||
[[main]]
|
||||
parent = "Conferences"
|
||||
name = "Calendar"
|
||||
url = "/calendar"
|
||||
weight = 3
|
||||
|
||||
[[main]]
|
||||
parent = "Conferences"
|
||||
name = "Seattle"
|
||||
|
|
@ -35,30 +29,30 @@ weight = 3
|
|||
|
||||
[[main]]
|
||||
name = "Explore"
|
||||
weight = 4
|
||||
weight = 3
|
||||
|
||||
[[main]]
|
||||
parent = "Explore"
|
||||
name = "Discord"
|
||||
url = "/discord"
|
||||
weight = 3
|
||||
name = "Revolt"
|
||||
url = "/revolt"
|
||||
weight = 1
|
||||
|
||||
[[main]]
|
||||
parent = "Explore"
|
||||
name = "Meetups"
|
||||
url = "/meetups"
|
||||
weight = 1
|
||||
weight = 2
|
||||
|
||||
[[main]]
|
||||
parent = "Explore"
|
||||
name = "Cowork"
|
||||
url = "/cowork"
|
||||
weight = 2
|
||||
weight = 3
|
||||
|
||||
[[main]]
|
||||
name = "About"
|
||||
url = "/about"
|
||||
weight = 5
|
||||
weight = 4
|
||||
|
||||
|
||||
# footer menu
|
||||
|
|
@ -70,7 +64,7 @@ weight = 1
|
|||
[[footer]]
|
||||
name = "Members"
|
||||
url = "https://donorbox.org/handmadecities"
|
||||
weight = 5
|
||||
weight = 6
|
||||
|
||||
[[footer]]
|
||||
name = "Meetups"
|
||||
|
|
|
|||
|
|
@ -38,8 +38,8 @@ preloader = "" # use jpg, png, svg or gif format.
|
|||
# Navigation button
|
||||
[navigation_button]
|
||||
enable = true
|
||||
label = "tickets"
|
||||
link = "tickets"
|
||||
label = "Quickstart"
|
||||
link = "docs/quickstart"
|
||||
|
||||
# search
|
||||
# search module: https://github.com/gethugothemes/hugo-modules/tree/master/search
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
# Banner
|
||||
banner:
|
||||
title: "<span class='boston-color'>Boston</span> in the Summer.<br>
|
||||
<span class='seattle-color'>Seattle</span> in the fall.<br>
|
||||
<span class='meetups-color'>Meetups</span> all year round."
|
||||
content: "We are the largest indie conferences for low-level programmers. This is your portal to meet with folks into graphics, game engines, kernels, compilers, and more!"
|
||||
title: "<span class='boston-color'>Come</span> for programming,<br>
|
||||
<span class='seattle-color'>stay</span> for the friends.<br>
|
||||
<span class='meetups-color'>Meetups</span> all year round!"
|
||||
content: "We are the largest offline events for systems programmers: 100% indie. This is our portal to meet engineers super into game engines, compilers, terminals, kernels and more:"
|
||||
image: "/images/hmc_spread.png"
|
||||
hide_banner_img: true
|
||||
live_banner:
|
||||
|
|
@ -54,9 +54,9 @@ banner:
|
|||
alt_text_right: "right"
|
||||
button:
|
||||
enable: true
|
||||
label: "Tickets"
|
||||
link: "/tickets"
|
||||
icon: "fa fa-ticket pl-2"
|
||||
label: "Quick Guide"
|
||||
link: "/docs"
|
||||
icon: "fa fa-book pl-2"
|
||||
class: "btn text-white seattle-bg"
|
||||
button2:
|
||||
enable: false
|
||||
|
|
@ -99,7 +99,7 @@ features:
|
|||
image: ""
|
||||
section_class: "pb-24"
|
||||
side: "center"
|
||||
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: "<span class='block mx-auto mt-24 text-black dark:text-white w-1/2'>Sample of companies hunting for Handmade talent. Ready to [join](/docs/support/employment/) the list?</span>"
|
||||
content_class: "mt-12"
|
||||
img_grid:
|
||||
imgs:
|
||||
|
|
@ -130,7 +130,7 @@ features:
|
|||
button:
|
||||
enable: false
|
||||
|
||||
- title: "Hundreds in person,<br> Thousands online"
|
||||
- title: "Meet in person,<br> not online"
|
||||
title_class: "text-white"
|
||||
transition:
|
||||
start: "/images/transition4.svg"
|
||||
|
|
@ -150,12 +150,12 @@ features:
|
|||
image: "/images/nystrom.webp"
|
||||
image_link: "https://vimeo.com/780000746"
|
||||
image_class: "rounded-md shadow-lg"
|
||||
content: "Every year hundreds of systems programmers convene physically while thousands more watch from the comfort of their couch."
|
||||
content: "Every month hundreds of caring programmers convene around the world to discuss the need for software quality."
|
||||
content_class: "p-4 px-6 rounded-md bg-[rgba(0,0,0,0.7)]"
|
||||
section_class: "text-white"
|
||||
button:
|
||||
enable: true
|
||||
label: "Register"
|
||||
link: "/tickets"
|
||||
label: "Attend Our Events"
|
||||
link: "/meetups"
|
||||
button_class: "bg-white text-black"
|
||||
---
|
||||
|
|
|
|||
|
|
@ -24,17 +24,17 @@ features:
|
|||
color: "#A456EA"
|
||||
content_class: "text-white"
|
||||
- title: "Self-host wherever possible"
|
||||
content: "Essential services for our conferences and meetups are processed in-house. For example, our servers personally generate your conference ticket—removing spying middlemen like Ticketmaster."
|
||||
content: "Our services live in-house: we operate our own chat server and newsletter system. For payments, Stripe/PayPal ping our servers to process any orders ourselves."
|
||||
color: "#6B8EE8"
|
||||
content_class: "text-white"
|
||||
- title: "Direct funding approach"
|
||||
content: "We grow through obvious means, funded primarily through ticket sales, followed by independent donations and fixed-rate booth rentals: straightforward, mom-and-pop transactions."
|
||||
content: "We grow through obvious means, funded through users buying our own Handmade software. No investors."
|
||||
color: "#60E3C4"
|
||||
content_class: "text-white"
|
||||
button:
|
||||
enable: false
|
||||
label: "Founder's Vision"
|
||||
link: "/founders-vision"
|
||||
enable: true
|
||||
label: "Official Memos"
|
||||
link: "/memos"
|
||||
icon: "fa fa-ticket pl-2"
|
||||
class: "btn text-white meetups-bg"
|
||||
|
||||
|
|
@ -53,6 +53,6 @@ features:
|
|||
start_dark_color: "black"
|
||||
bg_color: "#060610"
|
||||
content_class: "mt-4"
|
||||
content: "[Abner](https://abner.page) is founder of Handmade Cities and the sole organizer for our conferences.<br><br>Born and raised in Puerto Rico, he was mentored by Kennedy Space Center on how they make software. After winning NASA’s Intern of the Year, Abner penned an essay on their programming philosophy: featured in the [news](https://observer.com/2017/07/a-look-into-nasa-coding-philosophy-kennedy-space-center-programming/). He was subsequently promoted to launch control engineer.<br><br>Abner started the [Handmade Network](https://handmade.network/), an online community learning to make quality software. He went on to work under Jonathan Blow followed by Cyan Worlds to ship the Myst Remake.<br><br>Now in his early thirties, Abner's concern for declining software standards—both ethical and technical—pushed him to become a community organizer. (He still loves [programming](https://terminal.click) though.)"
|
||||
content: "[Abner](https://abner.page) is founder of Handmade Cities and full-time [indie dev](https://terminal.click).<br><br>Born and raised in Puerto Rico, he was mentored by Kennedy Space Center on how they make software. After winning NASA’s Intern of the Year, Abner penned an essay on their programming philosophy: featured in the [news](https://observer.com/2017/07/a-look-into-nasa-coding-philosophy-kennedy-space-center-programming/). He was subsequently promoted to launch control engineer.<br><br>Abner started the [Handmade Network](https://handmade.network/), an online community learning to make quality software. He went on to work under Jonathan Blow followed by Cyan Worlds to ship the Myst Remake.<br><br>Now in his early thirties, Abner's concern for declining software standards—both ethical and technical—pushed him to become a community organizer."
|
||||
|
||||
---
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: "Official Memos"
|
||||
meta_title: "Official Memos"
|
||||
layout: "board"
|
||||
description: "Memos from our founder"
|
||||
draft: false
|
||||
---
|
||||
Handmade Cities publishes memoranda written by [our founder](/about), usually addressed to prominent community members. The public nature of these documents lets you:
|
||||
1. Keep tabs on how we govern
|
||||
2. Call out faulty reasoning or inconsistencies (but don't *"well actually"* us)
|
||||
3. Increase chances for participation e.g. because you saw a new initiative
|
||||
|
||||
Memos are published once a month as PDF documents below.
|
||||
|
||||
**MEMORANDA (JANUARY 2026)**
|
||||
- [HMC Memo 001 - Wiki Ownership](/memos/HMC-Memo-001-Wiki-Ownership.pdf)
|
||||
- [HMC Memo 002 - UXUI](/memos/HMC-Memo-002-UXUI.pdf)
|
||||
|
||||
Date of publication varies.
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: "Handmade Cities Chat"
|
||||
layout: "revolt"
|
||||
---
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: "Handmade Seattle Lite"
|
||||
title: "Handmade Seattle 2025"
|
||||
subtitle: "The West Coast's mini conference for systems programmers."
|
||||
image: "/images/hms/seattle-dark-mode.svg"
|
||||
layout: "event"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
{{ define "main" }}
|
||||
<section class="revolt-form-section">
|
||||
<div class="container">
|
||||
<h1>{{ .Title }}</h1>
|
||||
<img src="/images/hmc/revolt-promotion.png" style="border-radius: 10px;">
|
||||
<p>We run our own server at <strong><a href="https://revolt.handmadecities.com">revolt.handmadecities.com</a></strong>. Real humans only.</p>
|
||||
|
||||
<form action="https://register.handmadecities.com" method="POST" class="revolt-form">
|
||||
<div class="form-group">
|
||||
<label for="name">Name <span class="required">*</span></label>
|
||||
<input type="text" id="name" name="name" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="email">Email <span class="required">*</span></label>
|
||||
<input type="email" id="email" name="email" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="website">Personal Website</label>
|
||||
<input type="url" id="website" name="website" placeholder="https://example.com">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="reason">Why are you interested in joining?</label>
|
||||
<textarea id="reason" name="reason" rows="4"></textarea>
|
||||
</div>
|
||||
|
||||
<button type="submit">Submit Application</button>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -65,6 +65,56 @@
|
|||
{{ $stylesLazy = $stylesLazy | resources.ExecuteAsTemplate "css/style-lazy.css" . }}
|
||||
{{ end }}
|
||||
|
||||
// Revolt chat server
|
||||
.revolt-form-section {
|
||||
max-width: 600px;
|
||||
margin: 2rem auto;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
|
||||
.revolt-form .form-group {
|
||||
margin-bottom: 1.25rem;
|
||||
}
|
||||
|
||||
.revolt-form label {
|
||||
display: block;
|
||||
margin-bottom: 0.5rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.revolt-form .required {
|
||||
color: #e74c3c;
|
||||
}
|
||||
|
||||
.revolt-form input,
|
||||
.revolt-form textarea {
|
||||
width: 100%;
|
||||
padding: 0.75rem;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.revolt-form input:focus,
|
||||
.revolt-form textarea:focus {
|
||||
outline: none;
|
||||
border-color: #3498db;
|
||||
}
|
||||
|
||||
.revolt-form button {
|
||||
background: #3498db;
|
||||
color: white;
|
||||
padding: 0.75rem 1.5rem;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
font-size: 1rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.revolt-form button:hover {
|
||||
background: #2980b9;
|
||||
}
|
||||
|
||||
{{/* styles */}}
|
||||
<link
|
||||
href="{{ $styles.RelPermalink }}"
|
||||
|
|
|
|||
Loading…
Reference in New Issue