#!/usr/bin/env bash
# Usage: ./generate_next_techtuesday.sh  file.md 
# Generates the next TechTuesday .md file based on the given one.

set -euo pipefail

INPUT="${1:-}"

if [[ -z "$INPUT" || ! -f "$INPUT" ]]; then
  echo "Usage: $0 <input_file.md>"
  exit 1
fi

# --- Read frontmatter fields ---
current_nr=$(grep '^techtuenr:' "$INPUT" | sed 's/techtuenr:[[:space:]]*//' | tr -d '"')
current_date=$(grep '^startdate:' "$INPUT" | sed 's/startdate:[[:space:]]*//' | tr -d '"')

# --- Compute next values ---
next_nr=$((current_nr + 1))
next_date=$(date -d "$current_date + 7 days" +%Y-%m-%d)

# --- Build output filename ---
OUTPUT="${next_nr}.md"

# --- Generate the new file by replacing fields ---
sed \
  -e "s/^techtuenr:.*/techtuenr: \"${next_nr}\"/" \
  -e "s/^startdate:.*/startdate: \"${next_date}\"/" \
  -e "s/^title:.*/title: TechTues=day ${next_nr}/" \
  -e "s/^linktitle:.*/linktitle: TechTue ${next_nr}/" \
  "$INPUT" > "$OUTPUT"

echo "Generated: $OUTPUT (TechTuesday #${next_nr} on ${next_date})"
