Bluejay
WarningBluejay is currently under development. Please open an issue if you find bugs.
Build static pages with MDX, JSX/TSX components, and Bun.
- ⚡ Powered by Bun and Preact for maximum performance. It takes ~10 ms to build your files.
- 🧰 Supports TypeScript right out of the box.
- ⚙️ Simple and minimal without excluding essential tools such as a real time watcher.
- 🔌 Generating arbitrary files allows for an infinite amount of possibilities for plugins.
- 🌐 Support for a various templating languages such as Svelte and Vue.
Resources
Install
You will need Bun v1.1.x or higher to install Bluejay.
$ bun add https://github.com/apacheli/bluejay
NoteBinaries will soon be available on JSR whenever Bluejay becomes stable.
Getting Started
Using CLI
This will create a minimal boilerplate to start using Bluejay. We recommend that you choose this approach as opposed to setting it up on your own. Instantly create a new project with the following command:
$ bun create apacheli/bluejay-app
Serve development files:
$ bun serve
Build to dist:
$ bun dle
Manual Setup
This is the absolute minimum amount of code necessary to start a Bluejay project:
import { start } from "bluejay";
await start({
assets: "assets",
dir: import.meta.dir,
dist: "dist",
pages: "pages",
render: (page) => <page.mod.default />,
});
Bluejay environment variables:
BLUEJAY_MODE=build
BLUEJAY_PATH=
BLUEJAY_PORT=1337
NoteDocumentation is coming soon!