Vix.cpp v2.7.0 is here Read the blog
Skip to content

vix note

vix note starts the Vix Note workspace.

Use it to open an interactive note UI, run note cells, work from the current project directory, or export a .vixnote document to a standalone HTML lesson.

bash
vix note

Overview

vix note runs a local Vix Note server.

Without a file, it starts a workspace for the current directory.

bash
vix note

With a .vixnote file, it loads that document.

bash
vix note lessons/pointers.vixnote

The command exposes the note UI through HTTP.

txt
http://127.0.0.1:5179/

It can also open the note UI inside a desktop WebView shell when desktop shell support is available.

bash
vix note --desktop

Usage

bash
vix note [file.vixnote] [options]
vix note export <file.vixnote> --out <file.html> [options]

Start a workspace

bash
vix note

This starts a note workspace in the current directory.

Vix creates an untitled note document in memory and uses the current folder as the project context.

Example output shape:

txt
Vix Note
  HTTP: http://127.0.0.1:5179/
  Status: listening

Open a note file

bash
vix note examples/hello.vixnote

A note file must use the .vixnote extension.

bash
vix note lessons/pointers.vixnote

Use a custom port:

bash
vix note lessons/pointers.vixnote --port 5180

Use a custom host:

bash
vix note lessons/pointers.vixnote --host 127.0.0.1 --port 5179

Open in desktop mode

bash
vix note --desktop

or:

bash
vix note lessons/pointers.vixnote --desktop

Desktop mode starts the local note server, waits until it is ready, then opens the note UI inside a desktop shell.

Set the desktop window size:

bash
vix note lessons/pointers.vixnote --desktop --width 1400 --height 900

Enable developer tools:

bash
vix note --desktop --devtools

Start fullscreen:

bash
vix note --desktop --fullscreen

Disable resizing:

bash
vix note --desktop --no-resizable

Use browser/server mode explicitly:

bash
vix note --browser

Export a note to HTML

bash
vix note export examples/hello.vixnote --out hello.html

This exports the .vixnote document to a standalone HTML lesson.

Export without cell outputs:

bash
vix note export examples/hello.vixnote --out hello.html --no-outputs

Export with outputs:

bash
vix note export examples/hello.vixnote --out hello.html --with-outputs

Cell outputs are included by default.

Server options

OptionDescription
--host <host>Host used by the local note server. Default: 127.0.0.1
--host=<host>Same as --host <host>
--port <port>Port used by the local note server. Default: 5179
--port=<port>Same as --port <port>

Desktop options

OptionDescription
--desktop, --shellOpen the note UI in a desktop WebView shell
--browserKeep browser/server mode
--width <px>Desktop shell width. Default: 1280
--height <px>Desktop shell height. Default: 820
--devtoolsEnable WebView developer tools when supported
--no-devtoolsDisable WebView developer tools
--fullscreenStart the desktop shell fullscreen
--resizableAllow the desktop shell to be resized
--no-resizableDisable desktop shell resizing

Export options

OptionDescription
--out <file.html>Output HTML file
--out=<file.html>Same as --out <file.html>
--with-outputsExport with cell outputs
--no-outputsExport without cell outputs

Output options

OptionDescription
--quiet, -qOnly print errors
--jsonEmit machine-readable lifecycle events
--no-colorDisable ANSI colors
--colorForce ANSI colors

Common workflows

Start notes for the current project:

bash
vix note

Open a saved lesson:

bash
vix note lessons/cpp-basics.vixnote

Open a note on another port:

bash
vix note lessons/cpp-basics.vixnote --port 5180

Open the note UI as a desktop app:

bash
vix note lessons/cpp-basics.vixnote --desktop

Export a lesson to HTML:

bash
vix note export lessons/cpp-basics.vixnote --out cpp-basics.html

Export a clean lesson without outputs:

bash
vix note export lessons/cpp-basics.vixnote --out cpp-basics.html --no-outputs

Use JSON lifecycle events:

bash
vix note lessons/cpp-basics.vixnote --json

Run quietly:

bash
vix note lessons/cpp-basics.vixnote --quiet

Note routes

When the note server is running, the main routes are:

RoutePurpose
/Vix Note UI
/api/documentCurrent document JSON
/api/cells/<i>/runRun one cell
/api/run-allRun all executable cells

Common mistakes

Passing a non-note file

Wrong:

bash
vix note lesson.md

Correct:

bash
vix note lesson.vixnote

vix note expects .vixnote files.

Using a port outside the valid range

Wrong:

bash
vix note --port 999999

Correct:

bash
vix note --port 5179

The port must be between 1 and 65535.

Exporting without an output file

Wrong:

bash
vix note export lessons/pointers.vixnote

Correct:

bash
vix note export lessons/pointers.vixnote --out pointers.html

Expecting desktop mode on a build without UI shell support

bash
vix note --desktop

Desktop mode requires the CLI to be built with UI shell support.

When it is not available, use browser/server mode:

bash
vix note --browser

Troubleshooting

Note file not found

Check the path:

bash
vix note lessons/pointers.vixnote

The file must exist and must be a regular .vixnote file.

The server cannot start

Use another port:

bash
vix note --port 5180

Another process may already be using the default port.

Desktop shell unavailable

Use normal server mode:

bash
vix note

Then open the printed local URL in your browser.

Vix Note is not available in this build

The CLI must be built with Note support enabled.

bash
cmake -S . -B build -DVIX_ENABLE_NOTE=ON
cmake --build build -j

Difference between note modes

ModeCommandPurpose
Workspacevix noteStart notes for the current directory
Filevix note file.vixnoteOpen an existing note document
Desktopvix note --desktopOpen the note UI inside a desktop shell
Exportvix note export file.vixnote --out file.htmlExport a note to standalone HTML
CommandPurpose
vix runBuild and run a Vix target
vix desktopRun a Vix web UI inside a desktop shell
vix mobileGenerate and run a mobile WebView shell
vix devRun a development server with reload

Released under the MIT License.