Арнайы каталогта файлдарды автоматты түрде айналдыру

Мен өз файлдарымды орг-бабел файлдарына айналдырып жатырмын, себебі менде Emacs конфигурациясын қайтадан рақаттандым және менің сақтаған кезде оны автоматты түрде араластыратын init.org функциясы бар. Алайда, .org файлдарын бірдей автоматты түрде жасау үшін ~/.dotfiles деп айтуға сәтті болмадым. Менде мына функция бар:

(defun my/tangle-dotfiles ()
  "If the current file is in '~/.dotfiles', the code blocks are tangled"
  (when (equal (buffer-file-name)
               (expand-file-name "~/.dotfiles/tmux.org"))
    (org-babel-tangle)
    (message "Dotfile tangled")))

(add-hook 'after-save-hook #'my/tangle-dotfiles)

Дегенмен, бұл кез-келген орг-файлға емес, белгілі бір файл үшін ғана жұмыс істейді. *. Org дегенді қолдану да жұмыс істемейді, сонымен қатар, аралық және каталогтан каталог атауын қалай шығарып аламын деп ойладым және солай істей аламын.

Мен сондай-ақ Freenode #emacs сұрадым, бірақ онда ешкім жауап берді. Қай жерде басталатын кез келген көмекші немесе көрсеткіш жоғары бағаланады.

5

1 жауаптар

Мен мұны қалай істейтінін білдім:

(defun my/tangle-dotfiles ()
  "If the current file is in '~/.dotfiles', the code blocks are tangled"
  (when (equal (file-name-directory (directory-file-name buffer-file-name))
               (concat (getenv "HOME") "/.dotfiles/"))
    (org-babel-tangle)
    (message "%s tangled" buffer-file-name)))

(add-hook 'after-save-hook #'my/tangle-dotfiles)
5
қосылды