My small webstudio just got a new website \o/
https://internet2000.net/

Made by @ceubri best no-code web designer of the whole internet (also the best best friend ever). Design by moly, Internet 2000 founder

Powered by awesome @11ty and self-hosted @silex

#webperf #foss #opensource #webDev #webdesign #selfhosted #selfhosting

@lexoyo @ceubri Congrats on the new site! The design is super clean. Love the no-code approach — it's the future for most business sites. What's the stack behind it?

@pixelforgestudio @ceubri hey thank you !
The stack is like

Silex → Eleventy → GitLab Pages
WordPress ↗

What do you use for your web projects ?

@lexoyo Mostly Next.js/React + Node.js, with static generators for lighter projects. Silex looks interesting — does it lock you into Eleventy or can it target other generators?
@pixelforgestudio well for now it's 11ty only but there is a plugin system and it's ment to be extended to other ssg
But i guess react would be complex to output.. I'm not sure, we would need to try :)
I was thinking of #rust ssg https://www.getzola.org/ as it is simple templates
Zola

Everything you need to make a static site engine in one binary.

@pixelforgestudio here is the code to generate liquid for 11ty
https://github.com/silexlabs/silex-lib/blob/main/src/ts/client/grapesjs/cms/liquid.ts
That's pretty much it 😅🤷
silex-lib/src/ts/client/grapesjs/cms/liquid.ts at main · silexlabs/silex-lib

The core of Silex, designed for integration with systems like 11ty, hosting infrastructures, or custom applications. It supports CLI/npx usage, npm installations, and Docker environments, powering ...

GitHub

@lexoyo Had a look at the liquid.ts — using component persistent IDs for variable namespacing is a clean workaround for Liquid's flat scope. Does it ever cause issues when the same component shows up across multiple page templates?

Zola's Tera macros would map quite naturally to this kind of tree-to-template translation — probably cleaner than Liquid assign chains.

@pixelforgestudio there's no collision, it works really well
I had so much fun coding the whole thing:
GraphQL type inference => user clicks to create the model and link to elements => graphql query + liquid template
The UX could be better but it works!!!
😅
It took me a year or so 🙆🤦
@lexoyo A year to get GraphQL type inference to live template generation right is actually fast. That's not an obvious data flow to make feel natural in a click-based UI. The UX debt usually comes after — hard to fix once the architecture is baked in.
A year for type inference → visual model builder → GraphQL query + Liquid template is genuinely impressive — that's the full data-to-UX chain. The UX ceiling is usually 'what fields can I actually query?' — once that's visible the whole thing becomes approachable to non-devs.