> But I do think you're making things overly complicated by trying to do your edits outside of Mnemosyne...
Thanks, I take your advice with consideration.
But perhaps sharing a bit more my use case could be beneficial to others.
Long form: I usually have my computer in front of me when studying, and I like to have a text editor close at hand to add notes with ease. In this sense, having Mnemosyne as a [rec file](
https://www.gnu.org/software/recutils/) makes things easier for me. With 3 — 4 key strokes I'm at the right place adding a new card (see the example below) (I'm a vim/keyboard-first user). Also, as I study, my cards/knowledge grows over time (so cards themselves change a few times). So I would like to allow my cards to easily (= keyboard first in my case) evolve. Not just that, I like to version control all my manual work, as it makes it easy to allow for either corrections and/or backups (text is easier in this case compared to a sqllite database).
Example of a card:
```
id: 72e48ba2-207b-4dcd-8bad-f7673df85be8
front:
+ Is there historical basis for a Dorian Invasion?
back:
+ No, there is no such thing as the Dorian Invasion.
```
Which then got expanded into:
```
id: 72e48ba2-207b-4dcd-8bad-f7673df85be8
front:
+ Is there historical basis for a Dorian Invasion?
back:
+ No, there is no such thing as the Dorian Invasion.
+
+ «Greece in the Making, 1200-479 BC»: "It is perfectly possible, therefore, to explain how there could come to be traditions of Dorian invasion and Ionian migration when there were no such historical events. What is more, when the archaeological record is examined in detail it does not in fact support claims that those events occurred."
```
Notice how (apparently) using the same `id` keeps the state of the same "idea" in Mnemosyne (I have verified this in practice) (the cards content might differ slightly over time).
——————————
So summarizing my use case:
* Storing cards as plain text has its advantages, namely version control and ease of edition; I can edit cards outside of a point-and-click GUI, and this makes a lot of difference as I usually do so on-the-fly as I study. If adding cards has some friction (open and wait for the program to launch, click on a few boxes, manually add tags, etc) people will add fewer cards (and possibly use the program less; that's how I feel [I know I'm only one very peculiar user of this project]).
* I would like cards that have the same ID to be preserved as they (slightly) evolve (e.g. adding citations, adding more elaborate answers, etc).
* I would like to be able to non-interactively import this "persistent" set of cards → I have not tried this one, but hopefully Mnemosyne has a CLI for that.
This degree of automation makes things way more easier for me. Think everything as part of a series of `make` rules:
a. A plaintext file changes.
b. I run my program (I intend to share here shortly), and it creates the cards in the `.card` format (compressed XML in a certain schema).
c. Mnemosyne's CLI then import these and "merges" (updates?) the existing cards with their new slightly altered forms; **the statistics are kept**.
This is a pretty powerful, time saving and inviting setup. This frees up some time and incentives Mnemosyne use (again, that's how I/one user feel). I know this is very particular to my use case but I think other users who happen to be developers might benefit from some of the ideas here.
Again, thanks for all your work on Mnemosyne.
Peter Bienstman در تاریخ دوشنبه ۱۹ اوت ۲۰۲۴ ساعت ۱:۱۵:۴۰ (UTC-3) نوشت: