LailaTheElf fc6a086ca2
Some checks failed
generate pdf files / build (push) Failing after 2m4s
add project document and sync with live.kladjes.nl
2025-06-22 12:06:51 +02:00

54 lines
1.7 KiB
Bash

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"
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')
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)|'
sed -i "$TEMP_MD_FILE" \
-e "s/^\!\[.*\]($src)\$/\`\`\`\\{.include\\}\n${src}\n\`\`\`/"
done
title="$(grep '^# ' "$MD_FILE" | head -l 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)|'
cd "$BUILD_DIR"
pandoc --lua-filter=../../converters/include-files.lua --to=latex --from=markdown+abbreviations --template "${BASE_DIR}/converters/template.latex" -o "$TEX_FILE" --data-dir="../../markdown" "$(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"