38 lines
997 B
Bash
Executable File
38 lines
997 B
Bash
Executable File
#!/bin/sh
|
|
# Auto-Frontmatter für Hugo 0.165+
|
|
# Fügt fehlenden --- Titel-Block in .md-Dateien ein.
|
|
|
|
CONTENT_DIR="/src/content"
|
|
|
|
for md in "$CONTENT_DIR"/*.md; do
|
|
[ -f "$md" ] || continue
|
|
first_line=$(head -1 "$md")
|
|
if [ "$first_line" != "---" ]; then
|
|
title=$(grep -m1 '^# ' "$md" | sed 's/^# //')
|
|
[ -z "$title" ] && title=$(basename "$md" .md)
|
|
date=$(date -r "$md" +%Y-%m-%d 2>/dev/null || date +%Y-%m-%d)
|
|
|
|
tmp="${md}.tmp"
|
|
{
|
|
echo "---"
|
|
echo "title: \"$title\""
|
|
echo "date: \"$date\""
|
|
echo "---"
|
|
echo
|
|
cat "$md"
|
|
} > "$tmp" && mv "$tmp" "$md"
|
|
|
|
# Besitzer zurückgeben an Host-User
|
|
chown "${HOST_UID}:${HOST_GID}" "$md" 2>/dev/null || true
|
|
|
|
echo "[frontmatter] $title"
|
|
fi
|
|
done
|
|
|
|
exec hugo server \
|
|
--watch \
|
|
--bind=0.0.0.0 \
|
|
--port=1313 \
|
|
--disableFastRender \
|
|
--baseURL=https://localhost:5443/ \
|
|
--renderStaticToDisk |