DecksMD
← All releases

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 .md file at the right location.
    • Image-occlusion: read-only image preview + editable list item.
  • Saving routes through a new FlashcardWriter service that splices the change into the original markdown file via Obsidian's atomic vault.process and 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 \n as <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 .md file 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/1 if only one was due. The indicator now reads (span index in source) / (total spans) — e.g. reviewing the 2nd span of 3 reads 2/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 (![alt](brain.png)) and additional formats (avif, heic, heif, tif/tiff). Notes that previously stored as cloze by mistake will re-parse as image-occlusion on the next sync.

Translation guide

  • New TRANSLATING.md walks contributors through adding or refining a locale, with a language switcher linking from every locale-specific README.

Also on GitHub.