-
Notifications
You must be signed in to change notification settings - Fork 1
/
test.sh
executable file
·83 lines (69 loc) · 1.65 KB
/
test.sh
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/bash
# ./test.sh OPTIONS PATH
# test.sh -h for options
OPTIND=1
show_help() {
echo "$(basename $0): Shortcut for testing conductor with a given file"
echo "Options:"
echo " -p [pre|pro] (run as preprocessor(*) or processor)"
echo " -o [err|out] (output stderr, stdout, both(*))"
echo " -d (debug, only show stderr)"
echo "Usage:"
echo " $0 [-p PHASE] [-o OUTPUT] FILE_PATH"
}
if [[ -f bin/conductor ]]; then
CMD="./bin/conductor"
else
CMD="$(which conductor)"
fi
PHASE="PREPROCESS"
STD="BOTH"
CONFIG=""
while getopts "h?p:o:d" opt; do
case "$opt" in
h|\?)
show_help
exit 0
;;
p) PHASE=$OPTARG
;;
c) CMD="$CMD -c \"$OPTARG\""
;;
o) STD=$OPTARG
;;
d)
STD="ERR"
;;
esac
done
shift $((OPTIND-1))
[ "${1:-}" = "--" ] && shift
if [[ -z $1 ]]; then
show_help
exit 1
fi
FILE=$(realpath "$1")
FILENAME=$(basename -- "$FILE")
EXTENSION="${FILENAME##*.}"
PHASE=$(echo $PHASE | tr [a-z] [A-Z])
STD=$(echo $STD | tr [a-z] [A-Z])
if [[ $PHASE =~ ^PRE ]]; then
PHASE="PREPROCESS"
else
PHASE="PROCESS"
fi
export OUTLINE="NONE"
export MARKED_ORIGIN="$FILE"
export MARKED_EXT="$EXTENSION"
export MARKED_CSS_PATH="/Applications/Marked 2.app/Contents/Resources/swiss.css"
export PATH="$PATH:$(dirname "$FILE")"
export MARKED_PATH="$FILE"
export MARKED_INCLUDES='"/Applications/Marked 2.app/Contents/Resources/tocstyle.css","/Applications/Marked 2.app/Contents/Resources/javascript/main.js"'
export MARKED_PHASE="$PHASE"
if [[ $STD =~ ^(STD)?E ]]; then
command cat "$FILE" | $CMD 1>/dev/null
elif [[ $STD =~ ^(STD)?O ]]; then
command cat "$FILE" | $CMD 2>/dev/null
else
command cat "$FILE" | $CMD
fi