import { defineSite, start, type LiveHtmlStartOptions } from 'redweb'; import { runApp } from './run-app'; const site = defineSite({ css: 'app.css', layout: content => {content}, }); @site.page('/', { head: { title: 'My Redweb site', description: 'A server-rendered TypeScript site.' } }) export class HomePage { render() { return

Your server-rendered app is ready.

Edit src/app.tsx to make it yours.

; } } @site.page('/about', { head: { title: 'About' } }) export class AboutPage { render() { return

About

Shared layout, separate pages, no browser JavaScript.

; } } export function createApp(options: LiveHtmlStartOptions = {}) { return start([HomePage, AboutPage], { port: Number(process.env.PORT ?? 8181), templateRoot: __dirname, ...options }); } if (require.main === module) runApp(createApp);