Specification · v1 Working Draft
anvil·md

Specification  ·  Section 2 of 14

Vocabulary

The ten blocks and one directive, why the set is closed, and why @markdown deliberately does not exist.

   ASK  (produce a <stamp>, then freeze)
     @choice    one-of-N or many-of-N, text rows
     @gallery   the same, but visual: images, swatches, typefaces, cards
     @input     typed fields
     @upload    file drop. Real attachments, not links.
     @link      paste a URL, get a fetched preview card
     @scale     one or more sliders between two named poles
     @order     drag N items into a ranking

   SHOW (never produce a stamp, never freeze)
     @note      prose, hints, warnings. Body is markdown.
     @code      a verbatim literal, inside the block
     @example   a canned value that fills an ASK block

   CONTROL
     @void      retract an unanswered block the conversation moved past

Ten blocks and one directive. The set is closed on purpose. Almost everything an implementer is tempted to add (@confirm, @yesno, @palette, @rate, @multi, @markdown) is one of these with an attribute set.

@markdown in particular does not exist and should not be added: it would be @note with different escaping. @note renders markdown. @code lang=markdown is a third thing again — show markdown source rather than render it — so the two are deliberately not aliased.