#!/usr/bin/env bash # # Markdown (Obsidian) -> editierbares LibreOffice-ODT (A5) # # Aufruf: # ./tools/md2odt.sh [ausgabename-ohne-endung] # # Ausgabe (Standard): Druckmaterial/.odt # set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" VAULT="$ROOT/RPG" TOOLS="$ROOT/tools" OUTDIR="${OUTDIR:-$ROOT/Druckmaterial/autogen_inbox}" if [ "$#" -lt 1 ]; then echo "Aufruf: $0 [ausgabename]" >&2 exit 1 fi SRC="$(realpath "$1")" NAME="${2:-$(basename "$SRC" .md)}" OUT="$OUTDIR/${NAME}.odt" mkdir -p "$OUTDIR" TMP="$(mktemp -d)" trap 'rm -rf "$TMP"' EXIT # 1) Obsidian-Syntax vorverarbeiten python3 "$TOOLS/obsidian_preprocess.py" "$VAULT" < "$SRC" > "$TMP/in.md" # 2) Markdown -> ODT (A5-Referenzvorlage; H1 bleibt als "Heading 1" erhalten) pandoc "$TMP/in.md" \ -f markdown+raw_html \ -t odt \ --reference-doc="$TOOLS/a5-reference.odt" \ --lua-filter="$TOOLS/autowidth.lua" \ -o "$OUT" echo "OK: $OUT"