Repository navigation
chore(release): 3.4.0 - #648
Merged
Merged
Conversation
…oint Rich model architecture (DDD-inspired): - MarkdownConverter interface + HtmlToMarkdownRenderer/MarkdownToHtmlRenderer contracts - DefaultMarkdownConverter: pipeline orchestrator (preprocess → render → postprocess) - HtmlPreprocessor: normalize nbsp, strip font tags, remove empty spans, collapse br - MarkdownPostprocessor: trim whitespace, normalize line endings, collapse blank lines - MarkdownConversionConfig: GFM, heading style, bullet marker, code block style Infrastructure adapters: - TurndownAdapter: HTML→Markdown with GFM rules (strikethrough, task lists) - MarkedAdapter: Markdown→HTML with GFM + breaks enabled Angular DI: - AE_MARKDOWN_CONVERTER InjectionToken - provideMarkdownConverter() convenience function with optional config Tests: 42 pure model tests (zero Angular deps, zero library deps) Build: secondary entry point via ng-packagr
…e for editor integration - MarkdownConverter interface and AE_MARKDOWN_CONVERTER token in core config.ts - Secondary entry point re-exports from @kolkov/angular-editor (ng-packagr requirement) - Add outputFormat and pasteMarkdown to AngularEditorConfig
- outputFormat: 'markdown' config switches CVA to emit/accept Markdown - writeValue converts Markdown→HTML when outputFormat is 'markdown' - onContentChange converts HTML→Markdown before emitting to onChange - @output() contentChanged event emits {html, markdown?, text} (all formats) - getHtml() / getMarkdown() public methods for explicit access - Markdown paste: text/plain-only clipboard → treat as Markdown → convert to HTML - pasteMarkdown config for independent paste control - ngOnInit validation: throws if outputFormat='markdown' without AE_MARKDOWN_CONVERTER - 15 new integration tests (278 total: 236 Angular + 42 model)
- Editor 3 with outputFormat: 'markdown' + pasteMarkdown: true - Editor 2 with contentChanged event showing markdown output - README: Markdown Support section (outputFormat, contentChanged, methods, paste) - README: lossy conversion note
… blocks - Fix race condition: writeValue called before config Input is set Config setter re-applies last writeValue when outputFormat changes to 'markdown' - Add turndown rule for pre-without-code (IDE paste pattern: pre > span instead of pre > code) - Add TurndownAdapter integration tests (12 tests: conversions, code blocks, GFM, cleanup) - Add config timing test for writeValue re-render on config change - 291 total tests (237 Angular + 54 Markdown)
…down' - toggleEditorMode shows Markdown source (green bg) instead of HTML when outputFormat='markdown' - Switching back from Markdown source converts MD→HTML for visual mode - Fix token identity: demo app provides AE_MARKDOWN_CONVERTER from same source as editor - Fix writeValue timing: deferred value pattern (ngx-quill/Angular CVA best practice) - Add initial Markdown content in demo Editor 3 - 5 new source mode tests (296 total: 242 Angular + 54 Markdown)
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #648 +/- ##
==========================================
+ Coverage 82.79% 84.01% +1.21%
==========================================
Files 14 14
Lines 901 951 +50
Branches 213 235 +22
==========================================
+ Hits 746 799 +53
+ Misses 134 132 -2
+ Partials 21 20 -1 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Markdown Support —
@kolkov/angular-editor/markdownsecondary entry pointoutputFormat: 'markdown'config switches CVA to emit/accept Markdown@Output() contentChangedemits{html, markdown?, text}(all formats simultaneously)getHtml()/getMarkdown()public methodsprovideMarkdownConverter()Test plan