aardio 文档

aardio 范例: Markdown(web.form)

//Markdown 窗口控件
import fonts.fontAwesome;
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add()
/*}}*/

import web.form.simpleMarkdown;
var wb = web.form.simpleMarkdown(winform);
winform.show();

var markdown = /*

高频 KaTex 单符号公式 $\Rightarrow$

> KaTex 常用单符号解析不 `wb.enableKatex(true)`不需要加载其他 KaTex 公式组件

```mermaid
graph TD 
A[Client] --> B[Load Balancer] 
B --> C[Server1] 
B --> D[Server2]
```

## 可选列表

1. 可选列表(checklist)扩展

    - [ ] A. 用一对中括号表示,前面各有一个空格
    - [ ] B. 中间用空格表示未选中,用 x 或 X 表示选中,不能使用其他字符。
    - [ ] C. 可选列表(checklist)除了兼容只读的任务列表格式,
    也可以设为可选状态,并支持自动识别与转换字符序号。
    方便用于 AI 生成试题(答案可用 details,summary 标签折叠显示)。

2. 无序列表的“大写字母序号”会转换并输出为“HTML 字母序列表”

  - [ ] A. 字母序号要大写
  - [ ] B. 字母必须出现在无序列表内容的开始位置,前面有一个空格,后面有一个圆点加空格。
  - [ ] C. 如果有任务复选框,则放在任务复选框后面(以空格分开)。


<details><summary>查看答案</summary><blockquote>
1. A,B,C
2. A,B,C
</blockquote></details>

## 表格

| Syntax      | Description |
| ----------- | -----------: |
| Header      | Title       |
| Paragraph   | Text        |

## 代码块

```aardio 
for(i=1;10;1){
    print(i);    
}

```

## 数学公式

行内公式: \( 1 + 1 = 2 \) ,也可以写在一对 `$` 中间(不被推荐的写法)。

行间公式:

\[ 1 \quad \text{and} \quad 1 \]

行间公式也可以写在一对 `$$` 中间(不被推荐的写法)。

## Font Awesome 字符

自动识别 NCR 编码的 Font Awesome 字符,
例如 Markdown 中的 `&#xF001;` 输出为 HTML 代码 `<span class="fa">&#xF001;</span>`。
示例效果: &#xF001; (基于 web.form 或 web.form.simpleMarkdown / web.form.chat 的控件要提前导入 fonts.fontAwesome 库 )。
*/

//任务列表的复选框设为禁用状态
//wb.setTaskCheckboxEnabled(false);

//启用数学公式解析器
wb.enableKatex(true);

/*
可直接写 Markdown,自动转换为网页。
也可以写入 HTML 代码(只要写 body 内部的部分,控件已自带 Markdown 样式)。
*/
wb.write(markdown);

/*
改用 wb.writeDelta(deltaText) 则可以写入增量文本,并自动优化减少解析 Markdown 过程。
这个函数被用于实现 AI 聊天助手的 web.form.chat 库。
*/

win.loopMessage(); 

Markdown 格式