MD_FILE="$1" BASE_DIR="$(pwd)" TEX_FILE="${BASE_DIR}/latex/$(basename "$MD_FILE" | sed -e 's/\.md$/.latex/')" BUILD_DIR="${BASE_DIR}/build/$(basename "$MD_FILE" | sed -e 's/\.md$//')" TEMP_MD_FILE="$BUILD_DIR/$(basename "$MD_FILE")" TEMP_TEX_FILE="$BUILD_DIR/$(basename "$MD_FILE" | sed -e 's|md$|latex|')" mkdir -p "$(dirname "$TEMP_MD_FILE")" cp "$MD_FILE" "$TEMP_MD_FILE" function download_images() { echo "download images for $1" for line in $(grep '!\[.*\](https://.*\.png)' "$1" | sed -e 's/ /%20;/g') do src=$(echo "$line" | sed -e 's/^.*(//' -e 's/).*$//' -e 's/%20;/ /g') echo "remote image found: $src" mkdir -p "${BASE_DIR}/latex/images" name=$(echo "$src" | sed -e 's|^.*/\([^/]*\)$|\1|') curl "$src" > "${BASE_DIR}/latex/images/$name" done echo "download done" } for line in $(grep '^!\[.*\](.*\.md)$' "$TEMP_MD_FILE" | sed -e 's/ /%20;/g') do src=$(echo "$line" | sed -e 's/^.*(//' -e 's/).*$//' -e 's/%20;/ /g') echo "include found: markdown/$src" cp "markdown/$src" "$BUILD_DIR/$src" sed -i "$BUILD_DIR/$src" \ -e 's|\[toc\]||' \ -e 's|^\[parent\].*$||' \ -e 's|^# |\\newpage\n# |' \ -e 's|^## |\\newpage\n## |' \ -e 's|\[\([^]]*\)\](#\([^)]*\))|[\1](#\L\2)|' \ -e 's|https://live.kladjes.nl/uploads|../../latex/images|' download_images "$BUILD_DIR/$src" sed -i "$TEMP_MD_FILE" \ -e "s/^\!\[.*\]($src)\$/\`\`\`\\{.include shift-heading-level-by=1\\}\n${src}\n\`\`\`/" done download_images "$TEMP_MD_FILE" title="$(grep '^# ' "$MD_FILE" | head -n 1 | sed 's|^# ||')" sed -i "$TEMP_MD_FILE" \ -e 's|\[toc\]|\\tableofcontents|' \ -e 's|^\[parent\].*$||' \ -e 's|^# .*$||' \ -e 's|^#||' \ -e 's|^# |\\newpage\n# |' \ -e 's|\[\([^]]*\)\](#\([^)]*\))|[\1](#\L\2)|' \ -e 's|https://live.kladjes.nl/uploads|../../latex/images|' cd "$BUILD_DIR" pandoc --lua-filter=../../converters/include-files.lua --to=latex --from=markdown+abbreviations --template "${BASE_DIR}/converters/template.latex" -o "$TEX_FILE" "$(basename "$TEMP_MD_FILE")" cd "$BASE_DIR" # for line in $(grep '^!\[.*\](.*\.md)$' "$TEMP_MD_FILE" | sed 's/ /%20;/g') # do # src=$(echo "$line" | sed -e 's/^.*(//' -e 's/).*$//' -e 's/%20;/ /g') # sed -i "$TEMP_MD_FILE" \ # -e "s/^!\[.*\]($src)\$/\\include{$src}/" # done sed --in-place \ -e "s|?title?|$title|" \ "$TEX_FILE"