#!/bin/bash

# Konfiguration
INPUT_FILE=$1
OUTPUT_FILE=$2
SPACES_PER_LEVEL=4
LIST_INDENTATION=2
HEADER_LEVELS=3

# Tabs zu Leerzeichen konvertieren
sed 's/\t/    /g' "$INPUT_FILE" > temp_processed.txt

# Ausgabedatei leeren
> "$OUTPUT_FILE"

# Verarbeitung jeder Zeile
while IFS= read -r line; do
    # Führende Leerzeichen ermitteln
    leading_spaces=${line%%[! ]*}
    total_spaces=${#leading_spaces}
    
    # Ebene berechnen
    level=$((total_spaces / SPACES_PER_LEVEL))
    content="${line:total_spaces}"
    
    if (( level <= HEADER_LEVELS )); then
        # Überschriften formatieren
        hashtags=$(printf "%0.s#" $(seq 0 $level))
        echo "${hashtags} ${content}" >> "$OUTPUT_FILE"
    else
        # Listen formatieren
        list_level=$((level - HEADER_LEVELS - 1))
        indent=$(printf "%*s" $((LIST_INDENTATION * list_level)) "")
        echo "${indent}- ${content}" >> "$OUTPUT_FILE"
    fi
done < temp_processed.txt

# Temporäre Datei aufräumen
rm temp_processed.txt