Repository navigation
fix(formats): keep multiline CSV values inside their table cells - #190
Merged
Merged
Conversation
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.
Fixes #111. A quoted CSV value such as
first line\nsecond linepreviously became two Markdown table rows after save/reopen; HTML folded its newline into a space. Both page formats now keep the value in one cell with its original line endings.Table cell text uses
<br>for LF and optionaldata-nc-break="crlf"/data-nc-break="cr"attributes for CRLF/CR, preserving the exact value without normalizing the imported data. The Markdown reader enables these breaks only inside table cells. Literal break-tag text and inline code remain literal; paragraph serialization is unchanged. The representation is documented in the folder-format guide.Validation:
cargo test -p notecraft-formats: passed, including whole-demo format parity. Regressions cover repeated round trips in both formats, mixed, leading, trailing and repeated line breaks, Unicode, pipes, literal markup, backticks and backslashes, plus unchanged paragraph/code controls.cargo xtask ci: passed after the final edit; mandatory commit/push hooks also passed the full gate.cargo build --workspace --locked: passed on Windows.05a8ee3932fb83073a0db28cc70f462566257e39, including Linux/Windows/macOS build/tests, WASM, Clippy, formatting, static checks, change classification, coverage and the required CI summary. Coverage: 85.8% overall and 98.1% for formats; existing non-blocking store warning (90.5% baseline versus 87.3% measured) reviewed, baseline unchanged.No new dependencies, version bump, test doubles, CI changes or protection bypasses.
Final local push gate: 1062 tests passed, zero failed, 3 ignored.
Merged as 93e700d. Verified tested commit is on main and issue #111 is closed. Automation-owned branch cleaned up after merge; maintainer edits were enabled while open.