                           ━━━━━━━━━━━━━━━━━
                            ORG-AUTO-TANGLE
                           ━━━━━━━━━━━━━━━━━


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.


1 USAGE
═══════

  Simply require the package in you emacs init and hook it into
  org-mode.

  ┌────
  │ 
  │ (require 'org-auto-tangle)
  │ 
  │ (add-hook 'org-src-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-src-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
  └────

  Each listed file in `org-auto-tangle-with-files' will be loaded inside
  the asynchronous Emacs process *before* tangling begins.  This is
  useful for setting up additional libraries, paths, or environment
  variables.

  ┌────
  │ (setq org-auto-tangle-with-files
  │       '("~/.emacs.d/my-env.el"
  │         "~/.emacs.d/project-hooks.el"))
  └────


2 Babel Auto Tangle Safelist
════════════════════════════

  Add a list of files to the safelist to autotangle with noweb
  evaluation
  ┌────
  │ (setq org-auto-tangle-babel-safelist '(
  │                                      "~/system.org"
  │                                      "~/test.org"
  │                                      ))
  └────


3 License
═════════

  This package (i.e. `org-auto-tangle') is licensed under the the
  2-Clause BSD License.
