Skip to content

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.

RulePartClause
CARVE-P11-00111EQUALITY IS MODULO ESCAPING
CARVE-P11-00211THE INVARIANT OUTRANKS THE PER-CONSTRUCT RULES
CARVE-P11-00311A FLATTEN PRESERVES THE BOUNDARY IT DISSOLVES
CARVE-P11-00411A WRAPPER ITS OWN CONTENT SPELLS AWAY IS A DECLARED CEILING
CARVE-P11-00511WRAPPER LOSS IS THE ONLY STRUCTURAL EQUALITY CARVE-OUT
CARVE-P11-04611THE CONVERSION-DIAGNOSTICS CHANNEL
CARVE-P11-00611THE ESCAPING RULE
CARVE-P11-00711ESCAPE MINIMALITY STILL APPLIES INSIDE AN ESCALATED UNIT
CARVE-P11-00811THE WRITER DOES NOT SUBSTITUTE ONE CONSTRUCT FOR ANOTHER
CARVE-P11-00911THE SCOPE OF AN ESCALATION IS THE SMALLEST UNIT THAT FAILS
CARVE-P11-01011SEARCH COST BELONGS TO THE STRATEGY, NOT THE OUTPUT
CARVE-P11-01111A FRONTMATTER OPENER IS WRITTEN ---yaml
CARVE-P11-01211AN EMPTY-STRING ATTRIBUTE IS WRITTEN AS A BOOLEAN
CARVE-P11-01311A CODE FENCE OPENER IS WRITTEN GLUED TO ITS INFO STRING
CARVE-P11-01411A TABLE CELL'S CONTENT IS PADDED
CARVE-P11-01511PADDING IS NOT AN ESCAPE WHERE THE PRODUCTION ADMITS PADDING
CARVE-P11-01611NO WHITESPACE-ONLY LINE
CARVE-P11-01711THE SAME LINE DECIDES WHAT AN IMPORT KEEPS
CARVE-P11-01811AN EMPTY COLON FENCE BODY IS A BLANK LINE
CARVE-P11-01911A FOOTNOTE DEFINITION WITH NO BLOCKS IS WRITTEN WITH THE SENTINEL {empty}
CARVE-P11-02011A LINE BLOCK'S HARD BREAK IS WRITTEN BARE ONLY WHERE THE BARE NEWLINE RE-DERIVES IT
CARVE-P11-02111A LINE WHOSE LAST NODE IS A COMMENT IS EXEMPT
CARVE-P11-02211THE MARKDOWN TARGET'S ESCAPING
CARVE-P11-02311THE MARKDOWN TARGET'S ESCAPING NARROWS ON THE LINE
CARVE-P11-02411M1f < IS ESCAPED WHEN THE EMITTED LINE WOULD READ IT AS MARKUP
CARVE-P11-04411M1h # IS ESCAPED WHERE THE EMITTED LINE WOULD OPEN OR CLOSE AN ATX HEADING
CARVE-P11-02511THE MARKDOWN TARGET'S AUTHORED ESCAPE NARROWS TOO
CARVE-P11-04511THE MARKDOWN TARGET USES RICH-TEXT DELIMITERS WHERE THEY READ BACK
CARVE-P11-05011A CONTEXTUAL ESCAPE READS THE EMITTED LINE ACROSS NODES
CARVE-P11-05111AN AMPERSAND THAT WOULD READ AS A CHARACTER REFERENCE IS ESCAPED
CARVE-P11-05211A ! BEFORE A LINK IS ESCAPED
CARVE-P11-05311A PARAGRAPH LINE MUST NOT BECOME A THEMATIC BREAK OR A SETEXT UNDERLINE
CARVE-P11-05411A PIPE IN A TABLE CELL IS ESCAPED
CARVE-P11-02611THE MARKDOWN TARGET'S HARD BREAK
CARVE-P11-04811A HARD BREAK IN A TABLE CELL IS <br>
CARVE-P11-02711A LIST ITEM'S CONTINUATION LINES ARE ALIGNED
CARVE-P11-02811AN UNUSED DEFINITION SURVIVES THE NON-HTML TARGETS
CARVE-P11-02911A TABLE ROW KEEPS ITS OWN CELL COUNT
CARVE-P11-03011ADJACENT BLOCKS THAT WOULD MERGE KEEP THE CONTINUATION MARKER
CARVE-P11-03111MULTIPLE CARVE HEADER ROWS SURVIVE THE MARKDOWN TARGET
CARVE-P11-03211A PRESENTATION TARGET KEEPS A CAPTION, A FENCE TITLE AND A FENCE LABEL
CARVE-P11-03311A REFERENCED ABBREVIATION DEFINITION SPLITS BY TARGET
CARVE-P11-03411A COMPOSITE FIGURE SURVIVES EVERY TARGET
CARVE-P11-03511THE PLAIN-TEXT TARGET PRESERVES LIST DEPTH
CARVE-P11-07211A LIST ITEM'S CONTINUATION BLOCKS SIT AT ITS CONTENT COLUMN
CARVE-P11-07311A REGION MARKER KEEPS ITS LINE
CARVE-P11-04711THE MARKDOWN TARGET KEEPS A LIST'S TIGHTNESS
CARVE-P11-05511A PARAGRAPH LINE CARRIES NO EDGE WHITESPACE
CARVE-P11-05611A TABLE WITHOUT A HEADER ROW GETS AN EMPTY ONE
CARVE-P11-05711ADJACENT LISTS OF ONE KIND ALTERNATE THEIR MARKER
CARVE-P11-05811A DEFINITION LIST IS WRITTEN AS ITS TERMS AND BLOCKS
CARVE-P11-05911A LIST TABLE IS WRITTEN AS A PIPE TABLE
CARVE-P11-06011TEXT THAT GFM WOULD AUTOLINK IS ESCAPED
CARVE-P11-06111A SOFT BREAK IN A TABLE CELL IS ONE SPACE
CARVE-P11-06211THE MARKDOWN TARGET KEEPS FRONTMATTER
CARVE-P11-06311AN OPT-IN MODE CARRIES AN ELEMENT-LESS CONTAINER IN A COMMENT
CARVE-P11-06411INLINE CODE PRESERVES ITS PAYLOAD
CARVE-P11-06511A HARD BREAK AT AN INLINE BOUNDARY SURVIVES
CARVE-P11-06611THE ROUNDTRIP WRITER PRESERVES A TABLE'S SEPARATOR ROW
CARVE-P11-06711THE CARRIER MODE ALSO CARRIES AN ATTRIBUTE LINE, A DEFINITION LIST AND A CAPTION
CARVE-P11-06811THE CARRIER MODE CARRIES AN INLINE CONSTRUCT'S ATTRIBUTES, A SPAN AND A CROSS-REFERENCE IN INLINE MARKERS
CARVE-P11-06911THE MARKDOWN TARGET KEEPS AN AUTOLINK'S ANGLE SPELLING
CARVE-P11-07511THE MARKDOWN TARGET ENCODES LINK AND IMAGE DESTINATIONS
CARVE-P11-07011EMPTY DESTINATIONS HAVE A CANONICAL SPELLING
CARVE-P11-07111OPTIONAL TABLE ALIGNMENT
CARVE-P11-03611A HARD LIST BOUNDARY IS WRITTEN AS EXACTLY THREE BLANK LINES
CARVE-P11-03711AN UNSPELLABLE BLOCK DOES NOT CANCEL THE ADJACENCY IT CANNOT SPELL
CARVE-P11-03811THE MARKDOWN TARGET LINKS A HEADING BY ITS GFM SLUG
CARVE-P11-04911THE MARKDOWN TARGET KEEPS A FRAGMENT LINK
CARVE-P11-03911A RESOLUTION RESULT ABOUT THE WRAPPER IS NOT CONTENT OF IT
CARVE-P11-04011AN EMPTY DESCRIPTION BODY IS WRITTEN WITH THE SENTINEL {empty}
CARVE-P11-04111A TASK MARKER IS WRITTEN WITH THE STATE THE AUTHOR CHOSE
CARVE-P11-04211A BLOCK THAT OPENS A TIGHT ITEM IS WRITTEN ON THE MARKER LINE
CARVE-P11-07411A FENCE A DEDENT ENDED IN A NESTED CHILD IS WRITTEN CLOSED
CARVE-P11-04311THE ROUND-TRIP COMPARISON NORMALIZES A NAMED LIST
CARVE-P11-07611REPEATED EMPHASIS KINDS ARE WRITTEN BRACED
CARVE-P11-07711A PARAGRAPH LINE OF DASHES ALONE IS WRITTEN WITH THE GLYPH
CARVE-P11-07811A VERBATIM VALUE LINE THAT OPENS A BLOCK IS SPELLED OR REFUSED
CARVE-P12-04512fmt WRITES THE SOURCE SPELLING, NOT blockImage
CARVE-P10-01810ONE OPTION SWITCHES EVERY TARGET'S CARRIERS

Released under the MIT License.