diff --git a/assets/scss/custom.scss b/assets/scss/custom.scss index e3d7b1e..bad35f7 100644 --- a/assets/scss/custom.scss +++ b/assets/scss/custom.scss @@ -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; +} diff --git a/config/_default/menus.en.toml b/config/_default/menus.en.toml index d200264..d7f853c 100644 --- a/config/_default/menus.en.toml +++ b/config/_default/menus.en.toml @@ -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" diff --git a/config/_default/params.toml b/config/_default/params.toml index 0d69a6f..eb67a2c 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -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 diff --git a/content/english/_index.md b/content/english/_index.md index ff46ae0..778cfd2 100644 --- a/content/english/_index.md +++ b/content/english/_index.md @@ -1,10 +1,10 @@ --- # Banner banner: - title: "Boston in the Summer.
- Seattle in the fall.
- Meetups 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: "Come for programming,
+ stay for the friends.
+ Meetups 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: "Companies hunting for Handmade talent. They've attended our conference, but don't shape our agenda." + content: "Sample of companies hunting for Handmade talent. Ready to [join](/docs/support/employment/) the list?" content_class: "mt-12" img_grid: imgs: @@ -130,7 +130,7 @@ features: button: enable: false - - title: "Hundreds in person,
Thousands online" + - title: "Meet in person,
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" --- diff --git a/content/english/about/index.md b/content/english/about/index.md index 8c03e1e..08223a8 100644 --- a/content/english/about/index.md +++ b/content/english/about/index.md @@ -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.

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.

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.

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).

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.

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.

Now in his early thirties, Abner's concern for declining software standards—both ethical and technical—pushed him to become a community organizer." --- diff --git a/content/english/memos/index.md b/content/english/memos/index.md new file mode 100644 index 0000000..032637e --- /dev/null +++ b/content/english/memos/index.md @@ -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. diff --git a/content/english/revolt.md b/content/english/revolt.md new file mode 100644 index 0000000..0a3638d --- /dev/null +++ b/content/english/revolt.md @@ -0,0 +1,4 @@ +--- +title: "Handmade Cities Chat" +layout: "revolt" +--- diff --git a/content/english/seattle/index.md b/content/english/seattle/index.md index 246c5e5..686024d 100644 --- a/content/english/seattle/index.md +++ b/content/english/seattle/index.md @@ -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" diff --git a/layouts/_default/revolt.html b/layouts/_default/revolt.html new file mode 100644 index 0000000..bbf75e3 --- /dev/null +++ b/layouts/_default/revolt.html @@ -0,0 +1,33 @@ +{{ define "main" }} +
+
+

{{ .Title }}

+ +

We run our own server at revolt.handmadecities.com. Real humans only.

+ +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+
+
+{{ end }} diff --git a/static/memos/HMC-Memo-001-Wiki-Ownership.pdf b/static/memos/HMC-Memo-001-Wiki-Ownership.pdf new file mode 100644 index 0000000..4fea84b Binary files /dev/null and b/static/memos/HMC-Memo-001-Wiki-Ownership.pdf differ diff --git a/static/memos/HMC-Memo-002-UXUI.pdf b/static/memos/HMC-Memo-002-UXUI.pdf new file mode 100644 index 0000000..4ce7fff Binary files /dev/null and b/static/memos/HMC-Memo-002-UXUI.pdf differ diff --git a/themes/hugoplate/layouts/partials/essentials/style.html b/themes/hugoplate/layouts/partials/essentials/style.html index 3b82893..9490de3 100644 --- a/themes/hugoplate/layouts/partials/essentials/style.html +++ b/themes/hugoplate/layouts/partials/essentials/style.html @@ -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 */}}