Apakah mungkin untuk org-bable-kusut file org dari baris perintah?


15

Saya ingin mengelola kusut file org saya dengan Makefile. Padahal saya tidak bisa menemukan informasi bagaimana cara mengurai file dari command line.

Jawaban:


12

Anda dapat menggunakan sesuatu seperti:

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

(Kutipan shell itu dimaksudkan untuk Bash, sesuaikan jika Anda menggunakan shell yang berbeda.)

EDIT: Terima kasih kepada @SkydiveMike untuk menunjukkan saya keliru telah menulis org-babel-tanglebukan org-babel-tangle-file.


Saya mencobanya dan menerima Wrong type argument: stringp, nilpesan kesalahan, ada saran tentang apa yang mungkin saya lakukan salah?
lookyhooky

1
Saya juga perlu -Lflag untuk menambahkan direktori saat ini ke path load, dan -l file-to-tangle.orguntuk memuat file sebelum mencoba untuk kusut.
lookyhooky

8
emacs --batch -l org foo.org -f org-babel-tangleatau emacs --batch -l org --eval '(org-babel-tangle-file "foo.org")'bekerja untuk saya.
xuchunyang

1
Untuk skrip Bash, ini berguna:emacs --batch -l org --eval "(org-babel-tangle-file \"$1\")"
pentavalentcarbon

1
Untuk kelengkapan, solusi oleh xuchunyang berfungsi (dibandingkan dengan aslinya) karena memiliki file org-babel-tangle (yang menerima argumen FILE) dibandingkan dengan org-babel-tangle yang berfungsi pada buffer saat ini.
SkydiveMike
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.