#!/usr/bin/env python3 """Generate menu HTML from Beyt Beytak speisekarte data.""" IMG = "images/gerichte" def card(name, price, desc, allergens="", img=None, tags=None, diet="", noix="false"): tags = list(tags or []) if allergens: tags.append(('blue', allergens)) tags_html = "" if tags: tags_html = '\n
' img_html = '' if img: alt = name.replace('&', '&') img_html = f'''''' diet_attr = f' data-diet="{diet}"' if diet else ' data-diet=""' return f''' ''' def tab_panel(tab_id, items, active=False): active_cls = ' active' if active else '' cards = '\n'.join(items) return f''' ''' # --- VORSPEISEN --- vorspeisen = [ card("Taboulah", "5,00 €", "Petersilie, Tomaten, Bulgur, Zitronensaft, Olivenöl", "A1", img=f"{IMG}/taboulah.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Fattoush", "6,00 €", "Frittiertes Brot, Tomaten, Gurken, Römersalat, Minze, Zwiebeln, Knoblauch, Olivenöl, Granatapfelsirup", "A1, K", img=f"{IMG}/fattoush.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Baba Ghanoush", "5,00 €", "Gegrillte Aubergine, Joghurt, Tahina, Knoblauchsoße, Olivenöl", "F, J", img=f"{IMG}/baba-ghanoush.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Hummus", "5,00 €", "Kichererbsen, Tahina, Zitronensaft, Olivenöl", "I", img=f"{IMG}/hummus.png", tags=[('green', 'Vegetarisch')], diet="v"), card("4× Käse Börek", "5,00 €", "Käse, Teigblätter", "A1, F, B", img=f"{IMG}/kaese-boerek.png", tags=[('green', 'Vegetarisch')], diet="v"), card("4× Spinat Börek", "5,00 €", "Spinat, Käse, Zwiebeln", "A1, F, B", img=f"{IMG}/spinat-boerek.png", tags=[('green', 'Vegetarisch')], diet="v"), card("4× Hackfleisch Börek", "5,00 €", "Hackfleisch, Zwiebel, Teigblätter", "A1, F", img=f"{IMG}/hackfleisch-boerek.png"), card("Kibbe frittiert", "2,00 €", "Bulgur, Zwiebel, Hackfleisch", "A1, K, H", img=f"{IMG}/kibbe-frittiert.png"), card("Salat Spezial", "7,00 €", "Tomaten, Gurken, Zwiebeln, Feta Käse, Olivenöl", "F, K", img=f"{IMG}/salat-spezial.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Gefüllte Weinblätter (Yalinyi)", "5,00 €", "Weinblätter, Reis, Petersilie, Zwiebeln, Knoblauch, Tomaten, Paprika, Granatapfelsirup, Olivenöl", "K", img=f"{IMG}/weinblaetter.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Abu Ali Salat Spezial mit Hähnchen", "8,00 €", "Kopfsalat, Tomaten, Gurken, Oliven, Hähnchenfilet, Käse, Granatapfelsirup, Olivenöl", "F", img=f"{IMG}/abu-ali-salat.png"), card("Vorspeisen-Teller vegetarisch", "11,00 €", "Taboulah, Hummus, Baba Ghanoush, 2× Falafel, 1× Spinat Börek, 1× Käse Börek", "A1, H, J, I, F", img=f"{IMG}/vorspeisen-teller.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Falafel-Teller", "6,00 €", "4× Falafel, Hummus, Tomaten, Gurken, Brot", "A1, J, H, I", img=f"{IMG}/falafel-teller.png", tags=[('green', 'Vegan')], diet="vg"), card("Linsensuppe", "3,50 €", "Linsen, Karotten, Kartoffeln", "A1, I, E", img=f"{IMG}/linsensuppe.png", tags=[('green', 'Vegetarisch')], diet="v"), ] # --- MENÜ (Hauptgerichte) --- menue = [ card("Mexicano", "14,90 €", "Hähnchenbruststreifen, Karotten, Zwiebel, Paprika, mit Reis oder Pommes, Coleslaw, Spezialsoße, gebratenes Brot mit Paprikasauce und Käse", "A1, B, I, 2, F, 4, 1", img=f"{IMG}/menue-mexicano.png"), card("Faijta", "14,90 €", "Hähnchenbruststreifen, Champignons, Paprika, Zwiebel, Senf, Käse, mit Reis oder Pommes, Coleslaw, Spezialsoße, gebratenes Brot mit Paprikasauce und Käse", "A1, B, I, F, 2, 4, 1", img=f"{IMG}/menue-faijta.png"), card("Francisco", "14,90 €", "Hähnchenbruststreifen, Champignons, Paprika, Zwiebel, Mais, Käse, mit Reis oder Pommes, Coleslaw, Spezialsoße, gebratenes Brot mit Paprikasauce und Käse", "A1, B, I, F, 2, 4, 2", img=f"{IMG}/menue-francisco.png"), card("Philadelphia", "15,90 €", "Lammfiletstreifen, Champignons, Zwiebel, Paprika, mit Reis oder Pommes, Coleslaw, Spezialsoße, gebratenes Brot mit Paprikasauce und Käse", "A1, B, I, 2, F, 4, 2", img=f"{IMG}/menue-philadelphia.png"), card("Hähnchenspieß", "14,90 €", "4× Hähnchenspieß mit Reis oder Pommes, Coleslaw, Spezialsoße, gebratenes Brot mit Paprikasauce und Käse", "A1, B, I, 2, F, 1", img=f"{IMG}/menue-haehnchenspiess.png"), card("Crispy", "12,90 €", "4× Hähnchenbrust mit Reis oder Pommes, Coleslaw, Spezialsoße, gebratenes Brot mit Paprikasauce und Käse", "A1, B, I, 2, 1, F", img=f"{IMG}/menue-crispy.png"), card("Hähnchenleber", "12,90 €", "Hähnchenleber, Zwiebel, grüner Koriander, Paprika, mit Reis oder Pommes, Coleslaw, Spezialsoße, gebratenes Brot mit Paprikasauce und Käse", "A1, F, B, I, 2, 1", img=f"{IMG}/menue-haehnchenleber.png"), card("Broasted — halbes Hähnchen frittiert", "14,90 €", "Halbes Hähnchen frittiert, Pommes, eingelegtes Gemüse, Knoblauchsoße", "A1, B, I, 2, 1, F", img=f"{IMG}/menue-broasted.png"), card("Mendi Lammfleisch mit Reis", "15,00 €", "Lammfleisch mit Knochen, gewürztes Reis, Salat mit Joghurt und Gurke", "F, G", img=f"{IMG}/menue-mendi-lamm.png", noix="true"), card("Kebsi — halbes Hähnchen mit Reis", "13,50 €", "Halbes Hähnchen, gewürztes Reis, Salat mit Joghurt und Gurke", "F, G", img=f"{IMG}/menue-kebsi.png", noix="true"), card("Arabischer Shawarma-Teller", "11,00 €", "Selbstgemachte Shawarma vom Grill, Pommes, eingelegtes Gemüse, Knoblauchsoße, Coleslaw", "A, B, F, K", img=f"{IMG}/menue-shawarma.png"), card("Nuggets mit Pommes", "10,00 €", "10 Nuggets mit Pommes, Knoblauchsoße", "A1, B, I, 2, 1, F", img=f"{IMG}/menue-nuggets.png"), ] # --- PASTITIEN --- pastitien = [ card("Lahmacun", "2,75 €", "Hackfleisch, Tomaten, Paprika, Zwiebeln, Knoblauch, Petersilie", "A1", img=f"{IMG}/lahmacun.png"), card("Käse Manaesch", "2,50 €", "Käse auf dünnem Fladenteig", "A1, F, J", img=f"{IMG}/kaese-manaesch.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Dreieckige Käsetasche", "2,50 €", "Käse", "A1, F", img=f"{IMG}/kaesetasche.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Hähnchen-Pide", "2,75 €", "Hähnchenbruststreifen, Käse, Zwiebeln, Paprika, Karotten", "A1, F", img=f"{IMG}/haehnchen-pide.png"), card("Hackfleisch-Pide", "2,75 €", "Hackfleisch, Käse, Zwiebeln, Granatapfelsirup", "A1, F", img=f"{IMG}/hackfleisch-pide.png"), card("Sucuk-Pide", "2,75 €", "Sucuk, Käse, Paprikasauce", "A1, F, 2, 3, 4", img=f"{IMG}/sucuk-pide.png"), card("Dreieckige Spinattasche", "2,50 €", "Spinat, Zwiebeln, Käse", "A1, F", img=f"{IMG}/spinattasche.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Hähnchenleber-Pide", "2,50 €", "Hähnchenleber, grüner Koriander, Zwiebeln, Käse", "A1, F", img=f"{IMG}/haehnchenleber-pide.png"), card("Paprika Manaesch", "2,50 €", "Paprikasauce, Zwiebeln, Käse", "A1, F", img=f"{IMG}/paprika-manaesch.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Zaater Manaesch", "2,50 €", "Sesam, Gewürze, Olivenöl, Käse", "A1, F, J", img=f"{IMG}/zaater-manaesch.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Toshka", "5,00 €", "Hackfleisch, Käse", "A1, F", img=f"{IMG}/toshka.png"), card("4× Mini-Pide", "5,00 €", "Käse, Sucuk, Gemüse, Hähnchen", "A1, F, I, K, E", img=f"{IMG}/mini-pide.png"), card("Steak Manaesch", "6,00 €", "Lammsteak-Stücke", "A1", img=f"{IMG}/steak-manaesch.png"), ] # --- SANDWICHES --- sandwiches = [ card("Mexicano", "7,50 €", "Hähnchenbruststreifen, Paprika, Zwiebel, Karotten, Käse, Coleslaw, Baguette oder arabisches Brot", "A1, F, B, 1, 2", img=f"{IMG}/sandwich-mexicano.png"), card("Faijta", "7,50 €", "Hähnchenbruststreifen, Champignons, Paprika, Zwiebel, Senf, Käse, Pommes, Coleslaw, Baguette oder arabisches Brot", "A1, F, 2, 4, B, I", img=f"{IMG}/sandwich-faijta.png"), card("Francisco", "7,50 €", "Hähnchenbruststreifen, Mais, Champignons, Käse, Paprika, Coleslaw, Pommes, Baguette oder arabisches Brot", "A1, 2, 4, B, I, F", img=f"{IMG}/sandwich-francisco.png"), card("Philadelphia", "8,50 €", "Lammfiletstreifen, Champignons, Paprika, Zwiebeln, Pommes, Käse, Coleslaw, Spezialsoße, Baguette oder arabisches Brot", "A1, 2, 4, B, I, F, 1", img=f"{IMG}/sandwich-philadelphia.png"), card("Hähnchenspieß", "7,50 €", "2× Hähnchenspieß, eingelegte Gurken, Pommes, Knoblauchsoße, Käse, Baguette oder arabisches Brot", "A1, F, B", img=f"{IMG}/sandwich-haehnchenspiess.png"), card("Crispysandwich", "7,50 €", "2× Hähnchenbrust frittiert, Coleslaw, Pommes, Spezialsauce, Baguette oder arabisches Brot", "A1, B, 1, 2, I", img=f"{IMG}/sandwich-crispy.png"), card("Hähnchenleber", "7,00 €", "Hähnchenleber, Zwiebel, grüner Koriander, Pommes, eingelegte Gurken, Knoblauchsoße, Baguette oder arabisches Brot", "A1, F, B", img=f"{IMG}/sandwich-haehnchenleber.png"), card("Burger", "8,00 €", "Rindfleisch gemischt mit Lammfleisch, Zwiebel, Tomaten, Salat, Spezialsauce", "A1, F, I, 1, 2, B", img=f"{IMG}/sandwich-burger.png"), card("Cheeseburger", "8,00 €", "Rindfleisch gemischt mit Lammfleisch, Zwiebel, Tomaten, Salat, Käse, Spezialsauce", "A1, F, 1, 2, B, I", img=f"{IMG}/sandwich-cheeseburger.png"), card("Shawarma-Sandwich", "7,00 €", "Selbstgemachte Shawarma vom Grill, Knoblauchsoße, eingelegte Gurken, Granatapfelsirup", "A1, 2, 4, B, I, F", img=f"{IMG}/sandwich-shawarma.png"), card("Kebab-Sandwich", "7,00 €", "2× Kebab-Spieße, Petersilie, Zwiebeln, Paprikasauce, nach Wahl mit Pommes", "A1, 2, 4, B, I, F", img=f"{IMG}/sandwich-kebab.png"), card("Chickencheeseburger", "8,00 €", "Hähnchenbrust frittiert, Salat, Zwiebel, Tomaten, Käse, Spezialsauce", "A1, F, I, 1, 2, B", img=f"{IMG}/sandwich-chickencheeseburger.png"), card("Pommessandwich", "6,00 €", "Pommes, Coleslaw, Käse, Ketchup, Knoblauchsoße, Baguette oder arabisches Brot", "A1, B, F, H, I, 2", img=f"{IMG}/sandwich-pommes.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Falafel-Sandwich", "6,00 €", "Falafel, Salat, Gurken, Minze, Tomaten, Tahina, Essiggurke, arabisches Brot", "A, G, N, E", img=f"{IMG}/sandwich-falafel.png", tags=[('green', 'Vegan')], diet="vg", noix="true"), card("Arabisches Sucuk-Sandwich", "7,00 €", "2× Sucuk-Spieße, Knoblauchsoße, Essiggurken, Paprikasauce, nach Wahl mit Pommes", "A1, 2, 4, B, I, F", img=f"{IMG}/sandwich-sucuk.png"), ] # --- PIZZA --- pizza = [ card("Margherita", "8,50 €", "Tomatensauce, Käse", "A1, F", img=f"{IMG}/pizza-margherita.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Salami", "9,50 €", "Tomatensauce, Käse, Geflügelsalami", "A1, F, 1, 2, 4", img=f"{IMG}/pizza-salami.png"), card("Thunfisch", "9,50 €", "Tomatensauce, Käse, Thunfisch, Zwiebeln", "A1, F, D, 1", img=f"{IMG}/pizza-thunfisch.png"), card("Champignon", "9,50 €", "Tomatensauce, Käse, Champignons", "A1, F, 2, 4", img=f"{IMG}/pizza-champignon.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Vegetariana", "9,50 €", "Tomatensauce, Käse, Mais, Pilze, Paprika, frische Tomaten, Oliven", "A1, F, 2, 4", img=f"{IMG}/pizza-vegetariana.png", tags=[('green', 'Vegetarisch')], diet="v"), card("Sucuk", "9,50 €", "Tomatensauce, Käse, Sucuk", "A1, F, 2, 3, 4", img=f"{IMG}/pizza-sucuk.png"), card("Abu Ali Spezial-Pizza", "11,00 €", "Tomatensauce, Käse, Hähnchenbruststreifen, Pilze, Oliven, Paprika", "A, F, 2, 4", img=f"{IMG}/pizza-abu-ali.png", tags=[('orange', 'Beliebt!')]), card("Hackfleischpizza", "9,50 €", "Tomatensauce, Käse, Hackfleisch", "A1, F", img=f"{IMG}/pizza-hackfleisch.png"), card("Familienpizza", "25,00 €", "Ca. 50 cm Durchmesser, Zutaten nach Wahl", "A1, F", img=f"{IMG}/pizza-familie.png", tags=[('orange', 'Ca. 50 cm')]), ] tabs_html = ''' ''' panels = ( tab_panel("vorspeisen", vorspeisen, active=True) + tab_panel("menue", menue) + tab_panel("pastitien", pastitien) + tab_panel("sandwiches", sandwiches) + tab_panel("pizza", pizza) ) filters_html = ''' ''' menu_inner = filters_html + tabs_html + panels with open("index.html", "r", encoding="utf-8") as f: html = f.read() start = html.find('