Можно ли org-bable-запутать файл org из командной строки?


15

Я хотел бы справиться с запутыванием моих организационных файлов с помощью Makefile. Хотя я не могу найти информацию о том, как запутать файлы из командной строки.

Ответы:


12

Вы можете использовать что-то вроде:

emacs --batch --eval "(require 'org)" --eval '(org-babel-tangle-file "file-to-tangle.org")'

(Это цитирование оболочки предназначено для Bash, отрегулируйте, если вы используете другую оболочку.)

РЕДАКТИРОВАТЬ: Спасибо @SkydiveMike за указание, что я по ошибке написал org-babel-tangleвместо org-babel-tangle-file.


Я попробовал это и получил Wrong type argument: stringp, nilсообщение об ошибке, любое предложение того, что я, возможно, делаю неправильно?
lookyhooky

1
Мне также нужен -Lфлаг, чтобы добавить текущий каталог в путь загрузки и -l file-to-tangle.orgзагрузить файл, прежде чем пытаться его запутать.
lookyhooky

8
emacs --batch -l org foo.org -f org-babel-tangleили emacs --batch -l org --eval '(org-babel-tangle-file "foo.org")'работает на меня.
xuchunyang

1
Для сценария Bash, это полезно:emacs --batch -l org --eval "(org-babel-tangle-file \"$1\")"
pentavalentcarbon

1
Для полноты, решение xuchunyang работает (по сравнению с оригиналом), потому что оно имеет org-babel-tangle-file (который принимает аргумент FILE) по сравнению с org-babel-tangle, который работает с текущим буфером.
SkydiveMike
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.