pandoc-make: allow for pandoc arguments

This commit is contained in:
PowerUser64 2022-04-13 01:37:22 -07:00
parent ce104e4922
commit c7623a05bd

View file

@ -7,11 +7,16 @@
usage() {
cat <<-EOF
Usage:
$0 [output_type] [input_files]
$0 [output_type] [pandoc_args for file 1] [pandoc_args for file 1] [input_files]
Examples:
$0 pdf *.md
$0 .docx *.md # leading .'s are automatically removed from the output name
$0 pdf *.md
$0 .docx *.md # leading .'s are automatically removed from the output format
Note:
To put a file in pandoc arguments without having it be compiled to its own document, put a './' at the start of the path to it
You can have as many arg/file combinations you want
The argument array is cleared between input files
EOF
}
@ -27,13 +32,17 @@ if [[ -z "$2" ]]; then
echo "error: no files specified"
usage && exit 1
fi
FORMAT="$1"
SKIP_FIRST=true
OUTPUT_FORMAT="$1"
SKIP_FIRST=true # don't process the first argument, it is the output format
for FILE in "$@";do
$SKIP_FIRST && SKIP_FIRST=false && continue
if [[ -f "$FILE" ]]; then
pandoc -s "$FILE" -o "${FILE%.*}.${FORMAT##.}"
if [[ -f "$FILE" ]] && [[ "${FILE:0:2}" != "./" ]]; then
pandoc -s "$FILE" "${PANDOC_ARGS[@]}" -o "${FILE%.*}.${OUTPUT_FORMAT##.}"
PANDOC_ARGS=()
else
PANDOC_ARGS+=("$FILE")
fi
done