skill-markdown-quiz-exporter-tool
Export quiz markdown to Anki, Flashcard Hero, HTML
When & Why to Use This Skill
The markdown-quiz-exporter-tool is a powerful CLI utility designed to transform standard markdown quiz files into various interactive and educational formats. It enables users to seamlessly export study materials to popular flashcard applications like Anki and Flashcard Hero, or generate self-contained, mobile-responsive HTML quiz pages. By supporting features like single/multiple-choice questions, detailed explanations, and dark mode, it serves as an essential bridge between simple text-based content and professional digital learning tools.
Use Cases
- Converting markdown-based study notes into Anki flashcards to utilize spaced repetition for long-term retention.
- Generating interactive HTML quiz pages for student self-assessment that include progress tracking and performance statistics.
- Exporting quiz content to Flashcard Hero for synchronized studying across mobile and desktop devices.
- Creating lightweight, offline-capable quiz applications for educational workshops or training sessions.
- Streamlining the workflow for educators to maintain a single markdown source of truth while distributing materials in multiple formats.
| name | skill-markdown-quiz-exporter-tool |
|---|---|
| description | 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