Compare commits

..

2 Commits

Author SHA1 Message Date
d749325836 layout: false 2025-12-21 15:49:21 -08:00
8ecdd39be7 respect PORT 2025-12-21 15:48:07 -08:00
2 changed files with 5 additions and 1 deletions

View File

@ -64,6 +64,8 @@ To put a file in `./src/pages` but prevent it from being server, preface it with
`hype` will wrap everything in a simple default layout unless `./src/pages/_layout.tsx` exists,
in which case it'll use the default export in that file.
You can also create hype with `new Hype({ layout: false })` to disable Hype's default.
Using the default layout, you can put TS in `./src/js/main.ts` and css in `./src/css/main.css`
and they'll automatically work in your app.

View File

@ -19,6 +19,7 @@ export type HypeProps = {
pico?: boolean
reset?: boolean
prettyHTML?: boolean
layout?: boolean
}
export class Hype<
@ -151,7 +152,7 @@ export class Hype<
const page = await import(path + `?t=${Date.now()}`)
const innerHTML = typeof page.default === 'function' ? <page.default c={c} req={c.req} /> : page.default
const withLayout = Layout ? <Layout props={this.props}>{innerHTML}</Layout> : innerHTML
const withLayout = this.props.layout !== false ? <Layout props={this.props}>{innerHTML}</Layout> : innerHTML
return c.html(withLayout)
})
}
@ -160,6 +161,7 @@ export class Hype<
this.registerRoutes()
return {
port: process.env.PORT ?? '3000',
fetch: this.fetch,
idleTimeout: 255
}