TypeScript

Les pages peuvent être en .ht.ts / .ht.tsx sans aucune configuration.

definePageModule

Les utilitaires de sitelo/page offrent une inférence de types complète. Au build, l’import est remplacé par un module généré pour chaque route, dont les PageParams proviennent du nom de fichier : [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))
    ),
})

Également exportés : definePage, defineData, defineStaticParams.

Types générés

Les déclarations sont écrites dans .sitelo/types/ à chaque démarrage du serveur de développement ou build. Ajoutez ce dossier à votre .gitignore.