Skip to main content

SLUG_DERIVATION_HELP

Constant SLUG_DERIVATION_HELP 

Source
pub const SLUG_DERIVATION_HELP: &str = "\
Slug derivation:
  The entity slug derives from the title in five steps:
    1. NFC-normalize (combining sequences fold to precomposed form);
    2. Unicode case-fold to lowercase;
    3. rewrite each whitespace character to '-';
    4. drop every character that is not Unicode alphanumeric and not '-';
    5. collapse hyphen runs, trim leading/trailing hyphens.

  The mutation entry refuses titles where step 4 would drop any
  character, or where the pipeline output is empty (whitespace- or
  hyphen-only input). Errors carry a `proposed_slug` recovery hint
  so a sanitised retry is mechanical.

  The title body is stored as-sent (byte-form preserved); slug bytes
  derive from the NFC-normalised form. An NFD-spelled title therefore
  produces an NFC-spelled slug — the two byte forms are semantically
  equivalent and compare equal under NFC normalization.

  Pre-gate entities (created before this stricter rule landed) remain
  readable. The gate runs at mutation entry only — it does not
  retroactively reject entities loaded from disk.";
Expand description

--help text describing the title→slug pipeline. Shared by memstead create and memstead rename so an agent reading either command’s help can predict what slug a given title will produce (and therefore why the strict gate refuses titles outside the pipeline’s accepted character classes).