//! List item occurs in the [document][] content type. //! //! ## Grammar //! //! List item forms with the following BNF //! (see [construct][crate::construct] for character groups): //! //! ```bnf //! ; Restriction: if there is no space after the marker, the start must be followed by an `eol`. //! ; 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 list //! item to be exited, except when those lines are lazy continuation. //! Like so many things in markdown, list items too, are complex. //! See [*§ Phase 1: block structure* in `CommonMark`][commonmark_block] for //! more on parsing details. //! //! As list item is a container, it takes several bytes from the start of the //! line, while the rest of the line includes more containers or flow. //! //! ## HTML //! //! List item relates to the `
  • `, `
      `, and `