diff --git a/article_server.py b/article_server.py index 72b403f..e936df6 100644 --- a/article_server.py +++ b/article_server.py @@ -2126,64 +2126,42 @@ document.getElementById('publishBtn').addEventListener('click',function(){{submi autor_name = author_info["name"] autor_banner = author_info["banner"] - # Infobox-Tabelle - fakten_rows = [] - if autoren: fakten_rows.append(f'
Mechanismen: ' + ", ".join(mech) + '
' - - # Bewertung - wertung_html = "" + # BEWERTUNGSKARTE β dunkelblauer Header + 3 Spalten + Footer (CSS: .bsn-rating-card) + mech_items = "".join(f'{m}' for m in mech) if mech else "" + pro_items = "".join(f'{p}' for p in pros) if pros else "" + kontra_items = "".join(f'{k}' for k in kontras) if kontras else "" + rating_html = "" if wertung: - wertung_html = f'' + rating_html = f"""""" - disc_html = "" - if disclosure_text: - disc_html = f'{disclosure_text}
Dies hat keinen Einfluss auf unsere Bewertung!
{erkl.replace(chr(10)+chr(10), '
')}
" if faz and "<" not in faz[:100]: @@ -2202,30 +2179,37 @@ document.getElementById('publishBtn').addEventListener('click',function(){{submi erklarung_html = erkl fazit_html = faz - # Verlag/Autor Fallback + disc_html = "" + if disclosure_text: + disc_html = f'{disclosure_text}
Dies hat keinen Einfluss auf unsere Bewertung!
{spielname} β {komplex or 'Brettspiel'} von {display_autor}
+ body = f"""{spielname} β {komplex or 'Brettspiel'} von {display_autor}
-

-
{{{{module Discord-Hinweis Tests}}}}
+{rating_html}{aff_html} -
{{{{gallery}}}}{gal_path}{{{{/gallery}}}}
-{{{{module Aktuelle Texte fur Content}}}}
""" +{{gallery}}{gal_path}{{/gallery}}
""" datei = datetime.now().strftime("%Y-%m-%d") safe = spielname.lower().replace(" ", "-").replace(":", "").replace("/", "-") diff --git a/bsn-review.css b/bsn-review.css new file mode 100644 index 0000000..128a3c2 --- /dev/null +++ b/bsn-review.css @@ -0,0 +1,176 @@ +/* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + BSN FAKTEN ZUM SPIEL β 3-Spalten-Grid, mobile-first + βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ + +.bsn-fakten { + margin: 24px 0; + border: 1px solid #e0e0e0; + border-radius: 8px; + overflow: hidden; +} +.bsn-fakten h3 { + background: #fff; + margin: 0; + padding: 12px 16px; + font-size: 0.95em; + font-weight: 700; + letter-spacing: 0.05em; + border-bottom: 1px solid #000; +} +.bsn-fakten-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 0; + background: #fff; +} +.bsn-fakten-item { + padding: 14px 12px; + border-right: 1px solid #f0f0f0; + border-bottom: 1px solid #f0f0f0; + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 4px; +} +.bsn-fakten-item:nth-child(3n) { border-right: none; } +.bsn-fakten-val { + font-weight: 600; + font-size: 0.9em; + color: #1a1a1a; +} +.bsn-fakten-lbl { + font-size: 0.75em; + color: #999; +} + +@media (max-width: 600px) { + .bsn-fakten-grid { + grid-template-columns: repeat(2, 1fr); + } + .bsn-fakten-item:nth-child(3n) { border-right: 1px solid #f0f0f0; } + .bsn-fakten-item:nth-child(2n) { border-right: none; } +} +@media (max-width: 380px) { + .bsn-fakten-grid { grid-template-columns: 1fr; } + .bsn-fakten-item { border-right: none; } +} + + +/* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + BSN BEWERTUNGSKARTE β dunkelblauer Header, 3 Spalten, Footer + βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ + +.bsn-rating-card { + margin: 32px 0; + border-radius: 10px; + overflow: hidden; + box-shadow: 0 2px 12px rgba(0,0,0,0.08); + font-family: system-ui, -apple-system, sans-serif; +} +.bsn-rc-header { + background: #20228a; + color: #fff; + padding: 16px 20px; + display: flex; + flex-wrap: wrap; + align-items: baseline; + gap: 16px; +} +.bsn-rc-title { + font-size: 1.3em; + font-weight: 700; + letter-spacing: 0.02em; +} +.bsn-rc-meta { + font-size: 0.8em; + opacity: 0.85; +} +.bsn-rc-body { + background: #fff; + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 0; +} +.bsn-rc-col { + padding: 16px 14px; + border-right: 1px solid #eee; +} +.bsn-rc-col:last-child { border-right: none; } +.bsn-rc-col h4 { + font-size: 0.75em; + font-weight: 700; + letter-spacing: 0.06em; + color: #20228a; + margin: 0 0 10px; +} +.bsn-rc-mech, +.bsn-rc-pro, +.bsn-rc-kontra { + display: block; + font-size: 0.88em; + padding: 4px 0; + border-bottom: 1px dotted #ddd; + color: #333; +} +.bsn-rc-empty { + display: block; + font-size: 0.85em; + color: #bbb; + padding: 4px 0; +} +.bsn-rc-footer { + background: #20228a; + color: #fff; + padding: 14px 20px; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + gap: 8px; +} +.bsn-rc-author { + font-size: 0.85em; + font-style: italic; + opacity: 0.9; +} +.bsn-rc-score { + font-size: 1.2em; + font-weight: 700; + letter-spacing: 0.03em; +} + +@media (max-width: 600px) { + .bsn-rc-body { grid-template-columns: 1fr; } + .bsn-rc-col { border-right: none; border-bottom: 1px solid #eee; } + .bsn-rc-col:last-child { border-bottom: none; } + .bsn-rc-header { flex-direction: column; gap: 4px; } + .bsn-rc-footer { flex-direction: column; text-align: center; } +} + + +/* βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + BSN Allgemeine Artikel-Elemente + βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ */ + +.bsn-dachzeile { + color: #20228a; + font-weight: 600; + border-bottom: 2px solid #20228a; + padding-bottom: 8px; + margin-bottom: 16px; +} +.bsn-disclosure { + text-align: center; + font-size: 0.9em; + color: #666; + margin: 12px 0; +} +.bsn-affiliate { + text-align: center; + margin: 8px 0; +} +.bsn-affiliate img { + max-width: 100%; + height: auto; + border-radius: 6px; +}