13 KiB
name, description
| name | description |
|---|---|
| skill-markdown-quiz-exporter-tool | Export quiz markdown to Anki, Flashcard Hero, HTML |
When to use
- Export quiz markdown to flashcard formats (Anki, Flashcard Hero)
- Generate interactive HTML quiz pages
- Convert study materials to multiple formats
markdown-quiz-exporter-tool Skill
Purpose
The markdown-quiz-exporter-tool is a CLI tool that exports quiz markdown files to multiple formats including Anki CSV, Flashcard Hero TSV, and interactive HTML quiz pages. It supports single-choice and multiple-choice questions with explanations.
When to Use This Skill
Use this skill when:
- Converting quiz markdown to flashcard applications (Anki, Flashcard Hero)
- Generating self-contained HTML quiz pages with interactive features
- Exporting study materials to different formats for students
- Creating quiz applications with dark/light mode support
- Building responsive mobile-friendly quiz interfaces
Do NOT use this skill for:
- Creating the original quiz markdown content (use a text editor)
- Importing flashcards back to markdown format
- Modifying existing quiz content (edit the markdown directly)
CLI Tool: markdown-quiz-exporter-tool
A command-line utility for exporting quiz markdown files to multiple formats with comprehensive validation and error handling.
Installation
# Clone repository
git clone https://github.com/dnvriend/markdown-quiz-exporter-tool.git
cd markdown-quiz-exporter-tool
# Install with uv
uv tool install .
# Verify installation
markdown-quiz-exporter-tool --version
Prerequisites
- Python 3.14+
- uv package manager
- Quiz markdown files in the correct format
Quick Start
# Export to Flashcard Hero
markdown-quiz-exporter-tool flashhero quiz.md flashcards.tsv
# Export to Anki (quiz format)
markdown-quiz-exporter-tool anki quiz.md cards.csv
# Generate HTML quiz
markdown-quiz-exporter-tool quiz-html quiz.md quiz.html --title "My Quiz"
Progressive Disclosure
📖 Core Commands (Click to expand)
flashhero - Export to Flashcard Hero
Export quiz markdown to Flashcard Hero TSV format with tab-separated question/answer pairs.
Usage:
markdown-quiz-exporter-tool flashhero INPUT_FILE OUTPUT_FILE [OPTIONS]
Arguments:
INPUT_FILE: Path to quiz markdown file (*.md)OUTPUT_FILE: Path where TSV file will be written (*.tsv)--force/-f: Overwrite output file if it exists-v/-vv/-vvv: Verbosity levels (INFO/DEBUG/TRACE)
Examples:
# Basic export
markdown-quiz-exporter-tool flashhero quiz.md flashcards.tsv
# Overwrite existing file
markdown-quiz-exporter-tool flashhero quiz.md flashcards.tsv --force
# With verbose output for debugging
markdown-quiz-exporter-tool flashhero quiz.md flashcards.tsv -vv
Output Format:
Question<TAB>Answer
Question<TAB>Answer1; Answer2; Answer3
For questions with multiple correct answers, they are joined with "; " separator.
anki - Export to Anki
Export quiz markdown to Anki CSV format supporting two note types: AllInOne (quiz) and Basic (recall).
Usage:
markdown-quiz-exporter-tool anki INPUT_FILE OUTPUT_FILE [OPTIONS]
Arguments:
INPUT_FILE: Path to quiz markdown file (*.md)OUTPUT_FILE: Path where CSV file will be written (*.csv)--quiz: Export as AllInOne quiz format (default)--recall: Export as Basic recall format--force/-f: Overwrite output file if it exists-v/-vv/-vvv: Verbosity levels (INFO/DEBUG/TRACE)
Examples:
# Export as quiz format (default)
markdown-quiz-exporter-tool anki quiz.md quiz-cards.csv
# Export as recall format
markdown-quiz-exporter-tool anki quiz.md recall-cards.csv --recall
# Overwrite existing file
markdown-quiz-exporter-tool anki quiz.md cards.csv --force
# With verbose output
markdown-quiz-exporter-tool anki quiz.md cards.csv -vv
Output Formats:
AllInOne (--quiz):
Question;Title;QType;Q_1;Q_2;Q_3;Q_4;Q_5;Answers;Sources;Extra1;Tags
Basic (--recall):
Front;Back;Tags
Note: AllInOne format supports maximum 5 answer options. Questions with more than 5 options will have only the first 5 included.
quiz-html - Generate Interactive HTML Quiz
Generate self-contained HTML quiz page with embedded CSS, JavaScript, and quiz data.
Usage:
markdown-quiz-exporter-tool quiz-html INPUT_FILE OUTPUT_FILE --title "TITLE" [OPTIONS]
Arguments:
INPUT_FILE: Path to quiz markdown file (*.md)OUTPUT_FILE: Path where HTML file will be written (*.html)--title "TITLE": Quiz title displayed on intro page (required)--force/-f: Overwrite output file if exists-v/-vv/-vvv: Verbosity levels (INFO/DEBUG/TRACE)
Examples:
# Generate quiz HTML
markdown-quiz-exporter-tool quiz-html quiz.md quiz.html --title "My Quiz"
# Overwrite existing file
markdown-quiz-exporter-tool quiz-html quiz.md quiz.html --title "Quiz" --force
# With verbose output
markdown-quiz-exporter-tool quiz-html quiz.md quiz.html --title "Quiz" -vv
Features:
- Dark/light mode with system preference detection and manual toggle
- Configurable question/answer shuffling on intro page
- Progress tracking with visual progress bar
- Timer tracking elapsed time
- Statistics page with score percentage and per-question review
- Review mode for detailed answer inspection
- Session storage for progress persistence across page refreshes
- Mobile-responsive design using Tailwind CSS
- Markdown rendering in explanation text
- Always-visible "Volgende" (Next) button for easy navigation
- Single self-contained HTML file (no external dependencies except Tailwind CDN)
Output: Self-contained HTML file (typically 30-50 KB) containing:
- Embedded quiz data (JSON)
- Embedded JavaScript quiz application
- Embedded CSS styling
- Tailwind CSS via CDN
- Marked.js for markdown rendering
📝 Quiz Markdown Format (Click to expand)
Format Specification
Quiz markdown files must follow this format:
Question text here?
- (X) Correct answer
- ( ) Wrong answer 1
- ( ) Wrong answer 2
# reason
Explanation text here with markdown support.
Can include **bold**, *italic*, and other markdown features.
---
Another question?
- [X] Correct answer 1
- [X] Correct answer 2
- [ ] Wrong answer
# reason
Explanation for multiple choice question.
---
Format Rules
- Question Text: Plain text (no
##header needed) - Single Choice Answers: Use
( )for incorrect,(X)for correct (radio buttons) - Multiple Choice Answers: Use
[ ]for incorrect,[X]for correct (checkboxes) - Explanation: Use
# reasonheader followed by explanation text - Separator: Use
---between questions - Question Types:
- Single choice: Use
( )and(X)notation - Multiple choice: Use
[ ]and[X]notation
- Single choice: Use
Category Extraction
Questions can include category prefixes (used by HTML quiz for badges):
CATEGORY: Question text?
This will:
- Extract "CATEGORY" as the category
- Display "Question text?" as the clean question text
- Show category badge in HTML quiz
Example:
S3: What is the max size of an S3 object in GB?
- ( ) 1000
- (X) 5000
- ( ) 10000
# reason
The maximum size is 5TB or 5000GB.
---
⚙️ Advanced Features (Click to expand)
HTML Quiz Interactive Features
Configuration Page:
- Shuffle questions checkbox
- Shuffle answers checkbox
- Auto-advance option (disabled by default)
- Auto-advance delay setting (1-10 seconds)
Question Page:
- Progress bar showing current question/total
- Category badge (if present)
- Radio buttons (single choice) or checkboxes (multiple choice)
- "Controleren" (Check) button
- "Volgende" (Next) button (always visible)
- "Vorige" (Previous) button (if not first question)
- Visual feedback: green for correct, red for incorrect
- Markdown-rendered explanation after checking
Statistics Page:
- Circular score percentage indicator
- Score fraction (correct/total)
- Time elapsed (MM:SS format)
- Status: Geslaagd (≥75%), Voldoende (≥50%), Onvoldoende (<50%)
- Clickable question list for review
Review Mode:
- Read-only view of questions
- All correct answers highlighted in green
- Incorrect selected answers highlighted in red
- Full explanation visible
- "Terug naar resultaten" (Back to results) button
Dark/Light Mode:
- Auto-detect system preference on load
- Manual toggle button (fixed top-right)
- Smooth transitions between modes
- Custom scrollbar styling for dark mode
State Persistence:
- Uses session storage (not local storage)
- Saves: current page, answers, checked status, config, timestamps
- Clears on browser close
- Persists on page refresh
Verbosity Levels
Control output detail with -v flags:
# Default: Warnings only
markdown-quiz-exporter-tool anki quiz.md output.csv
# INFO: High-level operations
markdown-quiz-exporter-tool anki quiz.md output.csv -v
# DEBUG: Detailed debugging
markdown-quiz-exporter-tool anki quiz.md output.csv -vv
# TRACE: Library internals
markdown-quiz-exporter-tool anki quiz.md output.csv -vvv
Force Overwrite
By default, commands fail if output file exists:
# Fails if output.csv exists
markdown-quiz-exporter-tool anki quiz.md output.csv
# Overwrites without confirmation
markdown-quiz-exporter-tool anki quiz.md output.csv --force
🔧 Troubleshooting (Click to expand)
Common Issues
Issue: "Error: Quiz file not found"
Error: Quiz file not found: quiz.md
Solution:
- Verify file path is correct
- Use absolute path if relative path fails
- Check file exists:
ls -la quiz.md
Issue: "Error parsing quiz file"
Error parsing quiz file: Invalid question format
Solution:
- Verify markdown format follows specification
- Check for missing
##question headers - Ensure answers use
- [ ]or- [x]format - Verify
---separators between questions - Use
-vvfor detailed parse errors
Issue: "Output file already exists"
Error: Output file 'output.csv' already exists. Use --force to overwrite.
Solution:
- Add
--forceflag to overwrite - Or delete existing file first
- Or use different output filename
Issue: "Questions exceed 5-option limit"
Warning: 3 question(s) have more than 5 answer options.
Only the first 5 will be included in AllInOne format.
Solution:
- This is expected for Anki AllInOne format (5 option limit)
- Options:
- Use Basic format:
--recall - Reduce answers to 5 per question
- Accept that only first 5 are exported
- Use Basic format:
Issue: "HTML quiz not displaying correctly"
Symptoms:
- Layout broken
- Dark mode not working
- JavaScript errors
Solution:
- Verify file opened in modern browser (Chrome 90+, Firefox 88+, Safari 14+)
- Check browser console for JavaScript errors
- Ensure internet connection (Tailwind CDN required)
- Clear browser cache and reload
- Try opening in different browser
Issue: "Markdown not rendering in quiz explanation"
Solution:
- Verify
marked.jsloaded (check browser console) - Ensure markdown syntax is correct
- Try basic markdown first (bold, italic)
- Check browser supports ES6+ JavaScript
Getting Help
# Main help
markdown-quiz-exporter-tool --help
# Command-specific help
markdown-quiz-exporter-tool flashhero --help
markdown-quiz-exporter-tool anki --help
markdown-quiz-exporter-tool quiz-html --help
# Version information
markdown-quiz-exporter-tool --version
# Shell completion
markdown-quiz-exporter-tool completion bash
markdown-quiz-exporter-tool completion zsh
Exit Codes
0: Success1: Error (file not found, parse error, write error, etc.)
Output Formats
Flashcard Hero TSV:
- Tab-separated values
- Two columns: Question, Answer
- Multiple correct answers joined with "; "
Anki AllInOne CSV:
- Semicolon-separated values
- 12 columns with question, answer options, correct answers
- Maximum 5 answer options per question
Anki Basic CSV:
- Semicolon-separated values
- 3 columns: Front, Back, Tags
- Simple question/answer format
HTML Quiz:
- Self-contained HTML5 file
- Embedded JSON quiz data
- Embedded JavaScript application
- Tailwind CSS via CDN
- Marked.js for markdown rendering
- Typically 30-50 KB file size
Best Practices
- Validate Quiz Format: Always check your markdown follows the format specification before exporting
- Use Verbosity: Add
-vvwhen debugging to see detailed error messages - Keep Backups: Use
--forcecarefully to avoid overwriting important files - Test HTML Quiz: Open generated HTML in browser to verify all features work correctly
- Limit Answer Options: For Anki AllInOne format, keep questions to 5 or fewer options
- Use Categories: Add category prefixes (e.g., "S3:", "IAM:") for better organization in HTML quiz
- Write Clear Explanations: Use markdown formatting in explanations for better readability
- Mobile Testing: Test HTML quiz on mobile devices for responsive design verification
Resources
- GitHub: https://github.com/dnvriend/markdown-quiz-exporter-tool
- Documentation: See README.md in repository
- Quiz Format: See example-quiz.md for format reference
- HTML Example: See example-quiz.html for generated output example