rumdl 0.0.12

A fast Markdown linter written in Rust (Ru(st) MarkDown Linter)
Documentation
# MD004 - Unordered List Style

This rule enforces consistent usage of unordered list markers throughout a document.

## Description

Unordered lists in Markdown can use three different markers: asterisks (`*`), plus signs (`+`), or hyphens (`-`).
This rule ensures that the same marker style is used consistently throughout a document.

The dash (`-`) style is used as the default fallback when no existing markers are found because:

1. Dashes are more visually distinct in raw Markdown
2. They're widely used in many popular Markdown style guides
3. They provide better visual clarity and readability in the source document

## Configuration

- `style`: The style to enforce for unordered list markers
  - `consistent`: Use the first marker style found in the document (default). If no list markers are found, dash style (`-`) will be used as the default
  - `asterisk`: Use `*` for all list markers
  - `plus`: Use `+` for all list markers
  - `dash`: Use `-` for all list markers

<!-- rumdl-disable -->
## Examples

### Valid (consistent style)

```markdown
* Item 1
* Item 2
  * Nested item 1
  * Nested item 2
* Item 3
```

```markdown
- Item 1
- Item 2
  - Nested item 1
  - Nested item 2
- Item 3
```

### Invalid

```markdown
* Item 1
+ Item 2
  - Nested item 1
  * Nested item 2
- Item 3
```

### Fixed

If the first list marker found was a dash:

```markdown
- Item 1
- Item 2
  - Nested item 1
  - Nested item 2
- Item 3
```

## Special Cases

1. List markers in code blocks are ignored:
   ```markdown
   * Item 1
   ```
   * Not a list item
   + Also not a list item
   ```
   * Item 2
   ```

2. List markers in blockquotes are ignored:
   ```markdown
   * Item 1
   > * Quoted item
   > + Another quoted item
   * Item 2
   ```

3. List continuations are preserved:
   ```markdown
   * Item 1
     Continuation text
   * Item 2
   ```

4. Mixed ordered and unordered lists are handled:
   ```markdown
   1. Ordered item
      * Unordered sub-item
      * Another sub-item
   2. Ordered item
   ```

<!-- rumdl-enable -->

## Related Rules

- [MD005]md005.md - List indentation
- [MD007]md007.md - Unordered list indentation
- [MD030]md030.md - List marker spacing