Version 0.2.2
Added
Spellbook Wizard - Interactive Command Menu
New interactive wizard makes Django Spellbook easier to use with a menu-driven interface.
Usage:
python manage.py spellbook_wizard
What you get:
-
Clean menu interface for all Spellbook commands
-
No need to remember command names and flags
-
Categories organize related tasks
-
Easy navigation with numbered selections
Example session:
Spellbook Wizard
[1] Batch process
[2] Validate
[0] Exit
> 1
Batch Process
[1] Process markdown (spellbook_md)
[0] โ Back
> 1
Running spellbook_md...
[normal spellbook_md output]
Current features:
-
Batch process category with spellbook_md integration
-
Validate category with frontmatter validation
Frontmatter Validation
New validation tools help ensure your markdown files have proper metadata.
Features:
-
Audit mode - Reports frontmatter issues without changes
-
Interactive fix mode - Walk through fixes with user prompts
-
Validates required fields: title, published, author, tags
-
Type checking for dates (YYYY-MM-DD format), lists, and strings
-
Shortcuts like 'today' for date entry, 'skip' to skip fixes
Usage - Standalone Command:
# Audit mode (reports issues only)
python manage.py spellbook_validate
# Interactive fix mode
python manage.py spellbook_validate --fix
# Validate specific directory
python manage.py spellbook_validate --source-path /path/to/markdown
Usage - Via Wizard:
python manage.py spellbook_wizard
# Select [2] Validate โ [1] Validate frontmatter
What it validates:
-
title: Required, non-empty string -
published: Required, valid date in YYYY-MM-DD format -
author: Required, non-empty string -
tags: Required, must be a list with at least 1 item
Example output:
โ docs/getting-started.md
โข Missing: author
โข tags: must have at least 1 item
โ blog/old-post.md
โข published: invalid date format "Dec 2025" (expected YYYY-MM-DD)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๏ธ 2 pages with issues
โ
45 pages valid
Run interactive fix? (y/n):
Benefits:
-
Perfect for new users learning Spellbook
-
Faster workflow for common tasks
-
Consistent interface as features grow
-
Graceful error handling