TypeScript

Las páginas pueden ser .ht.ts / .ht.tsx sin ninguna configuración.

definePageModule

Los ayudantes de sitelo/page dan inferencia de tipos completa. En tiempo de compilación, el import se sustituye por un módulo generado para cada ruta cuyos PageParams salen del nombre del archivo: [slug]{ slug: string }, [...path]{ path: string[] }, [...path]?{ path?: string[] }.

import { html, body, h1 } from 'javascript-to-html'
import { definePageModule } from 'sitelo/page'

export default definePageModule({
  generateStaticParams: () => [{ slug: 'hello' }],
  data: ({ params }) => ({ title: params.slug }),
  render: ({ data }) =>
    html(
      body(h1(data.title))
    ),
})

También se exportan: definePage, defineData, defineStaticParams.

Tipos generados

Las declaraciones se escriben en .sitelo/types/ cada vez que arranca el servidor de desarrollo o se ejecuta una compilación. Añade esa carpeta a tu .gitignore.