https://github.com/apacheli/bluejay
Build static pages with MDX, JSX/TSX components, and Bun.
https://github.com/apacheli/bluejay
bun framework javascript jsx library markdown mdx svelte tsx typescript vue web
Last synced: about 1 month ago
JSON representation
Build static pages with MDX, JSX/TSX components, and Bun.
- Host: GitHub
- URL: https://github.com/apacheli/bluejay
- Owner: apacheli
- License: apache-2.0
- Created: 2024-07-13T04:29:18.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-11-22T20:44:33.000Z (6 months ago)
- Last Synced: 2025-04-12T04:47:02.964Z (about 1 month ago)
- Topics: bun, framework, javascript, jsx, library, markdown, mdx, svelte, tsx, typescript, vue, web
- Language: TypeScript
- Homepage: https://apache.li/bluejay
- Size: 1.24 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Security: SECURITY.txt
Awesome Lists containing this project
README
# 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.
- :zap: Powered by Bun and Preact for maximum performance. It takes ~**10 ms** to build your files.
- :toolbox: Supports TypeScript right out of the box.
- :gear: Simple and minimal without excluding essential tools such as a real time watcher.
- :electric_plug: Generating arbitrary files allows for an infinite amount of possibilities for plugins.
- :globe_with_meridians: Support for a various templating languages such as Svelte and Vue.## Resources
- [Official Bluejay Page](https://apache.li/bluejay)
- [Learn MDX](https://mdxjs.com/docs/)
- [Learn TypeScript](https://www.typescriptlang.org/docs/)## 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:
```tsx
import { start } from "bluejay";await start({
assets: "assets",
dir: import.meta.dir,
dist: "dist",
pages: "pages",
render: (page) => ,
});
```Bluejay environment variables:
```sh
BLUEJAY_MODE=build
BLUEJAY_PATH=
BLUEJAY_PORT=1337
```> [!NOTE]
> Documentation is coming soon!