voglio usare il modulo capture
di org-mode
per creare un database di parole nuove che voglio imparare, e quindi utilizzare il modulo drill
per impararli (schede flash stile) .combinare i moduli in modalità di cattura e trapano org per imparare il vocabolario
Nel mio org-capture-templates
ho aggiunto il seguente:
("v" "Vocabulary" entry
(file+headline (concat org-directory "/vocab.org")
"Vocabulary")
"* Word :drill:\n%^ \n** Answer \n%^")
Si tratta di un modello piuttosto ingenua che ho preso in prestito from here. Funziona bene ma è troppo limitato. Purtroppo sono piuttosto nuovo a elisp
e non so come migliorarlo.
Penso che il modello di cui sopra deve essere migliorata nei seguenti aspetti là:
Headline Attualmente la prima stringa di input è la parola (nuovo) e il titolo è fisso. Come può il titolo essere la stessa parola (input)? Penso che il seguente risultato sia desiderabile:
* Vocabulary
** Foo :drill:
Foo
*** Answer
What is foo
In realtà, un modo ancora migliore sarebbe avere 3 stringhe di input.
- La nuova parola (ad esempio
foo
) che sarà il titolo. - Se il secondo è vuoto, ottiene la stessa stringa di (1). Altrimenti, concatena la stringa a quella di (1). Per esempio. avendo come secondo input
bar
darebbefoo bar
. Questo sarà il contenuto della voce. - La definizione della parola che dovrebbe comparire nel sottotitolo
answer
.
Duplicazioni (rivedo this) Se ad un certo punto poi cerco di catturare foo
ancora una volta, mi piacerebbe conoscerlo, e di essere diretto per modificare la voce già esistente - saltare tutti gli ingressi.
Ordinamento Dopo l'acquisizione, penso che sarebbe bello ordinare l'elenco di parole. Questo non dovrebbe essere troppo difficile dato che il titolo di ogni voce è la parola stessa. In questo caso si può probabilmente usare la funzione org-sort-entries
.
So che questa è una domanda piuttosto grande ma penso anche che se può essere risolto qui sarà di grande utilità per molti utenti.
Modifiche:
Utilizzando @juan_g suggerimenti, ho migliorato il mio modello e ora è:
("v" "Vocabulary" entry
(file+headline (concat org-directory "/vocab.org")
"Vocabulary")
"* %^{The word} :drill:\n %t\n %^{Extended word (may be empty)} \n** Answer \n%^{The definition}")
io non sono riuscito a impostare il valore di default del secondo input per essere il primo. Ho provato qualcosa come %^{Extended word (may be empty)|%\1}
ma restituisce ^A
che non è utile.
In ogni caso, questa versione migliorata sembra essere già utilizzabile.