Vix.cpp v2.8.5 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

Extension options ​

Vix Note discovers built-in, global, and project extensions when the workspace starts.

List detected extensions and exit:

bash
vix note --list-extensions

Disable external extensions while keeping built-in cell types:

bash
vix note --no-extensions

The built-in cell types are always available:

txt
markdown
html
cpp
reply

Global extensions are read from ~/.vix/global/installed.json or from $VIX_GLOBAL_PREFIX/installed.json when VIX_GLOBAL_PREFIX is set. Project extensions are discovered under <project>/.vix/deps/.

The local server exposes extension metadata to the UI through:

txt
/api/extensions

This route is used by the browser to build the dynamic cell type picker. A document can keep a cell type such as python even when the extension is not currently available; Vix Note reports the runtime as unavailable instead of converting the cell to another type.

See Creating Note Extensions for the package author workflow.

Released under the MIT License.