On 2025-02-01 18:43, Uwe Brauer via General discussions about Org-mode. wrote:
(BTW do you speak Spanish , since there is some Spanish text in the files that are attached) Anyhow. Let me see if I understand that correctly - Your code does not insert * <2025-02-01> But instead * Some heading :PROPERTIES: :CREATED: [2023-11-17 Fri 19:32] :END: that is also ok, but for the moment I prefer the timestamp in the heading, because if I use outline-hide-body I obtain a nice overview with the dates. - Another problem is that I don't get your code to work for example the one in the file auto-insert-created-timestamp-as-property.org gives me
Yes, I speak Spanish :)To generate dates as you said, you can use the following code [0], on ~man date~ you can find other strftime format constructions, or alternatively, visit this [1]
The scheduled thing [2] had an if for certain conditions where you want that hook to get triggered (that uses specific buffer names that in my case are [2]), for a more simple approach, you might want to experiment with a simpler function [3]
I attach again the script migrate-from-ts-header-to-created-property.org because I got confused; I hope "soon" I could have a git public repo with my emacs config
[0] #+begin_src emacs-lisp (defun my/org-add-timestamp-on-heading () (save-excursion (org-back-to-heading) (org-edit-headline (format-time-string "<%F>")) (my/set-property-with-inactive-timestamp "CREATED"))) (add-hook 'org-insert-heading-hook 'my/org-add-timestamp-on-heading 'append) ;; to remove it ;; (remove-hook 'org-insert-heading-hook 'my/org-add-timestamp-on-heading) #+end_src [1] https://strftime.org/ [2] #+begin_src emacs-lisp (setq my/diary-file "1activity.org") (setq my/board-file "board.org") (setq my/proj-file "projects.org") (setq my/proj-candidates-file "projects-candidates.org") #+end_src [3] #+begin_src emacs-lisp (defun my/org-heading-insert-scheduled () (save-excursion;; src https://emacs.stackexchange.com/questions/72147/org-mode-adding-creation-date-property-upon-heading-creation
(org-schedule nil (format-time-string "[%Y-%m-%d %a]" nil)))) (add-hook 'org-insert-heading-hook 'my/org-heading-insert-scheduled 'append) #+end_src
**** script: migrate from old heading format :PROPERTIES: :CREATED: [2023-07-24 Mon 03:38] :CUSTOM_ID: emacsconf_51 :END: #+name: created on [2023-07-24 Mon 03:38:47] #+begin_src emacs-lisp (defun my/migrate-legacy-created-format () (interactive) (org-map-entries (lambda () (let* ((title (org-entry-get nil "ITEM")) (regexp "^\\(.*\\) <\\(20.*\\)>") (current-created (org-entry-get (point) "CREATED"))) (when (string-match regexp title) (let ((new-title (match-string 1 title)) (new-created (match-string 2 title))) (if current-created (message "Warning: \"%s\" not added as created property" title) (progn ;; move match to CREATED property (org-entry-put (point) "CREATED" (format "[%s]" new-created)) ;; delete heading text (org-edit-headline new-title))))))) nil 'file)) #+end_src
OpenPGP_0x9D64597C3A982DCA.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature