Skip to main content

Getting started

What Aurora is

Aurora is a static site generator built with Nørd for creating documentation and content-focused websites. It reads Markdown, renders each page through Nørd, and writes complete HTML files that can be deployed to any static host.

The generated document is the application. Aurora does not hydrate the whole page or require a client-side router. JavaScript is only loaded for components explicitly registered as client islands; everything else remains static HTML.

Installation

Install Aurora with Nørd, Grains, Vite, and TypeScript.

bash
bun add @grainular/nord @grainular/grains
bun add --dev @grainular/aurora vite typescript

Add commands for the development server, production build, and local preview.

package.jsonjson
{
  "type": "module",
  "scripts": {
    "dev": "aurora dev",
    "build": "aurora build",
    "preview": "aurora preview"
  }
}

Create index.md in the project root. This is enough for a complete single-page Aurora site.

index.mdmd
---
title: My Aurora site
description: A site generated from Markdown.
---

# Hej, Aurora

The first page is ready.

Start the development server with:

bash
bun run dev

Aurora discovers index.md, supplies the default configuration, and serves the page. No index.html, client entry, or Vite configuration is required.

Add aurora.config.ts when the site needs multiple routes, shared document settings, navigation, islands, layouts, custom CSS, or Vite options.

aurora.config.tsts
import { defineConfig } from '@grainular/aurora';

export default defineConfig({
    content: ['index.md', 'guide.md'],
    navigation: [
        { path: '/guide', label: 'Guide' },
    ],
    site: {
        title: 'My site',
        description: 'Documentation generated by Aurora.',
    },
});

content determines which Markdown files become pages. navigation independently determines which links appear in the sidebar.

defineConfig provides type checking and editor completion. Aurora does not prescribe a source directory: add components, layouts, public assets, and custom CSS only when the site needs them.

Continue with Routing for file-based routes or CLI and deployment to build and publish the site.