2012-08-10 7 views
6

Quiero crear una plantilla de captura de org que cree un nombre de archivo dinámico para la captura en emacs org-mode.Modo Org: ¿cómo puedo crear un nuevo archivo con org-capture?

Quiero que el nombre del archivo tiene la siguiente forma: (formato en tiempo-cadena "% Y-% m-% d") "-" (solicitud de un nombre) ".txt"

Ejemplo: 2012-08-10-MyNewFile.txt

Basado en this respuesta, sé cómo crear dinámicamente el nombre del archivo para incluir la fecha:

`(defun capture-report-date-file (path) 
(expand-file-name (concat path (format-time-string "%Y-%m-%d") ".txt"))) 

'(("t" "todo" entry (file (capture-report-date-file "~/path/path/name")) 
"* TODO"))) 

Esto me permite crear una archivo 2012-08-10.txt e insertar * TODO en la primera línea

¿Cómo podría agregar un aviso para completar el nombre del archivo?

Respuesta

9

Deberá usar (read-string ...) en capture-report-data-file para generar el nombre de archivo sobre la marcha.

(defun capture-report-data-file (path) 
    (let ((name (read-string "Name: "))) 
    (expand-file-name (format "%s-%s.txt" 
           (format-time-string "%Y-%m-%d") 
           name) path))) 

'(("t" 
    "todo" 
    entry 
    (file (capture-report-date-file "~/path/path/name")) 
    "* TODO"))) 

Esto solicitará la captura del nombre del archivo, y luego se abrirá el búfer de captura se creará.

+0

Muchas gracias Jonathan. Es perfecto. – sam

Cuestiones relacionadas