55 lines
1.6 KiB
Bash
Executable File
55 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Konfiguracija
|
|
SNIPPET_FILE="references-snippet.html"
|
|
# Marker, pred katerega vstavimo vsebino (mora biti unique v HTML)
|
|
TARGET_MARKER='<section class="final-cta">'
|
|
# Marker, s katerim preverimo, ali je vsebina že vstavljena (da ne podvajamo)
|
|
CHECK_MARKER='class="references-section"'
|
|
|
|
# Preveri, če snippet obstaja
|
|
if [ ! -f "$SNIPPET_FILE" ]; then
|
|
echo "NAPAKA: Datoteka $SNIPPET_FILE ne obstaja!"
|
|
exit 1
|
|
fi
|
|
|
|
# Poišči vse HTML datoteke, razen v mapi cene-in-reference in templates
|
|
# Prav tako izključimo reference-snippet.html samega sebe
|
|
FILES=$(find . -type f -name "*.html" \
|
|
! -path "./cene-in-reference/*" \
|
|
! -path "./$SNIPPET_FILE" \
|
|
! -path "./header-template.html" \
|
|
! -path "./footer-template.html" \
|
|
! -path "./assets/*")
|
|
|
|
echo "Začenjam vstavljanje referenc..."
|
|
|
|
for file in $FILES; do
|
|
# 1. Preveri, če datoteka sploh ima ciljni marker (final-cta)
|
|
if ! grep -Fq "$TARGET_MARKER" "$file"; then
|
|
echo "PRESKOČENO (ni final-cta): $file"
|
|
continue
|
|
fi
|
|
|
|
# 2. Preveri, če datoteka že vsebuje reference (da ne podvojimo)
|
|
if grep -Fq "$CHECK_MARKER" "$file"; then
|
|
echo "PRESKOČENO (že vsebuje reference): $file"
|
|
continue
|
|
fi
|
|
|
|
# 3. Izvedi vstavljanje z AWK
|
|
# Logika: Ko najde TARGET_MARKER, najprej izpiše vsebino snippeta, nato marker
|
|
awk -v snippet_file="$SNIPPET_FILE" -v target="$TARGET_MARKER" '
|
|
$0 ~ target {
|
|
while ((getline line < snippet_file) > 0) {
|
|
print line
|
|
}
|
|
close(snippet_file)
|
|
}
|
|
{ print }
|
|
' "$file" > "$file.tmp" && mv "$file.tmp" "$file"
|
|
|
|
echo "POSODOBLJENO: $file"
|
|
done
|
|
|
|
echo "Končano!" |