## Added - Reference link/image resolution: [text][ref] + ![alt][ref] with [ref]: url definitions - Right-click context menu: undo/redo/cut/copy/paste/selectAll + custom items - RTL CSS layout support for Arabic, Hebrew, Persian etc. - Japanese (ja) and Korean (ko) locales with 60+ keys each - Divider position localStorage persistence - Regex search toggle in search/replace panel - Export HTML with embedded CSS styles - beforeChange / afterChange lifecycle hooks (instance + global) - copyAsMarkdown() / copyAsHTML() clipboard APIs - CHANGELOG.md, CONTRIBUTING.md, CI workflow (.github/workflows/ci.yml) - 2 new test suites: index.test.ts, styles.test.ts (684 total tests, +74) ## Changed - autoSave plugin: closure-based state per instance instead of this context - Plugin install() now receives options as second argument - RTL locale detection: now uses language prefix (ar-SA → RTL) - Rollup dev mode: only builds UMD format - prepublishOnly now includes typecheck + test - Version bumped to 0.2.1 ## Fixed - [text][ref] now correctly renders as link (was raw text) - ![alt][ref] no longer produces empty src - autoSave plugin state isolation across multiple editor instances - Footnote definitions no longer consumed by refDef handler
5.2 KiB
5.2 KiB
Changelog
All notable changes to MetonaEditor will be documented in this file.
[0.2.1] - 2026-07-25
Added
- Reference link/image resolution: Full support for
[text][ref]and![alt][ref]syntax with[ref]: urldefinitions. - Right-click context menu: Built-in undo/redo/cut/copy/paste/selectAll with custom item support.
- RTL (Right-to-Left) CSS support: Full RTL layout for Arabic, Hebrew, Persian and other RTL languages.
- Japanese (ja) and Korean (ko) locales: Complete translations for all 60+ UI keys.
- Divider position persistence: Split-view divider ratio saved to localStorage and restored on reload.
- Regex search support: Toggle regex mode in search panel with
.*button. - Export HTML with embedded CSS:
exportHTMLnow includes minimal CSS styles for standalone viewing. beforeChange/afterChangelifecycle hooks: Instance and global hooks that fire around content changes.copyAsMarkdown()/copyAsHTML()APIs: Copy editor content to clipboard as Markdown or rich HTML.- New test suites:
tests/index.test.ts(global API) andtests/styles.test.ts(CSS injection). - 684 tests (up from 610), 9 test suites (up from 7).
Changed
- autoSave plugin refactored: Uses closure-based state per instance instead of
thiscontext, preventing state conflicts when the same plugin object is shared across multiple editors. - Plugin
install()now receivesoptionsas second argument for cleaner API. - RTL locale detection improved: Now detects RTL by language prefix (e.g.,
ar-SA→ RTL).
Fixed
- Reference link syntax
[text][ref]now correctly resolves to links instead of raw text. - Reference image syntax
![alt][ref]no longer produces emptysrc="". - autoSave plugin state isolation when used across multiple editor instances.
- Footnote definitions no longer incorrectly consumed by reference definition parser.
[0.2.0] - 2026-07-23
Added
- TypeScript full rewrite: All 12 source modules in TypeScript strict mode with complete type exports.
- Parser 99% line coverage: Self-built Markdown parser with 14 block-level handlers.
- parseTokens / renderTokens API: Separate tokenization and rendering for transform pipelines.
- registerBlockHandler: Extensible block syntax via handler registration.
- 610 tests: Comprehensive test coverage across 7 suites.
- Triple emphasis
***text***: Bold+italic combined formatting. - Link text inline formatting: Bold, italic, and code within link text.
- Backslash escape:
\*,\_,\\for literal punctuation. - Tab-indented code blocks: Tab or 4-space indented code.
Changed
- Plugin system v2: Topological sort dependency management, 6 preset plugins.
- Theme system overhaul: CSS variable-based, instance isolation, external theme following.
- i18n overhaul: Instance-level locale isolation, plural rules, remote loading.
[0.1.15] - 2026-07-21
Added
- Parser short and medium-term improvements.
- Triple emphasis syntax
***bold italic***. - Link text inline formatting support.
- Backslash escape sequences.
parseTokens/renderTokensseparation API.
[0.1.14] - 2026-07-20
Added
- Syntax highlighting feature (reverted in 0.1.15).
- Mermaid.js CDN support in demo page.
[0.1.7] - 2026-07-19
Added
- Line number gutter with active line highlighting.
- Smart Enter (list/quote continuation).
- Bracket auto-close with selection wrapping.
- Outline panel.
[0.1.6] - 2026-07-18
Added
topologicalSortfor plugin dependency resolution.validateConfigfor plugin configuration validation.editor.unuse()to uninstall plugins.editor.registerShortcut()/unregisterShortcut().editor.toast()notification API.
[0.1.5] - 2026-07-17
Added
- Instance-level theme context (
createInstanceTheme). followExternalTheme/adoptFromParentfor external theme following.exportCSSVars/getCSSVariablefor theme inspection.applyThemeToElementfor scoped theme application.
[0.1.4] - 2026-07-16
Added
- Setext headings (underlined H1/H2).
- Nested lists (3+ levels).
- Indented code blocks (4 spaces / tab).
- HTML comment passthrough.
- Entity reference protection.
- Hard line breaks (2 trailing spaces).
- Link titles with single quotes.
- LaTeX math formulas (
$inline$/$$block$$). - Footnotes
[^id]. - Definition lists (
Term\n: definition). - Backtick exact matching (
`). - Enhanced emoji set (150+).
[0.1.3] - 2026-07-15
Fixed
execcustom action support via_customActions.refresh()method for forced re-render.- Focus/blur event parameter fixes.
[0.1.2] - 2026-07-14
Added
- Highlight marker
==text==. - Superscript
x^2^and subscriptH~2~O. - Emoji shortcodes
:smile:(100+ emojis). - Table column alignment (
:---:,---:). - Read-only mode with
readOnlyconfig andsetReadOnly().
[0.1.0] - 2026-07-10
Added
- Initial release.
- Markdown editor with edit/split/preview modes.
- Self-built parser (CommonMark + GFM).
- Plugin system with autoSave, exportTool, searchReplace.
- Theme system (light/dark/auto).
- i18n (zh-CN/en-US).
- Toolbar, shortcuts, history stack.