Skip to content

Commit fb17771

Browse files
committed
Merge pull request ObsidianToAnki#673 from implementation-rewrite into Dev
2 parents 8af1b4a + d26deb9 commit fb17771

File tree

9 files changed

+1736
-353
lines changed

9 files changed

+1736
-353
lines changed

REDESIGN_NOTES.md

Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
# Plugin Redesign - Version 4.0
2+
3+
## 🎉 Major Improvements
4+
5+
This redesign brings significant UX improvements, better performance, and more flexible sync options.
6+
7+
---
8+
9+
## ✨ New Features
10+
11+
### 1. **Improved Settings UI**
12+
13+
#### Tab-Based Organization
14+
Settings are now organized into clear tabs:
15+
- **General**: Default settings, scan directory, ignored files
16+
- **Note Types**: Configure note type mappings with searchable table
17+
- **Folders**: Folder-specific deck and tag settings with search
18+
- **Syntax**: Customize syntax markers
19+
- **Advanced**: Actions and import/export settings
20+
21+
#### Searchable Tables
22+
- Both Note Types and Folders tables now have search functionality
23+
- Quickly find specific note types or folders without scrolling
24+
25+
#### Folder Picker
26+
- **Browse Button** next to Scan Directory field
27+
- Visual folder selection instead of typing paths
28+
- Prevents typos and makes configuration easier
29+
30+
#### Import/Export Settings
31+
- **Export** your settings to JSON file for backup
32+
- **Import** settings from JSON file to restore or share configurations
33+
34+
---
35+
36+
### 2. **Flexible Sync Commands**
37+
38+
Three new sync options with keyboard shortcuts:
39+
40+
| Command | Description | Use Case |
41+
|---------|-------------|----------|
42+
| **Sync Current File** | Sync only the active file | Quick updates to single file |
43+
| **Sync Current Folder** | Sync all files in current folder | Work on specific project/topic |
44+
| **Sync Entire Vault** | Sync all files (or scan directory) | Full sync (existing behavior) |
45+
46+
**How to use:**
47+
1. Via Command Palette (Ctrl/Cmd + P):
48+
- "Obsidian to Anki: Sync Current File"
49+
- "Obsidian to Anki: Sync Current Folder"
50+
- "Obsidian to Anki: Sync Entire Vault"
51+
52+
2. Via Context Menu (Right-click):
53+
- Right-click on any markdown file → "Sync to Anki"
54+
- Right-click on any folder → "Sync Folder to Anki"
55+
56+
3. Via Ribbon Icon (same as before):
57+
- Click the Anki icon to sync entire vault
58+
59+
---
60+
61+
### 3. **Progress Tracking**
62+
63+
#### Visual Progress Modal
64+
- Shows real-time progress during sync
65+
- Displays current operation status
66+
- Shows percentage and file counts
67+
- Can be cancelled if needed
68+
69+
#### Status Bar Indicator
70+
- New status bar item shows sync state:
71+
- 📝 **Anki** - Idle, ready to sync
72+
- 🔄 **Syncing...** - Sync in progress
73+
-**Synced** - Sync completed successfully (3s timeout)
74+
-**Error** - Sync failed
75+
76+
---
77+
78+
### 4. **Performance Improvements**
79+
80+
#### Better File Processing
81+
- Shows number of changed files before processing
82+
- Skips unchanged files (using hash comparison)
83+
- "No changes detected" notification when nothing to sync
84+
85+
#### Improved Error Handling
86+
- Clear error messages when Anki is not running
87+
- Better feedback on connection issues
88+
- Graceful degradation on errors
89+
90+
#### Batch Processing
91+
- Files are processed in optimized batches
92+
- Progress updates show current batch
93+
94+
---
95+
96+
## 🎨 UI/UX Improvements
97+
98+
### Modern Design
99+
- Cleaner tab interface
100+
- Better visual hierarchy
101+
- Improved spacing and typography
102+
- Consistent use of Obsidian's design tokens
103+
104+
### Better Feedback
105+
- More informative notifications
106+
- Success messages show number of files synced
107+
- Clear error messages with actionable hints
108+
- Progress modal prevents user confusion
109+
110+
### Accessibility
111+
- Keyboard navigation in folder picker
112+
- Search inputs are properly labeled
113+
- Better contrast for status indicators
114+
115+
---
116+
117+
## 🛠️ Technical Improvements
118+
119+
### New Components
120+
- `TabContainer` - Reusable tab interface
121+
- `SearchableTable` - Tables with built-in search
122+
- `FolderSuggester` - Fuzzy folder picker modal
123+
- `ProgressModal` - Progress tracking UI
124+
125+
### Code Organization
126+
- UI components in `src/ui/` folder
127+
- Cleaner separation of concerns
128+
- Better TypeScript types
129+
- Improved error handling
130+
131+
### Backward Compatibility
132+
- All existing features preserved
133+
- Settings automatically migrate
134+
- Old workflows still work
135+
136+
---
137+
138+
## 📝 Migration Notes
139+
140+
### Settings
141+
- Settings format unchanged - no migration needed
142+
- New import/export feature available for backup
143+
- Old settings file backed up as `settings-old.ts.backup`
144+
145+
### Commands
146+
- Old "Scan Vault" command renamed to "Sync Entire Vault"
147+
- Ribbon icon behavior unchanged
148+
- All existing hotkeys still work
149+
150+
---
151+
152+
## 🔮 Future Enhancements
153+
154+
Potential improvements for future versions:
155+
- Auto-sync on file save (optional)
156+
- Sync queue for multiple operations
157+
- Detailed sync logs/history
158+
- Conflict resolution UI
159+
- More granular progress tracking
160+
- Sync profiles/presets
161+
162+
---
163+
164+
## 🐛 Known Issues
165+
166+
None at this time. Please report issues on GitHub.
167+
168+
---
169+
170+
## 📚 How to Contribute
171+
172+
1. Test the new features
173+
2. Report bugs or suggest improvements
174+
3. Submit pull requests
175+
4. Share your custom configurations
176+
177+
---
178+
179+
## 🙏 Credits
180+
181+
Original plugin by Pseudonium
182+
Redesign improvements: Enhanced UX, new sync commands, progress tracking
183+
184+
---
185+
186+
**Enjoy the improved Obsidian to Anki experience!** 🎉

0 commit comments

Comments
 (0)