feat: v0.4.2 — 审查清偿:8 项修复 + setOutline API + 871 测试
修复:插件面板实例级 i18n / undo-redo 滚动保持 / shortcutHelp 卸载残留 / CSS.escape 环境崩溃 / 大纲光标按源码行号定位 / setLocale 即时刷新 / 浮动工具栏 CJK 宽度 / ko 语言包括号 新增:setOutline(isOutline) 运行时大纲 API、getRenderCacheSize 观测接口 测试:841 → 871(补 7 个事件断言、5 个配置项、修 3 处恒真断言) 工程:CI lint 阻断、build.sh npm ci、rollup 死代码清理、覆盖率阈值门禁
This commit is contained in:
+18
-15
@@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>📝</text></svg>"/>
|
||||
<title>MetonaEditor v0.4.1 — 全功能演示</title>
|
||||
<title>MetonaEditor v0.4.2 — 全功能演示</title>
|
||||
<style>
|
||||
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
|
||||
:root{--app-bg:#f5f6f8;--app-text:#1a1a2e;--app-card:#fff;--app-border:#e5e7eb;--app-accent:#3b82f6;--app-accent2:#8b5cf6;--header-bg:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);--header-text:#f1f5f9;--badge-bg:rgba(255,255,255,.12);--badge-text:#e2e8f0}
|
||||
@@ -45,11 +45,11 @@ body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Micr
|
||||
<body>
|
||||
|
||||
<header class="header">
|
||||
<h1><span class="grad">Metona</span>Editor v0.4.1</h1>
|
||||
<h1><span class="grad">Metona</span>Editor v0.4.2</h1>
|
||||
<div class="badges">
|
||||
<span class="badge">TypeScript</span>
|
||||
<span class="badge">零运行时依赖</span>
|
||||
<span class="badge">841 tests</span>
|
||||
<span class="badge">871 tests</span>
|
||||
<span class="badge">6 个插件</span>
|
||||
<span class="badge">桌面端优先</span>
|
||||
</div>
|
||||
@@ -93,7 +93,7 @@ body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Micr
|
||||
</div>
|
||||
|
||||
<footer class="footer">
|
||||
MetonaEditor v0.4.1 · TypeScript · <a href="index.html">首页</a> · <a href="docs.html">API 文档</a> · <a href="https://git.metona.cn/MetonaTeam/MetonaEditor" target="_blank" rel="noopener">源码仓库</a> · MIT
|
||||
MetonaEditor v0.4.2 · TypeScript · <a href="index.html">首页</a> · <a href="docs.html">API 文档</a> · <a href="https://git.metona.cn/MetonaTeam/MetonaEditor" target="_blank" rel="noopener">源码仓库</a> · MIT
|
||||
</footer>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
|
||||
@@ -101,18 +101,19 @@ body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Micr
|
||||
<script>
|
||||
(function(){
|
||||
var demoMd=[
|
||||
'# 🚀 MetonaEditor v0.4.1 全功能演示',
|
||||
'# 🚀 MetonaEditor v0.4.2 全功能演示',
|
||||
'',
|
||||
'> TypeScript 重构 · 零运行时依赖 · **桌面端** Markdown Editor 库。',
|
||||
'> 全模块 TypeScript 严格模式,17 个源文件,841 个测试全部通过。',
|
||||
'> 全模块 TypeScript 严格模式,17 个源文件,871 个测试全部通过。',
|
||||
'',
|
||||
'## ✨ v0.4.1 新特性',
|
||||
'## ✨ v0.4.2 新特性',
|
||||
'',
|
||||
'- **Zen 专注模式宽度可配置**:`zenMaxWidth` 默认 960px,支持数字 / CSS 字符串 / `false` 不限宽',
|
||||
'- **修复 5 处问题**:`wordWrap: false` 生效 · outline 启动即构建 · edit 模式初始行号 · exportTool 卸载清理 · 替换后统计刷新',
|
||||
'- **Playwright 浏览器冒烟测试**:22 项断言真实 Chromium 验证',
|
||||
'- **实例级 i18n**:状态栏 / 工具栏 / 右键菜单 / 大纲全部跟随实例语言',
|
||||
'- `sideEffects: false` 优化打包 · `MeEditor.destroy()` 全面复位',
|
||||
'- **运行时大纲 API**:`editor.setOutline(on)` / `isOutline()` 运行时开关大纲面板',
|
||||
'- **插件面板实例级 i18n**:查找替换 / 快捷键面板文案跟随实例语言',
|
||||
'- **撤销不再跳顶**:undo / redo 后预览区按滚动比例保持位置',
|
||||
'- **大纲光标精确定位**:按源码行号定位,重复标题不串位',
|
||||
'- **修复 8 处问题**:shortcutHelp 卸载残留 · 无 CSS.escape 环境点击大纲崩溃 · setLocale 即时刷新 UI · 中文选区浮动工具栏偏移等',
|
||||
'- **测试补强**:841 → 871 用例(补齐 7 个事件断言 / 5 个配置项测试 / 修复弱断言)',
|
||||
'',
|
||||
'## 📐 文本样式',
|
||||
'',
|
||||
@@ -141,6 +142,7 @@ var demoMd=[
|
||||
'',
|
||||
'| 版本 | 日期 | 测试 | 主题 |',
|
||||
'| :--- | :---: | ---: | --- |',
|
||||
'| v0.4.2 | 2026-08 | 871 | 审查清偿+大纲API+8项修复 |',
|
||||
'| v0.4.1 | 2026-08 | 841 | Zen宽度可配置+5项修复 |',
|
||||
'| v0.4.0 | 2026-08 | 826 | E2E冒烟+实例i18n |',
|
||||
'| v0.3.1 | 2026-08 | 821 | 增量统计+高亮缓存 |',
|
||||
@@ -270,9 +272,10 @@ function updateModeBtns(mode){
|
||||
}
|
||||
|
||||
function toggleOutline(btn){
|
||||
editor.config.outline = !editor.config.outline;
|
||||
if (editor.config.outline) { editor._buildOutline(); btn.classList.add('on'); }
|
||||
else { var p = editor.el.querySelector('.me-outline'); if (p) p.remove(); btn.classList.remove('on'); }
|
||||
// v0.4.2 起使用公开 API setOutline/isOutline(替代操作私有 config/_buildOutline 的写法)
|
||||
var next = !editor.isOutline();
|
||||
editor.setOutline(next);
|
||||
btn.classList.toggle('on', next);
|
||||
}
|
||||
|
||||
// Custom shortcut
|
||||
|
||||
Reference in New Issue
Block a user