# aardio 范例: Markdown 窗口控件

``````aardio
//Markdown 窗口控件
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 = /*

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>

# hello, markdown!

| Syntax      | Description |
| ----------- | -----------: |
| Header      | Title       |
| Paragraph   | Text        |
 

```aardio 
for(i=1;10;1){
	print(i);	 
}

```

行内公式： \( 1 + 1 = 2 \) ，也可以写在一对 `$` 中间（不被推荐的写法）。

行间公式：

\[ 1 \quad \text{and} \quad 1 \]

行间公式也可以写在一对 `$$` 中间（不被推荐的写法）。

*/

//任务列表的复选框设为禁用状态
//wb.setTaskCheckboxEnabled(false);

//启用数学公式解析器
wb.enableKatex(true);

/*
可直接写 Markdown，自动转换为网页。
也可以写入 HTML 代码（只要写 body 内部的部分，控件已自带 Markdown 样式）。
*/
wb.write(markdown);

/*
改用 wb.writeDelta(deltaText) 则可以写入增量文本，并自动优化减少解析 Markdown 过程。
这个函数被用于实现 AI 聊天助手的 web.form.chat 库。
*/

win.loopMessage(); 

``````