Skip to content

Frequently asked questions

Does any JavaScript reach the browser?

No. TypeScript and JSX are build-time templating only: components run once during the build and produce HTML. Nothing is hydrated, and the only files served are the ones the build wrote.

Why is the stylesheet inside every page?

A linked stylesheet costs a second request before the browser can paint. Inlining it removes that round trip, at the cost of re-downloading the CSS on every page. That is the right trade while the CSS is a few kilobytes; it stops being right as a site grows, and it is one configuration flag either way.

How are pages and URLs decided?

By filename. A file in the pages directory becomes one HTML file, an index file drops from the path, and a bracketed segment generates one page per value the route exports. URLs carry no trailing slash and no extension.

What happens if a page is missing a title or has broken markup?

The build fails. Every page is parsed back after rendering and checked for missing titles, duplicate descriptions, heading levels that skip, images without alt text, duplicate ids and contradictory ARIA. Errors stop the build rather than printing a warning nobody reads.

Can I use a CMS or Markdown with this?

Content here is TypeScript: arrays and objects that sit beside the route that uses them, type-checked like the rest of the code. There is no Markdown parser and no front matter, so a typo in a field name is a compile error rather than a blank section.