API Reference Hakushi v#0.1.0

Copy Markdown View Source

Modules

Hakushi (白紙, "a blank sheet of paper") is a canvas for Phoenix: an endless sheet that people pan and zoom, with nodes of your own HEEx on it, joined by edges.

The LiveComponent behind Hakushi.Components.canvas/1.

A change to a canvas: what a person did, or what the app does.

Function components for the canvas.

An edge of a canvas: a line from a handle of one node to a handle of another.

The nodes and edges of a canvas.

An Ecto type for a whole canvas in one column: a :map (jsonb on PostgreSQL, JSON text on SQLite and MySQL).

A shared canvas on Issho: the canvas's graph is a document of an Issho room, the canvas's LiveView is one of the room's sessions, and Issho is the room's people and their cursors.

The on_mount hook of a LiveView with a shared canvas (live), and the app's own changes to a canvas.

The words of the canvas: the labels of its controls, the reasons it gives when it refuses a change, and the announcements for screen readers.

A node of a canvas: a box at a place, drawn by the :node slot of its type.

The rules of the edges of a canvas, the same in the browser and on the server.

Helpers for Phoenix.LiveViewTest, to read and change the canvases of a LiveView with no browser.

Mix Tasks

Builds the Hakushi canvas into priv/static.

Sets up Hakushi in a Phoenix application.

Checks the built files before a release of Hakushi.