emacs.d/org-babel-tangle-file

38 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env sh
emacs -Q --batch --eval "
(progn
(require 'org)
(require 'ob-latex)
(require 'ox-latex)
(defun org-eval-infixed-blocks (infix)
(when (eq major-mode 'org-mode)
(let ((blocks
(org-element-map
(org-element-parse-buffer 'greater-element nil) 'src-block
(lambda (block)
(when-let ((name (org-element-property :name block)))
(when (string-match-p infix name) block))))))
(dolist (block blocks)
(goto-char (org-element-property :begin block))
(org-babel-execute-src-block)))))
(defun org-eval-emacs-lisp-setup-blocks ()
(org-eval-infixed-blocks \"emacs-lisp-setup\"))
(add-to-list 'safe-local-eval-forms '(org-eval-emacs-lisp-setup-blocks))
(setq org-confirm-babel-evaluate nil)
(setq python-indent-guess-indent-offset nil)
(org-babel-tangle-file \"$1\" \"init.el\" \"emacs-lisp\")
(org-babel-tangle-file \"$1\" nil \"perl\")
(org-babel-tangle-file \"$1\" nil \"python\"))
"
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# sh-basic-offset: 2
# End: