Skip to content

apacheli/bluejay

Repository files navigation

Bluejay

Warning

Bluejay 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.

Resources

Install

You will need Bun v1.1.x or higher to install Bluejay.

$ bun add https://github.com/apacheli/bluejay

Note

Binaries 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

Note

Documentation is coming soon!