release: v0.1.2 — readOnly, new syntax, plugins, optimizations
Features: - feat(core): readOnly mode with config option and setReadOnly() API - feat(parser): superscript ^text^ and subscript ~text~ support - feat(parser): highlight/mark ==text== syntax - feat(parser): table column alignment with colons (:---, :---:, ---:) - feat(parser): emoji shortcodes 😄 → 😊 (80+ common emojis) - feat(plugins): imagePaste preset — paste clipboard images as base64 - feat(core): instance-level beforeRender/afterRender events - feat(styles): print stylesheet (@media print) - feat(styles): mark element CSS styling - feat(styles): readOnly mode CSS (.me-readonly) Optimizations: - perf(core): history debounce now configurable via historyDebounce option - perf(core): skip _render() in edit-only mode (already guarded) - fix(core): divider drag division-by-zero guard - fix(core): config.style deep merge with DEFAULTS - fix(core): scroll position preserved across mode switches Tests: - 9 new test cases: readOnly (3), parser syntax (6) - Total: 418 tests passing (+9 from v0.1.1) Chores: - version bump 0.1.1 → 0.1.2 - TypeScript definitions updated for new APIs
This commit is contained in:
Vendored
+8
-1
@@ -44,6 +44,10 @@ export interface MarkdownEditorOptions {
|
||||
syncScroll?: boolean;
|
||||
/** Tab 插入的空格数,0 表示插入 \t,默认 2 */
|
||||
tabSize?: number;
|
||||
/** 只读模式,默认 false */
|
||||
readOnly?: boolean;
|
||||
/** 历史栈防抖延迟(ms),默认 400 */
|
||||
historyDebounce?: number;
|
||||
/** 主题,默认 'auto' */
|
||||
theme?: ThemeName;
|
||||
/** 国际化语言,默认 'zh-CN' */
|
||||
@@ -119,7 +123,8 @@ export interface EditorStatus {
|
||||
/** 事件名 */
|
||||
export type EditorEventName =
|
||||
| 'input' | 'change' | 'focus' | 'blur' | 'save'
|
||||
| 'modeChange' | 'fullscreen' | 'autosave' | 'destroy';
|
||||
| 'modeChange' | 'fullscreen' | 'autosave' | 'destroy'
|
||||
| 'beforeRender' | 'afterRender';
|
||||
|
||||
/** 全局钩子名 */
|
||||
export type HookName =
|
||||
@@ -166,6 +171,8 @@ export class MarkdownEditor {
|
||||
enable(): this;
|
||||
disable(): this;
|
||||
isDisabled(): boolean;
|
||||
setReadOnly(readOnly: boolean): this;
|
||||
isReadOnly(): boolean;
|
||||
|
||||
// 事件
|
||||
on(name: EditorEventName, fn: (...args: any[]) => void): () => void;
|
||||
|
||||
Reference in New Issue
Block a user