//! List is a construct that occurs in the [document][] content type. //! //! It forms with, roughly, the following BNF: //! //! ```bnf //! ; Restriction: there must be `eol | space_or_tab` after the start. //! ; Restriction: if the first line after the marker is not blank and starts with `5( space_or_tab )`, //! ; only the first `space_or_tab` is part of the start. //! list_item_start ::= '*' | '+' | '-' | 1*9( ascii_decimal ) ( '.' | ')' ) [ 1*4 space_or_tab ] //! ; Restriction: blank line allowed, except when this is the first continuation after a blank start. //! ; Restriction: if not blank, the line must be indented, exactly `n` times. //! list_item_cont ::= [ n( space_or_tab ) ] //! ``` //! //! Further lines that are not prefixed with `list_item_cont` cause the item //! to be exited, except when those lines are lazy continuation. //! Like so many things in markdown, list (items) too, are very complex. //! See [*§ Phase 1: block structure*][commonmark-block] for more on parsing //! details. //! //! Lists relates to the `
  • `, `
      `, and `