feat: Add static assets and content for the KLZ Cables showcase.
This commit is contained in:
64
fix_showcase_css.py
Normal file
64
fix_showcase_css.py
Normal file
@@ -0,0 +1,64 @@
|
||||
import os
|
||||
import re
|
||||
|
||||
showcase_dir = "public/showcase/klz-cables"
|
||||
main_css = "wp-content/cache/breeze-minification/css/breeze_klz-cables-com-1-10895.css"
|
||||
power_css = "wp-content/cache/breeze-minification/css/breeze_power-cables-1-43461.css"
|
||||
fallback_img = "wp-content/uploads/2025/04/3.webp"
|
||||
|
||||
def fix_html_file(file_path):
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
|
||||
modified = False
|
||||
|
||||
# Fix CSS
|
||||
links = re.findall(r'<link [^>]*rel=["\']stylesheet["\'][^>]*href=["\']([^"\']*)["\'][^>]*>', content)
|
||||
links += re.findall(r'<link [^>]*href=["\']([^"\']*)["\'][^>]*rel=["\']stylesheet["\'][^>]*>', content)
|
||||
for link in links:
|
||||
file_dir = os.path.dirname(file_path)
|
||||
rel_link = os.path.join(file_dir, link)
|
||||
if not os.path.exists(rel_link):
|
||||
fallback = main_css
|
||||
if "power-cables" in file_path or "stromkabel" in file_path or "cables" in link:
|
||||
fallback = power_css
|
||||
levels = len(os.path.relpath(file_dir, showcase_dir).split(os.sep))
|
||||
if os.path.relpath(file_dir, showcase_dir) == ".": levels = 0
|
||||
new_link = ("../" * levels) + fallback
|
||||
content = content.replace(link, new_link)
|
||||
modified = True
|
||||
|
||||
# Fix Images (src)
|
||||
imgs = re.findall(r'<img [^>]*src=["\']([^"\']*)["\'][^>]*>', content)
|
||||
for img in imgs:
|
||||
if img.startswith("data:"): continue
|
||||
file_dir = os.path.dirname(file_path)
|
||||
rel_img = os.path.join(file_dir, img)
|
||||
if not os.path.exists(rel_img):
|
||||
levels = len(os.path.relpath(file_dir, showcase_dir).split(os.sep))
|
||||
if os.path.relpath(file_dir, showcase_dir) == ".": levels = 0
|
||||
new_img = ("../" * levels) + fallback_img
|
||||
content = content.replace(img, new_img)
|
||||
modified = True
|
||||
|
||||
# Fix srcset (just remove or replace with single fallback)
|
||||
srcsets = re.findall(r'srcset=["\']([^"\']*)["\']', content)
|
||||
for srcset in srcsets:
|
||||
# If any part of srcset is likely broken, just replace the whole thing with fallback
|
||||
# Or simpler: if it contains "../wp-content", it's likely broken in this context
|
||||
if "../wp-content" in srcset:
|
||||
file_dir = os.path.dirname(file_path)
|
||||
levels = len(os.path.relpath(file_dir, showcase_dir).split(os.sep))
|
||||
if os.path.relpath(file_dir, showcase_dir) == ".": levels = 0
|
||||
new_img = ("../" * levels) + fallback_img
|
||||
content = content.replace(f'srcset="{srcset}"', f'srcset="{new_img} 800w"')
|
||||
modified = True
|
||||
|
||||
if modified:
|
||||
with open(file_path, 'w', encoding='utf-8') as f:
|
||||
f.write(content)
|
||||
|
||||
for root, dirs, files in os.walk(showcase_dir):
|
||||
for file in files:
|
||||
if file.endswith(".html"):
|
||||
fix_html_file(os.path.join(root, file))
|
||||
Reference in New Issue
Block a user