feat: v0.4.1 — Zen 专注模式宽度可配置 + 5 项修复 + 841 测试
CI / test-parser (push) Successful in 9m29s
CI / test-core (push) Successful in 9m36s
CI / test-rest (push) Successful in 9m29s
CI / e2e (push) Successful in 9m44s
CI / verify (18.x) (push) Successful in 9m50s
CI / verify (20.x) (push) Successful in 9m50s
CI / verify (24.x) (push) Successful in 9m45s
CI / test-parser (push) Successful in 9m29s
CI / test-core (push) Successful in 9m36s
CI / test-rest (push) Successful in 9m29s
CI / e2e (push) Successful in 9m44s
CI / verify (18.x) (push) Successful in 9m50s
CI / verify (20.x) (push) Successful in 9m50s
CI / verify (24.x) (push) Successful in 9m45s
This commit is contained in:
@@ -2,9 +2,9 @@
|
||||
|
||||
> TypeScript 重构 · 零运行时依赖 · 轻量级桌面端 Markdown Editor 库
|
||||
|
||||
[](https://git.metona.cn/MetonaTeam/-/packages/npm/@metona-team%2Fmetona-editor)
|
||||
[](https://git.metona.cn/MetonaTeam/-/packages/npm/@metona-team%2Fmetona-editor)
|
||||
[](./LICENSE)
|
||||
[](./tests)
|
||||
[](./tests)
|
||||
[](./tests)
|
||||
[](./tsconfig.json)
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
- **三模式视图** — edit / split / preview,拖拽分隔条调整比例,双向滚动同步
|
||||
- **主题系统** — light / dark / warm / auto,CSS 变量可定制,实例级隔离,主题继承,外部跟随
|
||||
- **国际化** — zh-CN / en-US / ja / ko / fr / de 六种语言完整翻译,实例级语言隔离,远程加载翻译包
|
||||
- **编辑体验** — 行号装订线、智能 Enter、括号自动闭合、拖放文件、大纲面板、Zen 专注模式、右键上下文菜单
|
||||
- **编辑体验** — 行号装订线、智能 Enter、括号自动闭合、拖放文件、大纲面板、Zen 专注模式(宽度可配置,默认 960px)、右键上下文菜单
|
||||
- **内置语法高亮** — 零依赖轻量高亮器,js/ts/python/bash/css/html 等 16 个语言标识,规则缓存零重建开销,`MeEditor.highlight` 即插即用
|
||||
- **性能** — 字数 / 词数 / 行数差异增量统计,击键零全量扫描;大纲 O(n) 线性构建,长文档即时响应
|
||||
- **安全** — HTML 转义,XSS 协议过滤(javascript / vbscript / file / data),属性级注入防护(含脚注 id),白名单裸标签透传,sanitize 钩子
|
||||
- **工程化** — 826 个单元测试 + Playwright 真实浏览器冒烟测试,CI 并行 4 job,`sideEffects: false` 便于 tree-shaking
|
||||
- **工程化** — 841 个单元测试 + Playwright 真实浏览器冒烟测试,CI 并行 4 job,`sideEffects: false` 便于 tree-shaking
|
||||
- **桌面端优先** — 纯电脑端设计,无移动端冗余代码
|
||||
- **引用链接** — 支持 `[text][ref]` / `![alt][ref]` 引用式链接和图片,含 title 属性
|
||||
- **RTL 支持** — 完整的从右到左布局适配(阿拉伯语、希伯来语等)
|
||||
@@ -79,10 +79,10 @@ const editor = MeEditor.create('#editor', { mode: 'split' });
|
||||
|
||||
```html
|
||||
<!-- jsDelivr CDN (推荐) -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/@metona-team/metona-editor@0.4.0/dist/metona-editor.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@metona-team/metona-editor@0.4.1/dist/metona-editor.min.js"></script>
|
||||
|
||||
<!-- unpkg CDN -->
|
||||
<script src="https://unpkg.com/@metona-team/metona-editor@0.4.0/dist/metona-editor.min.js"></script>
|
||||
<script src="https://unpkg.com/@metona-team/metona-editor@0.4.1/dist/metona-editor.min.js"></script>
|
||||
|
||||
<!-- Gitea 源 -->
|
||||
<script src="https://git.metona.cn/MetonaTeam/MetonaEditor/raw/branch/master/dist/metona-editor.js"></script>
|
||||
@@ -144,6 +144,7 @@ MeEditor.create(container, {
|
||||
syncScroll: true, // 分屏同步滚动
|
||||
autoBrackets: true, // 括号自动闭合
|
||||
zenMode: false, // 启动即进入 Zen 专注模式
|
||||
zenMaxWidth: 960, // Zen 内容区最大宽度:数字为 px / 字符串原样作为 CSS 值 / false 不限制
|
||||
wordWrap: true, // 自动换行
|
||||
maxLength: 0, // 最大字符数(0=不限)
|
||||
floatingToolbar: true, // 选中文本浮动格式栏
|
||||
@@ -346,6 +347,8 @@ editor.removeToolbarButton(action: string): this
|
||||
```typescript
|
||||
editor.toggleZen(): this
|
||||
editor.isZen(): boolean
|
||||
editor.setZenMaxWidth(width: number | string | false): this // 运行时调整专注模式宽度
|
||||
editor.getZenMaxWidth(): number | string | false
|
||||
editor.toggleWordWrap(): this
|
||||
editor.setWordWrap(on: boolean): this
|
||||
editor.isWordWrap(): boolean
|
||||
@@ -809,7 +812,7 @@ src/
|
||||
|------|------|
|
||||
| 语言 | TypeScript 5 (strict) |
|
||||
| 构建 | Rollup 3 |
|
||||
| 测试 | Jest 29 + jsdom(826 用例) |
|
||||
| 测试 | Jest 29 + jsdom(841 用例) |
|
||||
| 浏览器冒烟 | Playwright + Chromium(22 项断言) |
|
||||
| 类型生成 | rollup-plugin-dts |
|
||||
| 零运行时依赖 | ✅ |
|
||||
|
||||
Reference in New Issue
Block a user