https://github.com/eighty4/dank
Multi-page development system for CDN-deployed websites
https://github.com/eighty4/dank
Last synced: 18 days ago
JSON representation
Multi-page development system for CDN-deployed websites
- Host: GitHub
- URL: https://github.com/eighty4/dank
- Owner: eighty4
- License: mit
- Created: 2025-09-18T02:13:44.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-06-05T16:36:21.000Z (23 days ago)
- Last Synced: 2026-06-05T18:42:14.679Z (23 days ago)
- Language: TypeScript
- Homepage:
- Size: 438 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Build DANK webpages
### Get developing right away:
```shell
bun create dank --out-dir www
npm create dank -- --out-dir www
pnpm create dank --out-dir www
```
### DANK has some perks:
- Webpage-first development for multi-page websites
- TypeScript supported with ``
- Code splitting via `esbuild` bundler across all webpages
- Hashes added to all bundled assets for efficient cache utilization
- `dank serve` hot-reloads CSS in the browser
- `dank serve` launches dev services to streamline your workflow
- `dank preview` serves a production build for preview
- `dank build` minifies and tree-shakes with `esbuild`
- DANK's codebase is so tiny you can read it all in 20 minutes
### DANK isn't for every use case!
[Vite](https://vite.dev) is the right move for building a Single-Page Application.
Dynamic content with Static-Site Generation or Server-Side Rendering should use
[Astro](https://astro.build).
#### DANK is an ideal choice for multi-page websites deployed to a CDN that integrate with serverless components and APIs.
## `dank.config.ts` examples
Webpages and their URLs are configured explicitly to keep your URLs
and workspace organized independently:
```typescript
import { defineConfig } from '@eighty4/dank'
export default defineConfig({
pages: {
'/': './home.html',
},
})
```
Streamline development with `dank serve` launching APIs and databases when starting your website's dev server:
```typescript
import { defineConfig } from '@eighty4/dank'
export default defineConfig({
pages: {
'/': './home.html',
},
services: [
{
command: 'node --watch --env-file-if-exists=.env.dev server.ts',
cwd: './api',
},
],
})
```