Planarly documents are built from nodes, with sheets being the most common type of node. There are also specialized nodes for charts and webpages. As they are all nodes they can all be created and organized using the same sidebar alongside sheets.

Sheet

The most commonly node type in Planarly and used for programming within a spreadsheet-style paradigm

ApexChart

This node type is used to display charts created using ApexCharts. The chart data is stored in a node Config as a reference to a cell containing the JSON-encoded string of data. See the tutorial here.

Editing a node Config is accessible from the Edit menu: Edit -> Node

SVG

This is currently an experimental feature.

InjaWebpage

This is currently an experimental feature based on the Inja template project. https://github.com/pantor/inja. The intention is to provide complex string templating.

Hello {{ Table("Ones(2,2)") }} worlds!

...evaluates to Hello [[1, 1], [1, 1]] worlds!. Here Table() is the only addition we made to Inja templates, which evaluates a string as a Planarly expression and returns the result as an array of arrays.

In Inja, the native datatype is JSON. We translate Planarly native types to JSON as follows: