Color mode

Installation

This page takes you from an empty machine to a running site. It assumes nothing about Riebeckite, and it never asks you to clone the Riebeckite repository.

Requirements

Item Why Where
Node.js (LTS) Runs the Riebeckite commands nodejs.org
A terminal Where you type commands PowerShell on Windows, Terminal on macOS
A Cloudflare account Only for the deployment step cloudflare.com

npm ships with Node.js, so you do not install it separately.

Confirm Node.js is available:

sh
node -v
npm -v

Both should print a version such as v22.0.0. If a command is not found, install Node.js and reopen the terminal.

Create a site

In the folder where you want the site, run the generator:

sh
npx create-riebeckite

npx downloads create-riebeckite and runs it once; nothing is installed globally. The CLI asks, in order:

  1. Project name — the folder to create, for example my-site
  2. Preset — the site's composition; keep starter when unsure. See Presets
  3. Content source — This project keeps content/ inside the site and is the simplest start. Separate GitHub repository is an advanced setup for an existing vault: it asks for the content and site repositories and configures GitHub Actions deployment automatically. See Content Repositories
  4. Deployment — Cloudflare Workers, GitHub Actions, or Not now. Cloudflare Workers installs dependencies and then asks Deploy now?, so you can publish your first version right away. GitHub Actions deploys on every push. Not now skips deployment setup; see Deployment

To script the same setup instead of answering prompts, pass arguments, for example:

sh
npx create-riebeckite my-site --preset starter
  • If the target folder already has files, the command stops instead of overwriting. Add --force only when you really want to overwrite.
  • List the available presets with npx create-riebeckite --list-presets.

Then move into the folder and install the packages:

sh
cd my-site
npm install

The @riebeckite/* packages are published to npm, so this is all it takes. The first install can take a minute.

What gets generated

File or folder Role
riebeckite.config.ts Site name, URL, language, theme, and plugins. The first file to edit
content/ Where your Markdown pages live
app/ The site's appearance and routing. routes/ and components/ do most of the work
public/ Static assets copied as-is: the favicon, header logo, and link preview image. See Branding your site
vite.config.ts Build settings. You normally leave this alone
package.json The packages and the riebeckite commands
README.md A short note specific to the generated site

The exact files depend on the preset: empty generates a bare application shell, starter generates a practical site with connected sample notes, and showcase adds references, rendered examples, and local fixtures. See Presets.

Directory structure

The generated site folder looks like this:

text
my-site/
├─ content/               Your Markdown files
├─ public/                Static files
├─ app/                   Generated app code (rarely edited)
├─ riebeckite.config.ts   Site configuration
├─ package.json
├─ vite.config.ts
├─ tsconfig.json
├─ README.md
└─ dist/                  Production build output (after build)

Point the settings at your site

Open riebeckite.config.ts and edit the site block:

ts
site: {
  title: "My Blog",
  description: "Notes from my days",
  baseUrl: "https://example.com",
  locale: "en",
},
Field Meaning
title The site name
description The summary used by SEO and feeds
baseUrl The address the site will be published at. It ends up in the sitemap and feeds, so set the real URL after you deploy
locale The site language ("ja" for Japanese, "en" for English)

The rest of the generated config (content, theme, plugins) already matches the preset. Full field documentation is in Configuration.

Start the development server

sh
npm exec riebeckite dev

The terminal prints a URL such as http://localhost:5173. Open it in a browser; Markdown and application edits are picked up while the server runs. Press Ctrl + C to stop.

Everyday commands

Run these from inside the site folder:

sh
npm exec riebeckite dev           # start the development server
npm exec riebeckite build         # write the publishable files to dist/
npm exec -- riebeckite build --full  # rebuild without incremental reuse

For the first successful run, dev and build are enough. If something looks wrong later, the CLI also has read-only diagnostic commands such as check, doctor, and inspect; see the CLI reference.

Next

History

1 changesCollapseExpand
1 + ---
2 + title: Installation
3 + sidebar:
4 + label: Installation
5 + order: 20
6 + ---
7 + # Installation
8 +
9 + This page takes you from an empty machine to a running site. It assumes nothing about Riebeckite, and it never asks you to clone the Riebeckite repository.
10 +
11 + ## Requirements
12 +
13 + | Item | Why | Where |
14 + | --- | --- | --- |
15 + | Node.js (LTS) | Runs the Riebeckite commands | [nodejs.org](https://nodejs.org/) |
16 + | A terminal | Where you type commands | **PowerShell** on Windows, **Terminal** on macOS |
17 + | A Cloudflare account | Only for the deployment step | [cloudflare.com](https://www.cloudflare.com/) |
18 +
19 + `npm` ships with Node.js, so you do not install it separately.
20 +
21 + Confirm Node.js is available:
22 +
23 + ```sh
24 + node -v
25 + npm -v
26 + ```
27 +
28 + Both should print a version such as `v22.0.0`. If a command is not found, install Node.js and reopen the terminal.
29 +
30 + ## Create a site
31 +
32 + In the folder where you want the site, run the generator:
33 +
34 + ```sh
35 + npx create-riebeckite
36 + ```
37 +
38 + `npx` downloads `create-riebeckite` and runs it once; nothing is installed globally. The CLI asks, in order:
39 +
40 + 1. **Project name** — the folder to create, for example `my-site`
41 + 2. **Preset** — the site's composition; keep `starter` when unsure. See [Presets](./presets.en.md)
42 + 3. **Content source** — `This project` keeps `content/` inside the site and is the simplest start. `Separate GitHub repository` is an advanced setup for an existing vault: it asks for the content and site repositories and configures GitHub Actions deployment automatically. See [Content Repositories](../guides/content-repositories.en.md)
43 + 4. **Deployment** — `Cloudflare Workers`, `GitHub Actions`, or `Not now`. `Cloudflare Workers` installs dependencies and then asks `Deploy now?`, so you can publish your first version right away. `GitHub Actions` deploys on every push. `Not now` skips deployment setup; see [Deployment](./deployment.en.md)
44 +
45 + To script the same setup instead of answering prompts, pass arguments, for example:
46 +
47 + ```sh
48 + npx create-riebeckite my-site --preset starter
49 + ```
50 +
51 + - If the target folder already has files, the command stops instead of overwriting. Add `--force` only when you really want to overwrite.
52 + - List the available presets with `npx create-riebeckite --list-presets`.
53 +
54 + Then move into the folder and install the packages:
55 +
56 + ```sh
57 + cd my-site
58 + npm install
59 + ```
60 +
61 + The `@riebeckite/*` packages are published to npm, so this is all it takes. The first install can take a minute.
62 +
63 + ## What gets generated
64 +
65 + | File or folder | Role |
66 + | --- | --- |
67 + | `riebeckite.config.ts` | Site name, URL, language, theme, and plugins. The first file to edit |
68 + | `content/` | Where your Markdown pages live |
69 + | `app/` | The site's appearance and routing. `routes/` and `components/` do most of the work |
70 + | `public/` | Static assets copied as-is: the favicon, header logo, and link preview image. See [Branding your site](../guides/branding.en.md) |
71 + | `vite.config.ts` | Build settings. You normally leave this alone |
72 + | `package.json` | The packages and the `riebeckite` commands |
73 + | `README.md` | A short note specific to the generated site |
74 +
75 + The exact files depend on the preset: `empty` generates a bare application shell, `starter` generates a practical site with connected sample notes, and `showcase` adds references, rendered examples, and local fixtures. See [Presets](./presets.en.md).
76 +
77 + ## Directory structure
78 +
79 + The generated site folder looks like this:
80 +
81 + ```text
82 + my-site/
83 + ├─ content/ Your Markdown files
84 + ├─ public/ Static files
85 + ├─ app/ Generated app code (rarely edited)
86 + ├─ riebeckite.config.ts Site configuration
87 + ├─ package.json
88 + ├─ vite.config.ts
89 + ├─ tsconfig.json
90 + ├─ README.md
91 + └─ dist/ Production build output (after build)
92 + ```
93 +
94 + ## Point the settings at your site
95 +
96 + Open `riebeckite.config.ts` and edit the `site` block:
97 +
98 + ```ts
99 + site: {
100 + title: "My Blog",
101 + description: "Notes from my days",
102 + baseUrl: "https://example.com",
103 + locale: "en",
104 + },
105 + ```
106 +
107 + | Field | Meaning |
108 + | --- | --- |
109 + | `title` | The site name |
110 + | `description` | The summary used by SEO and feeds |
111 + | `baseUrl` | The address the site will be published at. It ends up in the sitemap and feeds, so set the real URL after you deploy |
112 + | `locale` | The site language (`"ja"` for Japanese, `"en"` for English) |
113 +
114 + The rest of the generated config (`content`, `theme`, `plugins`) already matches the preset. Full field documentation is in [Configuration](../reference/configuration.en.md).
115 +
116 + ## Start the development server
117 +
118 + ```sh
119 + npm exec riebeckite dev
120 + ```
121 +
122 + The terminal prints a URL such as `http://localhost:5173`. Open it in a browser; Markdown and application edits are picked up while the server runs. Press `Ctrl + C` to stop.
123 +
124 + ## Everyday commands
125 +
126 + Run these from inside the site folder:
127 +
128 + ```sh
129 + npm exec riebeckite dev # start the development server
130 + npm exec riebeckite build # write the publishable files to dist/
131 + npm exec -- riebeckite build --full # rebuild without incremental reuse
132 + ```
133 +
134 + For the first successful run, `dev` and `build` are enough. If something looks wrong later, the CLI also has read-only diagnostic commands such as `check`, `doctor`, and `inspect`; see the [CLI reference](../reference/cli.en.md).
135 +
136 + ## Next
137 +
138 + - [First Content →](./first-content.en.md)
139 +