Skip to main content

Module normalize

Module normalize 

Source
Expand description

§Document Normalization

Post-parse normalization of a Document: payload field names to Unicode NFC (so composed "café" and decomposed "cafe\u{0301}" compare equal). YAML field values pass through verbatim.

Card bodies are not normalized here: a body is already a normalized Content content, established once at import (import::from_markdown runs normalize_markdown (line endings, bidi strip, HTML-comment fence repair) before parsing). This pass only touches field names and carries each body through unchanged.

Functions§

normalize_document
Normalize a crate::document::Document after parsing: per card, payload field names → Unicode NFC.
normalize_field_name
Normalize field name to Unicode NFC, so visually identical keys (e.g., composed "café" vs decomposed "cafe\u{0301}") are treated as equal.