UnaEditor
Lightweight & high-performance Vue 3 editor powered by CodeMirror 6. Supports Hybrid Markdown and Vim mode. 基于 CodeMirror 6 构建的轻量级、高性能 Vue 3 编辑器,支持 Hybrid Markdown 渲染与 Vim 模式。
Install / Use
/learn @charlestang/UnaEditorREADME
Una Editor
基于 CodeMirror 6 构建的轻量级、高性能 Vue 3 编辑器组件库。
✨ 特性
- 🚀 基于 CodeMirror 6:提供强大的底层编辑能力与优异的性能。
- 🎨 Vue 3 友好:完全基于 Composition API 构建,完美契合 Vue 生态。
- 💪 类型安全:100% TypeScript 编写,提供完整的类型推导。
- ⚡️ Vite 驱动:极速的本地开发与构建体验。
- 📝 Hybrid Markdown 渲染:可选的混合渲染模式,在编辑态即可获得标题、强调、图片、任务列表、结构化表格等元素的即时预览。
- 🧩 结构化表格编辑:在
livePreview下支持结构化表格渲染、单元格编辑、行列 handle、追加与删除等交互。 - ⌨️ Vim 模式支持:内置经典的 Vim 模态编辑与键位绑定。
- 🎨 代码块语法高亮:内置多语言语法高亮,支持 9 套配色方案和可选行号。
- 📦 双格式输出:同时支持 ESM 和 CommonJS。
📦 安装
使用 pnpm (推荐):
pnpm add una-editor
或使用 npm / yarn:
npm install una-editor
# 或
yarn add una-editor
🚀 快速开始
<script setup lang="ts">
import { ref } from 'vue';
import { UnaEditor } from 'una-editor';
const content = ref('# Hello Una Editor!');
</script>
<template>
<UnaEditor v-model="content" :live-preview="true" :vim-mode="false" />
</template>
🎨 代码块语法高亮
Una Editor 内置了代码块语法高亮功能,支持 9 套配色方案和可选的代码行号。
<UnaEditor
v-model="content"
code-theme="dracula"
:code-line-numbers="true"
/>
支持的配色方案
| 深色主题 | 浅色主题 |
|---------|---------|
| one-dark (默认) | github-light (默认) |
| dracula | solarized-light |
| monokai | atom-one-light |
| solarized-dark | |
| nord | |
| tokyo-night | |
设置 code-theme="auto" 可自动跟随编辑器主题(theme="dark" 使用 one-dark,theme="light" 使用 github-light)。
支持的语言
核心语言(同步加载):JavaScript/JS、TypeScript/TS、JSX、TSX、CSS、Shell/Bash
扩展语言(按需懒加载):Python、PHP、Java、Go、Rust、C、C++
📖 API 文档
关于详细的组件属性 (Props)、事件 (Events)、对外暴露的方法 (Methods) 等内容,请查阅我们的 API 手册。
🛠️ 本地开发
克隆项目后,你可以通过以下命令在本地启动开发环境和 Playground:
# 安装依赖
pnpm install
# 启动本地开发与 Playground
pnpm dev
访问 http://localhost:5173 即可查看本地调试效果。
其他常用命令
pnpm build: 构建生产包 (dist)pnpm test: 运行 Vitest 单元测试pnpm lint: 运行 ESLint 代码检查pnpm format: 运行 Prettier 格式化代码
📁 项目结构
una-editor/
├── src/ # 组件核心源码
├── playground/ # 本地调试演示环境 (Vite App)
├── docs/ # 项目文档
├── test/ # 测试文件
├── dist/ # 构建输出目录
└── openspec/ # OpenSpec 变更与规范管理
🤝 参与贡献
欢迎提交 Pull Request 或开设 Issue 讨论新特性与 Bug。在提交代码前,请确保:
- 运行
pnpm lint和pnpm test通过所有检查。 - 遵循现有的代码规范与 Conventional Commits 提交信息格式。
- 较大的功能变更,请先查阅
openspec/目录下的设计规范流程。
📄 开源协议
本项目基于 MIT License 开源。
Related Skills
Writing Hookify Rules
81.2kThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
openhue
329.7kControl Philips Hue lights and scenes via the OpenHue CLI.
sag
329.7kElevenLabs text-to-speech with mac-style say UX.
weather
329.7kGet current weather and forecasts via wttr.in or Open-Meteo
