The lab now has a blog. Posts are plain Markdown files that live in this site’s repository — one file per post, committed like code, reviewed like code. No CMS, no database, nothing to sync: if it’s in the repo, it’s on the site.
Ordinary Markdown works the way you’d expect — emphasis, links,
inline code, lists, and quotes:
The site grows by data, not by redesign.
Posts can carry live components
Because posts compile through the same pipeline as the rest of the site, a post can import any Svelte component and use it inline. Heavy demos stay behind a lazy container that mounts only when you scroll near it — the one below runs the same three.js engine as the mascots on the homepage, and it costs this page nothing until it enters view.
For static visuals there is a figure container instead — same idea, no JavaScript:
How a post is put together
Embedding a demo is one import and one tag:
<script>
import Demo from '$lib/components/post/Demo.svelte';
</script>
<Demo
label="mascot / expressions"
load={() => import('$lib/demos/mascot-demo/MascotDemo.svelte')}
height={300}
wide
/> Everything has a fixed home in the repo:
| What | Where |
|---|---|
| Posts | src/lib/posts/*.svx |
| Post containers | src/lib/components/post/ |
| Demo implementations | src/lib/demos/ |
Expect notes from both sides of the lab here — what we’re building, and what we’re finding out along the way.