pub fn normalize_markdown(input: &str) -> StringExpand description
Normalize markdown before hashing/diffing:
- normalize CRLF / CR to LF
- strip trailing whitespace on every line
- collapse runs of 3+ blank lines to a single blank line
- trim leading/trailing blank lines
Diffing operates on the normalized form so the unified diff and AST never report whitespace-only noise.