from pathlib import Path from PIL import Image, ImageEnhance import base64 import io import re import subprocess import textwrap face_path = Path("/mnt/data/Ekran Resmi 2026-07-30 00.17.58.png") img = Image.open(face_path).convert("RGB") # Karakter kafası için yüz + saç bölgesini sıkı kırp ve hafif iyileştir. crop = img.crop((18, 0, min(img.width, 650), min(img.height, 880))) crop.thumbnail((430, 600), Image.Resampling.LANCZOS) crop = ImageEnhance.Contrast(crop).enhance(1.05) crop = ImageEnhance.Sharpness(crop).enhance(1.12) buffer = io.BytesIO() crop.save(buffer, format="JPEG", quality=87, optimize=True) face_b64 = base64.b64encode(buffer.getvalue()).decode("ascii") html = f''' Kadir Run: Antalya Yolu
Mesafe 0 m
Yıldız · Rekor 0 · 0
3 şerit · Arkadan kamera Sağa/sola kaydır · Yukarı zıpla · Aşağı eğil
Kadir Can karakteri

KADİR RUN

Antalya yolunda üç şeridi kullan, engellerden kaç ve yıldızları topla. Bu sürümde yol gerçekten akıyor, nesneler de arkanda kalınca çöpe gidiyor.

← →Şerit değiştir
↑ ↓Zıpla / eğil
''' out = Path("/mnt/data/index.html") out.write_text(html, encoding="utf-8") # JavaScript sözdizimini Node ile kontrol et. script_match = re.search(r"", html, flags=re.S) if not script_match: raise RuntimeError("Script bloğu bulunamadı.") js_path = Path("/mnt/data/kadir_run_check.js") js_path.write_text(script_match.group(1), encoding="utf-8") check = subprocess.run( ["node", "--check", str(js_path)], capture_output=True, text=True ) if check.returncode != 0: raise RuntimeError(check.stderr) print(f"{out} oluşturuldu | {out.stat().st_size:,} bayt | JavaScript sözdizimi temiz")