- TBD
- Restored the scan command wiring so the Scan vault button works again.
- Fixed missing styles so deck star and archive controls show up.
- Fixed a critical issue where LaTeX math commands (e.g.,
\text,\frac) were being incorrectly parsed as control characters in AI-generated quizzes, causing equations to render incorrectly. - Improved robustness of JSON cleaning for AI responses to handle both escaped and literal control characters.
- Fixed an issue where LaTeX math commands (e.g.,
\frac,\text) were being incorrectly parsed as JSON control characters, causing math equations to break in AI-generated quizzes.
- Fixed an issue where the AI would generate disabled question types (e.g., fill-in-the-blank) even when toggled off.
- Updated AI prompt generation to dynamically include only the requested question formats and examples.
- Improved error handling for AI providers to display specific API error messages (e.g., "Rate limit exceeded") instead of generic status codes.
- Fixed an issue where Gemini API errors were not being correctly reported to the user.
- OpenRouter Support: Now supports OpenRouter as a provider for AI quiz generation, giving access to a wide range of models (including Claude 3, GPT-4, Llama 3, etc.)
- Robust AI Error Handling: Added smart JSON cleaning to all AI providers (OpenAI, Anthropic, Gemini, Custom, OpenRouter) to automatically fix common formatting issues like markdown code blocks and invalid escape sequences in AI responses.
- Fixed "Bad escaped character in JSON" errors that could occur with Gemini and other providers when they generate invalid JSON.
- Improved resilience against truncated responses from AI models.
- Card Selection for AI Quiz Generation: When AI quiz generation is enabled, users can now select specific cards to include in the AI context
- Card selection dropdown appears when AI toggle is enabled
- Searchable list of cards with card front text and deck badges
- Select all / Deselect all buttons for quick selection
- Card selection respects deck filter (shows intersection)
- Selection persists while modal is open
- Card selection automatically updates when deck filter changes
- Updated quiz generation to use selected cards when AI is enabled
- Improved card filtering logic to prioritize card selection over deck filter when both are set
- Enhanced validation to ensure at least one card is selected for AI quiz generation
- Added audio support documentation to README
- Updated .gitignore to exclude developer files (coverage, scripts, test files)
- Version bump to 1.0.3
- Update details for version 1.0.2
- Update details for version 1.0.1
- Traditional Quiz Generation: Rule-based algorithm with multiple choice, fill-in-the-blank, and true/false questions
- AI Quiz Generation: Integration with OpenAI, Anthropic, and custom AI providers
- OpenAI GPT-4, GPT-4 Turbo, GPT-3.5 Turbo support
- Anthropic Claude 3.5 Sonnet, Opus, Haiku support
- Custom OpenAI-compatible API support (Ollama, LM Studio, etc.)
- Configurable Settings:
- Toggle AI generation on/off
- Select AI provider and model
- Adjust temperature and max tokens
- Custom system prompts
- API key management
- Question Types: Multiple choice, fill-in-the-blank, true/false
- Keyboard Shortcuts:
←/→Navigate between questionsEnter/SpaceNext question or finish quiz1-4Select multiple choice answersT/FSelect true/false answersEscClose quiz
- Progress Tracking: Visual progress bar and question counter
- Results Screen: Detailed performance breakdown with explanations
- Question Review: See correct/incorrect answers with color coding
- Complete History: Browse all completed quizzes
- Sorting & Filtering:
- Sort by date, score, or title
- Filter by generation method (all/traditional/AI)
- Quiz Management:
- View quiz details
- Retake quizzes
- Delete quizzes
- Statistics Summary: Overview cards with total quizzes, average score, and more
- Quiz Performance Section:
- Overview cards (quizzes taken, avg score, questions answered, accuracy)
- Recent quiz history (last 5 quizzes)
- Question type performance breakdown
- Color-coded scores (excellent/good/fair/poor)
- AI vs Traditional quiz badges
- Existing Features:
- Flashcard overview (total, due, new, review)
- Deck breakdown with progress bars
- 30-day review activity heatmap
- Card distribution charts
Created three detailed example files:
- quiz-example.md: 50+ cards optimized for quiz generation
- World history topics
- Mix of all question formats
- Good distractor candidates
- cloze-advanced-example.md: 100+ cloze deletion examples
- Computer science, math, biology, physics
- Multiple concepts per field
- Best practices guide
- multiline-format-example.md: 10 detailed programming concept cards
- Rich formatting with code examples
- Tables and lists
- Multi-paragraph explanations
- Modern Design System: Consistent color palette and spacing
- Interactive Elements: Hover effects, transitions, animations
- Color-Coded Feedback:
- Quiz scores (green/blue/orange/red)
- Question types badges
- Generation method indicators
- Mobile Responsive: All new views work on small screens
- Accessibility: ARIA labels, keyboard navigation, focus states
- Quiz Statistics: Clean cards with icons and gradients
- Quiz History: Card-based layout with action buttons
- Keyboard Hints: Contextual shortcut display
- Empty States: Helpful messages with action buttons
src/models/quiz.ts- Quiz data models and typessrc/quiz/traditional-quiz-generator.ts- Rule-based quiz generationsrc/quiz/ai-quiz-generator.ts- AI-powered quiz generationsrc/services/quiz-storage.ts- Quiz persistence layersrc/commands/generate-quiz-command.ts- Quiz generation command
src/ui/quiz-view.ts- Interactive quiz interfacesrc/ui/quiz-history-view.ts- Quiz history browser- Enhanced
src/ui/statistics-view.ts- Added quiz statistics section
examples/quiz-example.md- World history quiz prepexamples/cloze-advanced-example.md- Advanced cloze deletionsexamples/multiline-format-example.md- Programming concepts with ?? format
- TypeScript strict mode compliance
- Proper null checks and error handling
- Type-safe AI response parsing
- Comprehensive JSDoc comments
- Modular quiz generation system
- Pluggable AI provider architecture
- Separation of concerns (models/services/ui)
- Event-driven keyboard handling
- Quiz serialization/deserialization
- History tracking with chronological ordering
- Statistics aggregation
- Graceful error handling for missing data
- Total quizzes taken
- Average score across all quizzes
- Total questions answered
- Overall accuracy percentage
- AI vs traditional breakdown
- Per-question-type accuracy
- Score trends over time
- Time taken per quiz
- Completion rates
- Enable/disable AI generation
- Provider selection (OpenAI/Anthropic/Custom)
- Model dropdowns per provider
- API key fields (password-protected)
- Temperature slider (0.0 - 2.0)
- Max tokens input
- Custom system prompt textarea
- Configuration warnings for missing credentials
Flashly: Generate Quiz- Open quiz generation modalFlashly: View Quiz History- Browse completed quizzesFlashly: View Statistics- Enhanced with quiz performance
- Comprehensive README with quiz generation section
- AI provider setup instructions with links
- Privacy notes about cloud vs local models
- Example files with inline documentation
- Best practices for quiz generation
- API keys stored securely in Obsidian's data
- Password-type inputs for sensitive fields
- Clear warnings when credentials missing
- Privacy notice about data sent to AI providers
- One-click quiz generation from flashcards
- Seamless AI integration with fallback to traditional
- Intuitive keyboard shortcuts for power users
- Visual feedback for all interactions
- No data loss - quizzes persist across sessions
- Flexible retakes - generate fresh quiz instances
- Fixed TypeScript null pointer in quiz view navigation
- Added missing
quizStorageproperty to main plugin - Resolved ESBuild platform mismatch (documented workaround)
- Fixed keyboard event handler cleanup
- Efficient quiz history rendering
- Optimized statistics calculations
- Cached quiz data in memory
- Minimal re-renders on user interactions
- Obsidian v1.0.0 or higher
- Node.js 16+ (for development)
- Optional: AI provider API key (for AI quiz generation)
# Install dependencies
npm install
# Development mode with hot reload
npm run dev
# Production build
npm run build
# Run tests
npm test# Type check without emitting
npx tsc --noEmit --skipLibCheck- Export quizzes to PDF/Markdown
- Quiz templates and presets
- Collaborative quiz sharing
- Advanced statistics with charts
- Spaced repetition for quiz retakes
- Custom quiz question weighting
- Quiz difficulty adjustment
- More AI providers (Google Gemini, etc.)
- Bulk quiz generation
- Quiz categories and tags
- ESBuild platform mismatch in WSL (workaround: run
npm installon Windows) - Jest-mock type definition requires
skipLibCheck
- Built with Obsidian Plugin API
- FSRS algorithm via ts-fsrs
- AI integration: OpenAI & Anthropic APIs
- Inspired by Anki, Quizlet, and the spaced repetition community
Version: Development Build Last Updated: 2025-11-01 Status: Feature-complete for quiz generation system