Repository navigation
0.7.0
-
Breaking: ruby wrapper shorthand now requires a paired wrapper in both renderer and analyzer.
- Wrapper form is treated as shorthand only when both tags are present:
<ruby>base《reading》</ruby>. - Unclosed wrapper input (for example
<RUBY>漢字《かんじ》) is no longer treated as wrapped shorthand. - Bare shorthand (
漢字《かんじ》) behavior is unchanged. - I thought I was fixing it, but it seems it was broken.
- Wrapper form is treated as shorthand only when both tags are present:
-
Breaking: wrapper tag handling is now case-insensitive and consistent.
- Closed uppercase wrappers such as
<RUBY>...</RUBY>now follow the same paired-wrapper semantics as lowercase tags. - Legacy ambiguous optional-wrapper interpretation was removed.
- Closed uppercase wrappers such as
-
Added/Expanded (analyzer): editor-side APIs were expanded and aligned with plugin runtime behavior.
- Added/solidified helpers:
normalizeLineWindow,expandToParagraphBoundaries,shouldFullAnalyze,analyzeLineWindow. - Added analyzer parity regression tests for wrapped/unwrapped ruby and edge cases.
- Added/solidified helpers:
-
Changed: analyzer packaging/layout was cleaned up (public subpath unchanged).
- Public import path remains:
@peaceroad/markdown-it-renderer-inline-text/analyzer. - Export target now points to
./src/analyzer.js(internal file layout change).
- Public import path remains:
-
Performance: analyzer hot paths were optimized without API changes.
- Reduced temporary allocations in ruby scanning.
- Added ruby-only fast path in inline scanning.
- Reduced repeated
trim()work in paragraph propagation by precomputing blank-line flags. - Removed redundant helpers and default-arg allocations in hot code paths.
-
Tests/Maintenance: test suite structure was cleaned up.
test/option-assertions.jsandtest/analyzer-assertions.jswere split/extended for option and analyzer regressions.