Fix org-babel-tangle-file usage
This commit is contained in:
parent
f56531b7bc
commit
2aba64cf76
@ -5,10 +5,29 @@
|
|||||||
job="$(git diff-tree -r --name-only --no-commit-id HEAD^ HEAD -- README.org)"
|
job="$(git diff-tree -r --name-only --no-commit-id HEAD^ HEAD -- README.org)"
|
||||||
|
|
||||||
if [ -n "$job" ]; then
|
if [ -n "$job" ]; then
|
||||||
emacs --batch \
|
emacs -Q --batch --eval "
|
||||||
--eval "(add-to-list 'safe-local-eval-forms '(apply 'my-org-eval-blocks-named '(\"emacs-lisp-setup\")))" \
|
(progn
|
||||||
--eval "(require 'org)" \
|
(require 'org)
|
||||||
--eval "(org-babel-tangle-file \"$job\")"
|
(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
|
fi
|
||||||
|
|
||||||
# Local Variables:
|
# Local Variables:
|
||||||
|
4
Makefile
4
Makefile
@ -3,6 +3,4 @@
|
|||||||
# https://emacs.stackexchange.com/questions/27126/is-it-possible-to-org-bable-tangle-an-org-file-from-the-command-line
|
# https://emacs.stackexchange.com/questions/27126/is-it-possible-to-org-bable-tangle-an-org-file-from-the-command-line
|
||||||
init:
|
init:
|
||||||
git config core.hooksPath .githooks
|
git config core.hooksPath .githooks
|
||||||
emacs --batch \
|
sh org-babel-tangle-file README.org
|
||||||
--eval "(add-to-list 'safe-local-eval-forms '(apply 'my-org-eval-blocks-named '(\"emacs-lisp-setup\")))" \
|
|
||||||
--eval "(require 'org)" --eval '(org-babel-tangle-file "README.org")'
|
|
||||||
|
31
org-babel-tangle-file
Executable file
31
org-babel-tangle-file
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
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 \"$1\"))
|
||||||
|
"
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# mode: shell-script
|
||||||
|
# sh-indentation: 2
|
||||||
|
# sh-basic-offset: 2
|
||||||
|
# End:
|
Loading…
Reference in New Issue
Block a user