# MarkDialog > 用 Markdown 来书写您的剧情! > [!NOTE] > 这是我闲暇时间折腾出来的项目,很多地方还没打磨好。 > > 另外我在里面实验性地使用了 **Vibe Coding**,所以你可能会看到一些不太正经的代码,请多包涵。 ## 为什么会有 MarkDialog? 这个项目的起点其实很简单: 我想做一个 AVG 视觉小说的原型,需要让身边的人**能立刻上手写剧情**。 但现实是: - 图形化编辑器太重 - Ink、Yarn Spinner 虽然强大,但都需要学习 - JSON / XML / 自定义 DSL 写起来都不够 “自然” 我真正想要的是一种大家已经会写、不需要学习、打开就能写、写完就能跑的格式。 然后我突然想到: ### Markdown 不就是这样的吗? 你可以在 **Typora**、**Obsidian**、**VS Code** 甚至 **Vim/NeoVim** 里轻松地编写他们 > 还要什么自行车? 当这个念头冒出来的时候,我整个人都兴奋了。 于是,MarkDialog 就这样诞生了。 ## MarkDialog 是什么? 它让你可以: - 用六级标题切换角色 - 用普通 Markdown 写台词 - 用列表写选项 - 用链接写跳转 - 用代码块写速度、颜色、动作等富文本控制 - 用图片切换背景 你写的 Markdown 会被编译成一个 IR,然后解析到任何地方,只要你想! 比如 - 内联到 Rust 项目 - 导入 Unity / Unreal / Godot - 转换为 Json - 转换为任何东西 ## MarkDialog 的语法? 一般来讲,只要你会写 Markdown,你就会写 Markdialog 你可以: ``` # 标题 > 使用引用块表示注释 ###### 张三 使用六级标题表示**角色名称** 使用无序列表表示选项 - 早上好 - 中午好 - 晚上好 有序也行 1. 早上好 2. 中午好 3. 晚上好 > 使用超链接表示跳转 中午吃? - 披萨 [](#Eat_Pizza) - 意面 [](#Eat_Pasta) - 不吃 或者 *什么都不吃*! ## Eat_Pizza 吃披萨 ## Eat_Pasta 吃意面 > 使用图像来切换背景 ![](backgrounds/park) > 使用如下方式来内联其他文件! [[branch.md]] ``` 就是如此简单! ## 开源协议 哈哈,我采用 MIT License,放心玩去吧!