Sign in

Christian Grøngaard

@hamburger.cloud
169 followers 108 following 107 posts

Father of two children and countless software bugs Currently working on the text editor used in the very core of the @Sanity.io Content Operating System: github.com/portabletext/editor.

PostsRepliesMedia
Reposted by Christian Grøngaard
Cody @codey.bsky.social · 22/09/2026
I stopped using Safari @sanity.io because of wobbly spinners. Now I can use it again thanks to zoom banter & humans working together, & writing a @github.com PR _by hand_ (NO AI)! It didn't require convincing @jensimmons.bsky.social to add no-wobbles to Baseline 2027! www.sanity.io/engineering/...
0122
Christian Grøngaard @hamburger.cloud · 28/08/2026
Contjener fortjener plads
000
Christian Grøngaard @hamburger.cloud · 02/08/2026
Spent some quality time with my son today
Nintendo 64 with GoldenEye 007 loaded up on the screen
030
Christian Grøngaard @hamburger.cloud · 02/08/2026
Argh! Jeg tog med mig mit Twin Peaks DVD box set på tur i sommerhus, men fik ikke tid til at gense den. (Læste Knausgård i stedet)
110
Christian Grøngaard @hamburger.cloud · 22/07/2026
Today, I helped ship native Portable Text tables in @sanity.io Studio: www.sanity.io/docs/changel... Portable Text always supported nested structures, but making them inline editable was a whole new beast, one we've been chipping at since vendoring Slate in Feb. Gonna talk more about this soon!
sanity.io
Portable Text table editing, smarter content releases, and more reliable Studio and CLI behavior | Sanity Docs
191
Christian Grøngaard @hamburger.cloud · 16/05/2026
Spinning some super furry animals
Super Furry Animals - Radiator spinning vinyl
010
Christian Grøngaard @hamburger.cloud · 15/01/2026
One of the reasons I made my own theme was to dim TS types: github.com/christianhg/...
github.com
GitHub - christianhg/vscode-theme-undefined: A dark, slightly opinionated, but otherwise no-nonsense theme for Visual Studio Code
A dark, slightly opinionated, but otherwise no-nonsense theme for Visual Studio Code - christianhg/vscode-theme-undefined
140
Christian Grøngaard @hamburger.cloud · 01/01/2026
As expected, it was *incredibly* difficult to delete my Facebook account. However, after some UI debugging and browser switching, I finally succeeded, and it looks like 2026 is off to a flying start.
020
Reposted by Christian Grøngaard
henry ✷ @strange.website · 01/01/2026
you’re right! it feels mostly awful to Go Online™, these days. the internet in a sad state, for reason after reason after reason. but there is a way to fix it; to trade the voidful howling for a quiet & joyful song. here’s how to win the war for the soul of the internet, and build the Web We Want.
henry.codes
A Website To End All Websites | Henry From Online
How to win the war for the soul of the internet, and build the Web We Want.
10325125
Reposted by Christian Grøngaard
Sanity @sanity.io · 15/12/2025
You vibe-coded a site. Content lives in markdown. It works. Then your client asks for a login. The Sanity MCP Server lets your agent set up and manage a real content backend in the same conversation you used to build everything else. www.sanity.io/blog/sanity-...
sanity.io
You’ll need a CMS eventually. Let your agent set it up. | Sanity
With the Sanity MCP server, your AI agent can now create schemas, content, and editorial interfaces from prompts.
073
Christian Grøngaard @hamburger.cloud · 20/10/2025
Replaced the boring buttons with some type controls! (🤫 This is actually a really good showcase for input rules: github.com/portabletext...)
000
Christian Grøngaard @hamburger.cloud · 17/10/2025
Couldn't sleep so I built Game of Life in @sanity.io's Portable Text Editor 👉 portable-text-of-life.vercel.app 🧑‍💻 github.com/portabletext...
2195
Christian Grøngaard @hamburger.cloud · 04/08/2025
Now that's what I call vacation
GitHub contribution chart with three consecutive blank weeks
150
Christian Grøngaard @hamburger.cloud · 11/07/2025
OK this quiz is just *flips table*
010
Christian Grøngaard @hamburger.cloud · 25/05/2025
The cake was not a lie!
030
Reposted by Christian Grøngaard
Sanity @sanity.io · 08/05/2025
The age of Headless CMS is over. Say hello to the Sanity App SDK, Functions, AI Agents, and more—all part of The Content Operating System. www.sanity.io/spring-relea...
sanity.io
Spring Release | Sanity
Build, automate, and run every content workflow with native apps, schema-aware AI, and serverless functions—all in Sanity.
2193
Christian Grøngaard @hamburger.cloud · 28/04/2025
Here you go, Jeppe: docs.angularjs.org/guide/scope
docs.angularjs.org
AngularJS
110
Christian Grøngaard @hamburger.cloud · 27/04/2025
error TS6133: 'someVariable' is declared but its value is never read. That's terrible. Better fail the whole build immediately.
020
Christian Grøngaard @hamburger.cloud · 09/04/2025
Hey, it worked! This is going to become expensive...
010
Christian Grøngaard @hamburger.cloud · 30/03/2025
Partial solar eclipse, March 29, as seen from Denmark (through the right glasses)
The sun, visible through dark clouds, partially eclipsed by the moon
030
Christian Grøngaard @hamburger.cloud · 16/03/2025
I Love Features!
000
Christian Grøngaard @hamburger.cloud · 16/03/2025
Can I slide the thingy to commit code or how does it work?
200
Christian Grøngaard @hamburger.cloud · 16/03/2025
Found my Wolfenstein 3D floppy
Blue floppy disk containing Wolfenstein 3D Episode One: Escape from Wolfenstein
140
Christian Grøngaard @hamburger.cloud · 15/03/2025
Maybe there's something I'm not seeing here, but since the type resolves to "string" I'd just use that instead. At least "string" won't provide a false sense of type safety.
100
Christian Grøngaard @hamburger.cloud · 15/03/2025
I wouldn't, unless it was last resort, use the type "string" either if any of the values had special meaning. Which my whole point.
100
Christian Grøngaard @hamburger.cloud · 15/03/2025
Maybe a 🌶️ take, but I generally don't like this trick. If one of your default/known values changes - e.g., "alert" is renamed to "warning" - your call sites won't break, and subtle, hard-to-discover bugs can be introduced. Any string is allowed, remember?
230
Christian Grøngaard @hamburger.cloud · 14/03/2025
It's so good. And... psst... guess what's driving the behaviours in and around the code block: www.portabletext.org/concepts/beh...
portabletext.org
Behaviors
Description of behaviors
020
Christian Grøngaard @hamburger.cloud · 09/03/2025
What's the end goal?
100
Christian Grøngaard @hamburger.cloud · 08/03/2025
Ah, stupid me. Of course there are third-party solutions 😇 Let's see if scrobbling is still fun or if it's time to leave one of my oldest internet accounts.
000
Christian Grøngaard @hamburger.cloud · 08/03/2025
Looks like last.fm still doesn't offer a way to export your data. So... I guess I might as well revive my 20-year-old account for the second(?) time! Do you have one? www.last.fm/user/christi... (I want to listen to more music again, and maybe this can be a weird sort of motivation.)
last.fm
christianhg’s Music Profile | Last.fm
Listen to music from christianhg’s library (85,044 tracks played). christianhg’s top artists: Radiohead, The Beatles, Tom Waits. Get your own music profile at Last.fm, the world’s largest social music...
320
Christian Grøngaard @hamburger.cloud · 26/02/2025
But does it have :potato-intensifies:
010
Christian Grøngaard @hamburger.cloud · 25/02/2025
It's a common term 🤔 en.m.wikipedia.org/wiki/Blue%E2...
110
Christian Grøngaard @hamburger.cloud · 23/02/2025
My MacBook from 2007. Still boots. And I still hate computers.
MacBook A1181 with various stickers, including "I Hate Computers", on a couch
020
Christian Grøngaard @hamburger.cloud · 14/02/2025
Here's a link to the Behavior that turns `---`/`___`/`***` to a horizontal rule object: github.com/portabletext...) Any feedback welcome!
github.com
000
Christian Grøngaard @hamburger.cloud · 14/02/2025
PTE still needs to know what object you want to use for the <hr />: github.com/portabletext... But at least you don't have to reach for any UI tool to insert it. Maybe this would help? We are hoping to bring the Behavior API, in some form or another, to Studio very soon.
github.com
editor/apps/playground/src/editor.tsx at main · portabletext/editor
The Standalone Portable Text Editor. Contribute to portabletext/editor development by creating an account on GitHub.
100
Christian Grøngaard @hamburger.cloud · 14/02/2025
Hi there! We are working on a new API (currently beta) for PTE that allows you to easier customise the editor behaviours: www.portabletext.org/concepts/beh... Behavious can be bundled in plugins and the most fully-fledged plugin we've made so far is a Markdown plugin: playground.portabletext.org
110
Christian Grøngaard @hamburger.cloud · 08/02/2025
It really is a special feeling sitting in your car, listening to a podcast, as you've done so many times before, but this time YOU'RE THE GUEST! Thank you, @simeongriggs.dev, for inviting me on to talk about Portable Text, text editors, Behaviours, Gherkin and state machines and more.
My car dashboard showing Code && Content episode "The final boss of front-end: block editors"
092
Christian Grøngaard @hamburger.cloud · 06/02/2025
Grøngaard && Griggs
110
Christian Grøngaard @hamburger.cloud · 04/02/2025
Very soon, you'll be able to hear @simeongriggs.dev and me talk about the Portable Text Editor—the challenges behind the scenes, as well as the cool new APIs we're cooking up.
070
Christian Grøngaard @hamburger.cloud · 03/02/2025
Try it out on playground.portabletext.org Or have a peek at the plugin source code here: github.com/portabletext...
playground.portabletext.org
Portable Text Playground
020
Christian Grøngaard @hamburger.cloud · 03/02/2025
The Behavior API for @sanity.io's Portable Text Editor will allow you to configure the editor in ways that where previously not possible. Behaviors can be bundled in Plugins to easily turn them on and off. Here's an example of a simple <OneLinePlugin /> that restricts the editor to one block.
2113
Christian Grøngaard @hamburger.cloud · 23/01/2025
Why is the first cup of coffee always an emergency?
010
Christian Grøngaard @hamburger.cloud · 14/01/2025
Trying to use Copilot for a simple, boring task
Me asking GitHub Copilot how I can close it again (it was genuinely difficult to figure out)
020
Christian Grøngaard @hamburger.cloud · 13/01/2025
Not gonna lie, I thought this video was going to recommend @xstate/store over the two
120
Christian Grøngaard @hamburger.cloud · 11/01/2025
Huh? Mine is web dev and mushrooms. Can't complain.
040
Christian Grøngaard @hamburger.cloud · 09/01/2025
Thank you! I would love to hear how it goes if you try it out! The Portable Text Editor was born inside Sanity Studio but has since been moved out and is now treated as a standalone editor for any application. Studio uses @sanity.io's Content Lake, but you can store Portable Text any way you want.
120
Christian Grøngaard @hamburger.cloud · 09/01/2025
So cool that we can finally ship this as the first step towards a more pleasant and modern writing experience in the @sanity.io Studio. For the interested, here's a link to the source code of the markdown behaviours found in the Portable Text Editor repository: github.com/portabletext...
github.com
192
Christian Grøngaard @hamburger.cloud · 05/01/2025
Me releasing I've spent the past 10 years writing JavaScript full-time
Small 7000(?) year old sculpture of a person, sitting with an open mouth and hands on their cheeks
130
Christian Grøngaard @hamburger.cloud · 02/01/2025
Opened up my work laptop after almost two weeks off and this is the first thing that meets me. I guess I left in the middle of a debug session?
Chromium Dev Tools "Paused in debugger" debug menu
040
Christian Grøngaard @hamburger.cloud · 01/01/2025
I keep toggling bold on and off again
010