@airalogy/aimd-editor

AIMD (Airalogy Markdown) editor with Monaco source mode and Milkdown WYSIWYG mode
1,970 9
Install
npm install @airalogy/aimd-editor
Latest Version:1.12.0
Vue:3
License:Apache-2.0
Last Updated:Sep 11, 2026
Links: GitHub  ·  npm
Maintainer: yangzijie

@airalogy/aimd-editor

npm version License

面向 AIMD(Airalogy Markdown)的编辑工具包(Monaco + Vue,可视化/源码双模式)。

安装

pnpm add @airalogy/aimd-editor monaco-editor

快速开始

import * as monaco from "monaco-editor"
import { language, conf, completionItemProvider } from "@airalogy/aimd-editor/monaco"

monaco.languages.register({ id: "aimd" })
monaco.languages.setMonarchTokensProvider("aimd", language)
monaco.languages.setLanguageConfiguration("aimd", conf)
monaco.languages.registerCompletionItemProvider("aimd", completionItemProvider)

图片编辑与正式输出

可复用的 authoring 入口会保持草稿编辑宽松,同时使显式保存和导出操作保持严格。prepareAimdForFormalOutput() 会为已闭合且已有 src 的 fig 块生成缺失的 ID,保留已有 ID,拒绝重复 ID 或缺失图片源,并返回必须在下载 .aimd 或打包 .aira 前写回编辑器的 AIMD 源文本。当 generated 非空时,宿主应给出非阻塞提示,明确说明 ID 已生成并写入源文本。

import { prepareAimdForFormalOutput } from "@airalogy/aimd-editor/authoring"

const prepared = prepareAimdForFormalOutput(source)
source = prepared.content

不要在自动草稿保存中调用这个规范化函数。AimdSourceEditor 会单独诊断已闭合且缺失 ID 的图片,并提供生成 ID 的快速修复,不会改写未完成的输入。

Vue 编辑器 i18n

<script setup lang="ts">
import { AimdEditor } from "@airalogy/aimd-editor"
</script>

<template>
  <AimdEditor locale="zh-CN" />
</template>

也可以通过 messages 覆盖内建文案。

Vue 源码编辑器会显示 parser 级语义 warning,包括 AIMD var 默认值与类型不匹配,以及数值约束 kwargs 被用在非数值类型上。它还会报告图片 ID 缺失、ID 重复和图片源缺失问题。

如果要做更底层的嵌入式集成,AimdWysiwygEditor 现在支持注入自定义 Milkdown plugin 链,AimdFieldDialog 也支持通过 allowedTypes 限定可插入的 AIMD 字段类型。

文档

Related Packages

@cocoar/vue-markdown-editor

WYSIWYG Markdown editor for Vue 3 based on Milkdown, with Cocoar Design System s...

8,408 0
@kungal/editor-vue

KunEditor Vue 3 layer — the headless component (dual WYSIWYG / markdown-source),...

8,482 1
@airalogy/aimd-recorder

AIMD (Airalogy Markdown) recorder Vue components and UI

3,957 9
@abhinavakhil/penna-vue

Vue 3 bindings for @abhinavakhil/penna-core

307 0
@kalem-editor/vue

Vue wrapper for Kalem — with SSR

222 0

Version History

Version Released Vue License
1.12.0 >=3.3.0 Apache-2.0
1.11.0 >=3.3.0 Apache-2.0
1.10.0 >=3.3.0 Apache-2.0
1.9.1 >=3.3.0 Apache-2.0
1.9.0 >=3.3.0 Apache-2.0