Canonical writing rules
Canonical Carve source, Markdown and plain-text targets, round trips, and escaping.
This view contains 80 of 344 active rules. Every rule remains mandatory where applicable.
Return to the rule index or read the complete formal grammar.
| Rule | Part | Clause |
|---|---|---|
CARVE-P11-001 | 11 | EQUALITY IS MODULO ESCAPING |
CARVE-P11-002 | 11 | THE INVARIANT OUTRANKS THE PER-CONSTRUCT RULES |
CARVE-P11-003 | 11 | A FLATTEN PRESERVES THE BOUNDARY IT DISSOLVES |
CARVE-P11-004 | 11 | A WRAPPER ITS OWN CONTENT SPELLS AWAY IS A DECLARED CEILING |
CARVE-P11-005 | 11 | WRAPPER LOSS IS THE ONLY STRUCTURAL EQUALITY CARVE-OUT |
CARVE-P11-046 | 11 | THE CONVERSION-DIAGNOSTICS CHANNEL |
CARVE-P11-006 | 11 | THE ESCAPING RULE |
CARVE-P11-007 | 11 | ESCAPE MINIMALITY STILL APPLIES INSIDE AN ESCALATED UNIT |
CARVE-P11-008 | 11 | THE WRITER DOES NOT SUBSTITUTE ONE CONSTRUCT FOR ANOTHER |
CARVE-P11-009 | 11 | THE SCOPE OF AN ESCALATION IS THE SMALLEST UNIT THAT FAILS |
CARVE-P11-010 | 11 | SEARCH COST BELONGS TO THE STRATEGY, NOT THE OUTPUT |
CARVE-P11-011 | 11 | A FRONTMATTER OPENER IS WRITTEN ---yaml |
CARVE-P11-012 | 11 | AN EMPTY-STRING ATTRIBUTE IS WRITTEN AS A BOOLEAN |
CARVE-P11-013 | 11 | A CODE FENCE OPENER IS WRITTEN GLUED TO ITS INFO STRING |
CARVE-P11-014 | 11 | A TABLE CELL'S CONTENT IS PADDED |
CARVE-P11-015 | 11 | PADDING IS NOT AN ESCAPE WHERE THE PRODUCTION ADMITS PADDING |
CARVE-P11-016 | 11 | NO WHITESPACE-ONLY LINE |
CARVE-P11-017 | 11 | THE SAME LINE DECIDES WHAT AN IMPORT KEEPS |
CARVE-P11-018 | 11 | AN EMPTY COLON FENCE BODY IS A BLANK LINE |
CARVE-P11-019 | 11 | A FOOTNOTE DEFINITION WITH NO BLOCKS IS WRITTEN WITH THE SENTINEL {empty} |
CARVE-P11-020 | 11 | A LINE BLOCK'S HARD BREAK IS WRITTEN BARE ONLY WHERE THE BARE NEWLINE RE-DERIVES IT |
CARVE-P11-021 | 11 | A LINE WHOSE LAST NODE IS A COMMENT IS EXEMPT |
CARVE-P11-022 | 11 | THE MARKDOWN TARGET'S ESCAPING |
CARVE-P11-023 | 11 | THE MARKDOWN TARGET'S ESCAPING NARROWS ON THE LINE |
CARVE-P11-024 | 11 | M1f < IS ESCAPED WHEN THE EMITTED LINE WOULD READ IT AS MARKUP |
CARVE-P11-044 | 11 | M1h # IS ESCAPED WHERE THE EMITTED LINE WOULD OPEN OR CLOSE AN ATX HEADING |
CARVE-P11-025 | 11 | THE MARKDOWN TARGET'S AUTHORED ESCAPE NARROWS TOO |
CARVE-P11-045 | 11 | THE MARKDOWN TARGET USES RICH-TEXT DELIMITERS WHERE THEY READ BACK |
CARVE-P11-050 | 11 | A CONTEXTUAL ESCAPE READS THE EMITTED LINE ACROSS NODES |
CARVE-P11-051 | 11 | AN AMPERSAND THAT WOULD READ AS A CHARACTER REFERENCE IS ESCAPED |
CARVE-P11-052 | 11 | A ! BEFORE A LINK IS ESCAPED |
CARVE-P11-053 | 11 | A PARAGRAPH LINE MUST NOT BECOME A THEMATIC BREAK OR A SETEXT UNDERLINE |
CARVE-P11-054 | 11 | A PIPE IN A TABLE CELL IS ESCAPED |
CARVE-P11-026 | 11 | THE MARKDOWN TARGET'S HARD BREAK |
CARVE-P11-048 | 11 | A HARD BREAK IN A TABLE CELL IS <br> |
CARVE-P11-027 | 11 | A LIST ITEM'S CONTINUATION LINES ARE ALIGNED |
CARVE-P11-028 | 11 | AN UNUSED DEFINITION SURVIVES THE NON-HTML TARGETS |
CARVE-P11-029 | 11 | A TABLE ROW KEEPS ITS OWN CELL COUNT |
CARVE-P11-030 | 11 | ADJACENT BLOCKS THAT WOULD MERGE KEEP THE CONTINUATION MARKER |
CARVE-P11-031 | 11 | MULTIPLE CARVE HEADER ROWS SURVIVE THE MARKDOWN TARGET |
CARVE-P11-032 | 11 | A PRESENTATION TARGET KEEPS A CAPTION, A FENCE TITLE AND A FENCE LABEL |
CARVE-P11-033 | 11 | A REFERENCED ABBREVIATION DEFINITION SPLITS BY TARGET |
CARVE-P11-034 | 11 | A COMPOSITE FIGURE SURVIVES EVERY TARGET |
CARVE-P11-035 | 11 | THE PLAIN-TEXT TARGET PRESERVES LIST DEPTH |
CARVE-P11-072 | 11 | A LIST ITEM'S CONTINUATION BLOCKS SIT AT ITS CONTENT COLUMN |
CARVE-P11-073 | 11 | A REGION MARKER KEEPS ITS LINE |
CARVE-P11-047 | 11 | THE MARKDOWN TARGET KEEPS A LIST'S TIGHTNESS |
CARVE-P11-055 | 11 | A PARAGRAPH LINE CARRIES NO EDGE WHITESPACE |
CARVE-P11-056 | 11 | A TABLE WITHOUT A HEADER ROW GETS AN EMPTY ONE |
CARVE-P11-057 | 11 | ADJACENT LISTS OF ONE KIND ALTERNATE THEIR MARKER |
CARVE-P11-058 | 11 | A DEFINITION LIST IS WRITTEN AS ITS TERMS AND BLOCKS |
CARVE-P11-059 | 11 | A LIST TABLE IS WRITTEN AS A PIPE TABLE |
CARVE-P11-060 | 11 | TEXT THAT GFM WOULD AUTOLINK IS ESCAPED |
CARVE-P11-061 | 11 | A SOFT BREAK IN A TABLE CELL IS ONE SPACE |
CARVE-P11-062 | 11 | THE MARKDOWN TARGET KEEPS FRONTMATTER |
CARVE-P11-063 | 11 | AN OPT-IN MODE CARRIES AN ELEMENT-LESS CONTAINER IN A COMMENT |
CARVE-P11-064 | 11 | INLINE CODE PRESERVES ITS PAYLOAD |
CARVE-P11-065 | 11 | A HARD BREAK AT AN INLINE BOUNDARY SURVIVES |
CARVE-P11-066 | 11 | THE ROUNDTRIP WRITER PRESERVES A TABLE'S SEPARATOR ROW |
CARVE-P11-067 | 11 | THE CARRIER MODE ALSO CARRIES AN ATTRIBUTE LINE, A DEFINITION LIST AND A CAPTION |
CARVE-P11-068 | 11 | THE CARRIER MODE CARRIES AN INLINE CONSTRUCT'S ATTRIBUTES, A SPAN AND A CROSS-REFERENCE IN INLINE MARKERS |
CARVE-P11-069 | 11 | THE MARKDOWN TARGET KEEPS AN AUTOLINK'S ANGLE SPELLING |
CARVE-P11-075 | 11 | THE MARKDOWN TARGET ENCODES LINK AND IMAGE DESTINATIONS |
CARVE-P11-070 | 11 | EMPTY DESTINATIONS HAVE A CANONICAL SPELLING |
CARVE-P11-071 | 11 | OPTIONAL TABLE ALIGNMENT |
CARVE-P11-036 | 11 | A HARD LIST BOUNDARY IS WRITTEN AS EXACTLY THREE BLANK LINES |
CARVE-P11-037 | 11 | AN UNSPELLABLE BLOCK DOES NOT CANCEL THE ADJACENCY IT CANNOT SPELL |
CARVE-P11-038 | 11 | THE MARKDOWN TARGET LINKS A HEADING BY ITS GFM SLUG |
CARVE-P11-049 | 11 | THE MARKDOWN TARGET KEEPS A FRAGMENT LINK |
CARVE-P11-039 | 11 | A RESOLUTION RESULT ABOUT THE WRAPPER IS NOT CONTENT OF IT |
CARVE-P11-040 | 11 | AN EMPTY DESCRIPTION BODY IS WRITTEN WITH THE SENTINEL {empty} |
CARVE-P11-041 | 11 | A TASK MARKER IS WRITTEN WITH THE STATE THE AUTHOR CHOSE |
CARVE-P11-042 | 11 | A BLOCK THAT OPENS A TIGHT ITEM IS WRITTEN ON THE MARKER LINE |
CARVE-P11-074 | 11 | A FENCE A DEDENT ENDED IN A NESTED CHILD IS WRITTEN CLOSED |
CARVE-P11-043 | 11 | THE ROUND-TRIP COMPARISON NORMALIZES A NAMED LIST |
CARVE-P11-076 | 11 | REPEATED EMPHASIS KINDS ARE WRITTEN BRACED |
CARVE-P11-077 | 11 | A PARAGRAPH LINE OF DASHES ALONE IS WRITTEN WITH THE GLYPH |
CARVE-P11-078 | 11 | A VERBATIM VALUE LINE THAT OPENS A BLOCK IS SPELLED OR REFUSED |
CARVE-P12-045 | 12 | fmt WRITES THE SOURCE SPELLING, NOT blockImage |
CARVE-P10-018 | 10 | ONE OPTION SWITCHES EVERY TARGET'S CARRIERS |