Support --no-header-footer option in scripts/asciidoc
Loïc Hoguin
5 years ago
1 | 1 |
|
2 | 2 |
set -e
|
3 | 3 |
#set -x
|
|
4 |
|
|
5 |
ARGUMENTS="$@"
|
4 | 6 |
|
5 | 7 |
TEMP=$(getopt -o 'a:b:d:hso:nv' -l 'attribute:,backend:,doctype:,help,no-header-footer,out-file:,section-numbers,safe,theme:,verbose,version' -n asciidoc -- "$@")
|
6 | 8 |
|
|
11 | 13 |
eval set -- "$TEMP"
|
12 | 14 |
unset TEMP
|
13 | 15 |
|
14 | |
NO_HEADER_FOOTER=0
|
|
16 |
NO_HEADER_FOOTER=
|
15 | 17 |
OUT_DIR=
|
16 | 18 |
OUT_FILE=
|
17 | 19 |
SAFE=0
|
|
80 | 82 |
OUT_FILE=`basename ${IN_FILE%.*}`
|
81 | 83 |
fi
|
82 | 84 |
|
|
85 |
# We need a dummy variable to not have to worry about commas
|
|
86 |
# so let's pass the original command line forward.
|
|
87 |
TRANSLATE_OPTS="#{ command_line => \"$0 $ARGUMENTS\""
|
83 | 88 |
if [ $OUT_FILE ]; then
|
84 | |
TRANSLATE_OPTS="#{outdir => \"$OUT_DIR\", outfile => \"$OUT_FILE\"}"
|
85 | |
else
|
86 | |
TRANSLATE_OPTS="#{}"
|
|
89 |
TRANSLATE_OPTS="$TRANSLATE_OPTS, outdir => \"$OUT_DIR\", outfile => \"$OUT_FILE\""
|
87 | 90 |
fi
|
|
91 |
if [ $NO_HEADER_FOOTER ]; then
|
|
92 |
TRANSLATE_OPTS="$TRANSLATE_OPTS, no_header_footer => true"
|
|
93 |
fi
|
|
94 |
TRANSLATE_OPTS="$TRANSLATE_OPTS }"
|
88 | 95 |
|
89 | 96 |
<&0 erl +A0 -boot no_dot_erlang -noshell -pz `dirname $0`/../ebin -eval " \
|
90 | 97 |
case asciideck:to_html($PARSE_CALL, $TRANSLATE_OPTS) of \
|
17 | 17 |
|
18 | 18 |
translate(AST, Opts) ->
|
19 | 19 |
Output0 = ast(AST),
|
20 | |
Output1 = header_footer(Output0, Opts),
|
|
20 |
Output1 = maybe_header_footer(Output0, Opts),
|
21 | 21 |
{CompressExt, Output} = case Opts of
|
22 | 22 |
#{compress := gzip} -> {".gz", zlib:gzip(Output1)};
|
23 | 23 |
_ -> {"", Output1}
|
|
34 | 34 |
Output
|
35 | 35 |
end.
|
36 | 36 |
|
37 | |
header_footer(Body, _Opts) ->
|
|
37 |
maybe_header_footer(Body, #{no_header_footer := _}) ->
|
|
38 |
Body;
|
|
39 |
maybe_header_footer(Body, _Opts) ->
|
38 | 40 |
[
|
39 | 41 |
"<!DOCTYPE html>\n"
|
40 | 42 |
"<html lang=\"en\">\n"
|