5
0
Fork 0
hedgedoc2pdf/pandocPipeline/pandocPipeline.sh
2023-06-07 14:21:19 +02:00

96 lines
2.5 KiB
Bash
Executable file

#! /bin/bash
version=1.0
editor=$USER
title=
file=
ending=tex
# path to this script
script=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)
Help() {
echo Tool to convert file from markdown to another format
echo Usage: pandocPipeline [OPTION] [COMMAND]
echo -h, --help show this help screen
echo -f, --file specify filename without extension
echo -e, --ending spefify target file format
echo -u, --user=editor enter name of file editor set between "" \(only for target format pdf\)
echo -t, --title enter title of document set between "" \(only for target format pdf\)
echo Pipeline is optimized for target format pdf and docx but works with others as well
echo Possible fileformats see: https://pandoc.org/diagram.svgz?v=20230203095535
echo Examples:
echo: md -> pdf : pandocPipeline -u "Dokumentbearbeiter" -t "Dokumententitel" -f dateiname -e pdf
echo: md -> docx : pandocPipeline -f dateiname -e docx
}
Error() {
echo An error occured
echo Try 'pandocPipeline --help' for more information
}
Errorfile() {
echo No file was given
echo Please add a filename to your command
echo Try 'pandocPipeline --help' for more information
}
# ARGS=$(getopt -a --options hvutfe --long "help, version, user, title, file, ending" -- "$@")
POSITIONAL_ARGS=()
#eval set -- "$ARGS"
#while true; do
while [[ $# -gt 0 ]]; do
echo $1
echo $2
case $1 in
-u|--user)
editor="$2"
shift 2;;
-t|--title)
title="$2"
shift 2;;
-f|--file)
file="$2"
shift 2;;
-e|--ending)
ending="$2"
shift 2;;
-v|--version)
echo mktex $version
exit;;
-h|--help)
Help
exit;;
--)
break;
esac
done
echo Editor $editor
echo Title $title
if [[ -z "$file" ]]; then
Errorfile
exit
fi
echo $ending
if [[ "$ending" == "pdf" ]]; then
header=$script/header.md
echo $header
sedfile=$script/body.sed
echo $sedfile
picture=$script/Logo.png
echo $picture
sed -i 's,Editor:.*,Editor: '"$editor"' \\\\,' $header
echo 1
sed -i 's,Title:.*,Title: '"$title"',' $header
echo 2
sed -i 's,textwidth]{.*,textwidth]{'"$picture"'}},' $header
echo 3
cat $file.md $header | sed -E -f $sedfile| pandoc --filter pandoc-latex-environment --number-sections --toc -i - -o $file.pdf
xdg-open $file.pdf
fi