wwwfiberdirekt/add_block_thumbnails.py

91 lines
4.2 KiB
Python

#!/usr/bin/env python3
# Run from your project root: python3 add_block_thumbnails.py
import os
import re
BLOCKS_DIR = "src/blocks"
THUMBNAILS_DIR = "public/block-thumbnails"
# Fix double extension if present
double = os.path.join(THUMBNAILS_DIR, "fd-team.png.png")
correct = os.path.join(THUMBNAILS_DIR, "fd-team.png")
if os.path.exists(double):
os.rename(double, correct)
print("✓ Fixed: fd-team.png.png → fd-team.png")
# Block config → thumbnail mapping
BLOCKS = [
("FDHeroBlock", "fd-hero.png", "FD Hero"),
("FDAlternateHeroBlock", "fd-header-text-image-alt.png", "FD Alternativ Hero"),
("FDHeaderTextImageBlock", "fd-header-text-image.png", "FD Rubrik med bild"),
("FDCardGridBlock", "fd-card-grid.png", "FD Kortrutnät"),
("FDWideCardBlock", "fd-wide-card.png", "FD Bredt kort"),
("FDPricingCardBlock", "fd-pricing-card.png", "FD Priskort"),
("FDUspTableBlock", "fd-usp-table.png", "FD USP-tabell"),
("FDUspChecklistBlock", "fd-usp-checklist.png", "FD USP-checklista"),
("FDServicesGridBlock", "fd-services-grid.png", "FD Tjänsterrutnät"),
("FDIconBarBlock", "fd-icon-bar.png", "FD Ikonrad"),
("FDFeatureAnnouncementBlock", "fd-feature-announcement.png", "FD Funktionsnyhet"),
("FDTechPropertiesBlock", "fd-tech-properties.png", "FD Tekniska Egenskaper"),
("FDCtaSideImageBlock", "fd-cta-side-image.png", "FD CTA med bild"),
("FDFaqBlock", "fd-faq.png", "FD FAQ"),
("FDContactBlock", "fd-contact.png", "FD Kontaktformulär"),
("FDContactFormBlock", "fd-contact.png", "FD Kontaktformulär"),
("FDSpacerBlock", "fd-spacer.png", "FD Mellanrum"),
("FDLocationsGridBlock", "fd-places-grid.png", "FD Platser Grid"),
("FDStatisticsBlock", "fd-statistics.png", "FD Statistik"),
("FDPartnersLogosBlock", "fd-partners-logos.png", "FD Partnerlogotyper"),
("FDNewsletterBlock", "fd-newsletter.png", "FD Nyhetsbrev"),
("FDServiceChooserBlock", "fd-service-chooser.png", "FD Tjänsteväljare"),
("FDDataTableBlock", "fd-data-table.png", "FD Datatabell"),
("FDVpsCalculatorBlock", "fd-vps-calculator.png", "FD VPS-kalkylator"),
("FDTagsBlock", "fd-tags.png", "FD Taggar"),
("FDTextBlock", "fd-text-block.png", "FD Textblock"),
("FDCodeEmbedBlock", "fd-code-embed.png", "FD Kodinbäddning"),
("FDVideoBlock", "fd-video.png", "FD Video"),
("FDCtaBannerBlock", "fd-cta-banner.png", "FD CTA-banner"),
("FDTestimonialBlock", "fd-testimonial.png", "FD Omdöme"),
("FDTeamBlock", "fd-team.png", "FD Team"),
]
print()
skipped, updated, missing = 0, 0, 0
for block_name, image, alt in BLOCKS:
config_path = os.path.join(BLOCKS_DIR, block_name, "config.ts")
if not os.path.exists(config_path):
print(f"⚠ NOT FOUND: {config_path}")
missing += 1
continue
content = open(config_path, encoding="utf-8").read()
if "imageURL" in content:
print(f"⏭ SKIPPED: {block_name} (already has imageURL)")
skipped += 1
continue
# Insert after the slug line
new_content = re.sub(
r"(slug:\s*'[^']+',)",
f"\\1\n imageURL: '/block-thumbnails/{image}',\n imageAltText: '{alt}',",
content,
count=1,
)
if new_content == content:
print(f"⚠ NO MATCH: {block_name} — slug line not found, check manually")
missing += 1
continue
open(config_path, "w", encoding="utf-8").write(new_content)
print(f"✓ UPDATED: {block_name}")
updated += 1
print(f"\nDone — {updated} updated, {skipped} skipped, {missing} not found")
print("\nNext steps:")
print(" git add public/block-thumbnails/ src/blocks/")
print(' git commit -m "feat: block thumbnails in admin UI"')
print(" git push")