Чи можна org-bable-переплутати файл org із командного рядка?


15

Я хотів би керувати переплетенням моїх файлів org із Makefile. Хоча я не можу знайти жодної інформації про те, як заплутати файли з командного рядка.

Відповіді:


12

Ви можете використовувати щось на кшталт:

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

(Цитування оболонки призначене для Bash, коригуйте, якщо ви використовуєте іншу оболонку.)

EDIT: Завдяки @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\")"
пентавалентний вуглець

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