DecksMD 1.11.0
Released 22 May 2026
Changes
Edit flashcards inline from the Flashcard Manager
- Each row in the Flashcard Manager now has a pencil button in a new, right-pinned Edit column that stays visible during horizontal scroll. Clicking it opens a new edit modal for that card.
- The modal styles itself like the review modal — same card-side look, vertical field layout, sticky Save / Cancel footer. Each field has a per-field Edit ↔ Preview toggle button (eye / pencil icon) in the top-right corner, just like the existing "go to file" button in the review modal.
- Field set is type-aware:
- Header-paragraph: Header (front) + Body (back). Header field is centered, larger, and bold to match how it renders during review.
- Table: Front + Back + Notes (each editable, stacked vertically).
- Cloze: Header (front) + Body (the sentence with
==spans==). Editing either field rewrites the source.mdfile at the right location. - Image-occlusion: read-only image preview + editable list item.
- Saving routes through a new
FlashcardWriterservice that splices the change into the original markdown file via Obsidian's atomicvault.processand then re-syncs the affected deck so the DB matches. - A pre-flight content check detects out-of-band edits (e.g. you edited the source file directly in another pane while the modal was open) and asks you to refresh instead of overwriting.
Proper escaping for table cells
- Editing a table cell with a
|or a newline used to break the table row. The writer now escapes|as\|and\nas<br>on save, and the parser un-escapes them on read — full round-trip preservation. You can put pipes and line breaks in cells without breaking the markdown.
Flashcard Manager — fixes and polish
- Edit button column pinned to the right edge of the table (always reachable; doesn't move when you scroll horizontally).
- Notes column added and sortable.
- Card tags column is now click-to-sort.
- Column widths are resizable by dragging the divider on the right of each header cell. Widths persist across reloads.
- Orphan flashcards (cards whose source
.mdfile was deleted outside Obsidian) are now cleaned up when the manager opens, plus a defense-in-depth filter so they never render even during a sync race.
Review modal — cloze indicator fix
- A card with N clozes used to show
Cloze 1/1if only one was due. The indicator now reads(span index in source) / (total spans)— e.g. reviewing the 2nd span of 3 reads2/3, even if spans 1 and 3 aren't due today.
Image-occlusion — broader detection
- The parser now recognizes Obsidian's full wikilink image syntax with size or alt qualifier (
![[brain.png|400]],![[brain.png|brain anatomy]]) plus standard markdown image syntax () and additional formats (avif, heic, heif, tif/tiff). Notes that previously stored asclozeby mistake will re-parse asimage-occlusionon the next sync.
Translation guide
- New
TRANSLATING.mdwalks contributors through adding or refining a locale, with a language switcher linking from every locale-specific README.
Also on GitHub.