org-mode – ¿Cómo puedo actualizar las etiquetas ATTACH en modo org para reflejar la realidad?

Pregunta:

En un lugar de trabajo centrado en Microsoft, uso mucho los archivos adjuntos de tareas para almacenar correos electrónicos, diseñar documentos y cosas por el estilo. Especialmente con los archivos adjuntos de correo electrónico, normalmente abro la carpeta de archivos adjuntos de la tarea ( Cc Ca f ) y simplemente arrastro los correos electrónicos relevantes a la carpeta (que convenientemente también copia todos sus archivos adjuntos :) ).

Dado que Org no es el que agrega archivos adjuntos, a menudo falta la etiqueta ATTACH . A medida que muevo los archivos adjuntos y las tareas, también muevo sus archivos adjuntos de manera adecuada, a veces vaciando la carpeta. Esto hace que ATTACH convierta en un falso positivo.

¿Hay alguna forma de sincronizar la presencia de la etiqueta ATTACH con la presencia de archivos adjuntos reales? Como beneficio adicional, ¿puedo también actualizar la propiedad :Attachments: con la lista de archivos adecuada? (Ayuda con la búsqueda).

Respuesta:

Hay una función org-attach-sync que afirma hacer esto, pero parece que espera que usted mantenga sus archivos adjuntos en un repositorio de git, lo que puede que no esté haciendo (yo no lo hago).

Entonces, aquí hay una función que usa org-attach-file-list para ver la lista de archivos adjuntos y cambiar las cosas de manera apropiada. La etiqueta :ATTACH: se alternará y la propiedad Attachments se actualizará o eliminará.

(defun org-sync-attachments ()
  "Update the current entry's attachment metadata."
  (interactive)
  (let* ((attachments (if (org-attach-dir)
                         (org-attach-file-list (org-attach-dir)))
                     )
        (tag-state (if attachments 'on 'off)))

    (if attachments 
        (org-set-property org-attach-file-list-property
                          (mapconcat #'url-encode-url
                                     attachments " "))
      (org-delete-property org-attach-file-list-property))
    (org-toggle-tag org-attach-auto-tag tag-state)
    ))

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım