#!/bin/bash #set -x INPUT="$*" OUTDIR=$(mktemp -d) IMGDIR="$GITEA_WORK_DIR/custom/public/assets/img" if [[ -d "$IMGDIR" && -w "$IMGDIR" ]]; then # We can use caching HASH=$(sha256sum "$INPUT" | cut -c1-64) shopt -s nullglob IMAGES=("${IMGDIR}"/${HASH}.*.svg) shopt -u nullglob if [ ${#IMAGES[@]} -le 0 ]; then libreoffice --headless --convert-to pdf --outdir "$OUTDIR" $INPUT >/dev/null PDF_FILE="$OUTDIR/$(basename "${INPUT%.*}".pdf)" NUM_PAGES=$(pdfinfo "$PDF_FILE" | grep Pages | awk '{print $2}') for (( i=1; i<=$NUM_PAGES; i++ )); do FN="${IMGDIR}/${HASH}.${i}.svg" pdftocairo -svg -f $i -l $i "$PDF_FILE" "${FN}" done shopt -s nullglob IMAGES=("${IMGDIR}"/${HASH}.*.svg) shopt -u nullglob fi echo '