#! /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 } Errorfile() { echo No file was given echo Please add a filename to your command echo Try 'pandocPipeline --help' for more information } Open() { xdg-open $file.$ending exit } POSITIONAL_ARGS=() 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 pandocPipeline $version exit;; -h|--help) Help exit;; --) break; esac done if [[ -z "$file" ]]; then Errorfile exit elif [[ "$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 Open elif [[ "$ending" == "docx" ]]; then refdoc=$script/custom-reference.docx pandoc $file.md --reference-doc=$refdoc -f markdown -t $ending -s -o $file.$ending Open else pandoc $file.md -f markdown -t $ending -s -o $file.$ending Open fi