This package (i.e org-auto-tangle) is a very simple emacs package that
allows you to automatically tangle org files on save. This is done by
adding the option #+auto_tangle: t
in your org file.
The tangling process happens asynchronously so it will not block your emacs session.
Simply require the package in you emacs init and hook it into org-mode.
(require 'org-auto-tangle)
(add-hook 'org-mode-hook 'org-auto-tangle-mode)
or you can use use-package
(use-package org-auto-tangle
:load-path "site-lisp/org-auto-tangle/" ;; this line is necessary only if you cloned the repo in your site-lisp directory
:defer t
:hook (org-mode . org-auto-tangle-mode))
If the minor mode is on, it will try to automatically tangle
your org files if they contain a non nil value for the
#+auto_tangle:
option.
You can configure auto-tangle as the default behavior for all org buffers by
setting the org-auto-tangle-default
variable to t
. In this case, you can disable
it for some buffers by setting the #+auto_tangle:
option to nil
.
The #+auto_tangle:
option may also be used to specify variables that should be
preserved in the asynchronous tangling process. For example, if you have
installed a newer version of org-mode
or additional Babel processors, using
#+auto_tangle: vars:load-path
will be sure that they are available during tangling. The vars
option takes a
colon-separated list so multiple variables may be specified
#+auto_tangle: vars:calendar-longitude:calendar-latitude:calendar-location-name
It is also possible to disable auto-tangling by adding the nil
option to the
line without removing any vars
list.
#+auto_tangle: vars:load-path nil
Add a list of files to the safelist to autotangle with noweb evaluation
(setq org-auto-tangle-babel-safelist '(
"~/system.org"
"~/test.org"
))
This package (i.e. org-auto-tangle
) is licensed under the the 2-Clause BSD License.