mix docs.validate (statifier v1.9.0)

View Source

Validates code examples in documentation files.

This task extracts Elixir code blocks from markdown files and validates them:

  • Syntax checking (compilation)
  • Basic execution for simple examples
  • API compatibility checking
  • SCXML validation for state machine examples

Usage

mix docs.validate                    # Validate all docs
mix docs.validate --path docs/       # Validate specific directory
mix docs.validate --file README.md   # Validate specific file
mix docs.validate --fix              # Auto-fix simple issues
mix docs.validate --verbose          # Show detailed output

Example Code Block Formats

The task recognizes several code block patterns:

Basic Elixir Code

{:ok, document} = Statifier.parse(xml)

Expected Outputs (validates return values)

active_states = MapSet.new(["idle", "running"])
# Returns: MapSet.new(["idle", "running"])

SCXML Examples (validates XML structure)

<scxml initial="start">
  <state id="start"/>
</scxml>

Skip Validation (for pseudo-code)

# skip-validation
SomeHypotheticalAPI.call()

Summary

Functions

Callback implementation for Mix.Task.run/1.

Functions

run(args)

Callback implementation for Mix.Task.run/1.