38 lines
1.0 KiB
Bash
Executable File
38 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
# See: https://gist.github.com/sindresorhus/7996717
|
|
|
|
job="$(git diff-tree -r --name-only --no-commit-id HEAD^ HEAD -- README.org)"
|
|
|
|
if [ -n "$job" ]; then
|
|
emacs -Q --batch --eval "
|
|
(progn
|
|
(require 'org)
|
|
(defun my-org-eval-blocks-named (name)
|
|
(when (eq major-mode 'org-mode)
|
|
(let ((blocks
|
|
(org-element-map
|
|
(org-element-parse-buffer 'greater-element nil) 'src-block
|
|
(lambda (block)
|
|
(when (string= name (org-element-property :name block))
|
|
block)))))
|
|
(dolist (block blocks)
|
|
(goto-char (org-element-property :begin block))
|
|
(org-babel-execute-src-block)))))
|
|
|
|
(add-to-list 'safe-local-eval-forms
|
|
'(apply 'my-org-eval-blocks-named '(\"emacs-lisp-setup\")))
|
|
|
|
(setq org-confirm-babel-evaluate nil)
|
|
(setq python-indent-guess-indent-offset nil)
|
|
|
|
(org-babel-tangle-file \"$job\"))
|
|
"
|
|
fi
|
|
|
|
# Local Variables:
|
|
# mode: shell-script
|
|
# sh-indentation: 2
|
|
# sh-basic-offset: 2
|
|
# End:
|