standard

Sciux Standard Syntax 1.0 Preview

Version: 1.0-preview

Date: 2025-06-27

Author: Sciux Community <https://sciux.dev>

Sciux is a markup language for creating interactive document with XML-like syntax, which is designed to the generation of user-friendly graphs of the LLM (Large Language Model)

Sciux is a standard syntax, not a renderer, exclude any components, animations and function tools.

Structure

Node

Text Node

The most basic sciux node is the text node.

Hello world!

Element Node

A element node has three elements: tag, attributes ,children.

Value Node

A value node should start with ``

The value is a JavaScript expression, it could be string, boolean, number, object or more data type, but the JavaScript statement is not supported.

1

Statement

for

Statement #for can be used to iterate over a list of data.

<element #for="i in [1, 2, 3]"></element>

value structure: [name] in [value]

if

Statement #if can be used to conditionally render a node.

<element #if="x > 10"></element>

value structure: [condition]

elif

Statement #elif can be used to conditionally render a node.

<element #if="x < 10"><element/>
<element #elif="x > 10"></element>

else

Statement #else can be used to conditionally render a node.

<element #if="x < 10"><element/>
<element #else></element>

Event

State @event can be used to define an event handler.

<element @click="clickHandler"></element>

value structure: [event]

Animation

State $animation can be used to define an animation.

<element $=""></element>

value structure: [animation]

key structure: $[event]?

Reactive

A the nodes are reactive, which means it will be updated when the data is changed.

You can use a special built-in element node <let> to define reactive data:

<let :x="10" :y="20"/>

And you can use this variable in everywhere supported JavaScript expression.

<let :x="10" :y="20"/>
<element :attr1="x" :attr2="y" :attr3="x - y"></element>

This documentation is just for a preview, and the final syntax is not determined.