# 🎪 hype ░▒▓███████████████████████████████████████████████▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓███████▓▒░░▒▓████████▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓████████▓▒░░▒▓██████▓▒░░▒▓███████▓▒░░▒▓██████▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓████████▓▒░ ░▒▓███████████████████████████████████████████████▓▒░ `hype` wraps `hono` with useful features for fast prototyping: - HTTP logging to the console (disable with `NO_HTTP_LOG` env variable) - Static files served from `pub/` - Page-based routing to `.tsx` files that export a `JSX` function in `./src/pages` - Transpile `.ts` files in `src/js/blah.ts` via `website.com/js/blah.ts` - Helpers like `css` and `js` template tags. - Default, simple HTML5 layout with working frontend transpilation/bundling, or supply your own. - Optional CSS reset. - Optional pico.css. ## Overview Your project structure should be: ``` . ├── README.md ├── package.json ├── pub │  ├── asset.txt │  └── img │  └── logo.png ├── src │  ├── css │  │  └── main.css │  ├── js │  │  ├── about.ts │  │  └── main.ts │  ├── shared │  │  └── utils.ts │  ├── pages │  │  ├── _layout.tsx │  │  ├── about.tsx │  │  └── index.tsx │  └── server.ts └── tsconfig.json ``` ### URLs In the above, `/about` will render `./src/pages/about.tsx`. The `req` JSX prop will be given the `Hono` request: export default ({ req }) => `Query Param 'id': ${req.query('id')}` To put a file in `./src/pages` but prevent it from being server, preface it with `_`. ### Layout `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. 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. Here's a starting point: ```tsx export default ({ children, title }: any) => (