-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtangle
executable file
·39 lines (30 loc) · 1.14 KB
/
tangle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
# Copyright 2018 Pieter Hijma
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This script tangles (extracts source files), from .org files using Emacs.
# The input is a list of .org files, the output is which files are tangled (to
# stdout).
FILES=$*
FILES_QUOTED=""
DIR=`pwd`
for i in $FILES
do
FILES_QUOTED="$FILES_QUOTED \"$i\""
done
emacs --batch \
--eval "(progn
(require 'org)
(require 'ob)
(require 'ob-tangle)
(mapc (lambda (file)
(find-file (expand-file-name file \"$DIR\"))
(org-babel-tangle)
(kill-buffer)) '($FILES_QUOTED)))" 2>&1 | grep Tangled