update
This commit is contained in:
@@ -504,7 +504,11 @@ async def generate_bausteine(topic: str, instructions: str = "", provider: str =
|
||||
# --- Guide-Generierung: Bausteine → (Plan) → Writer → JSON ---
|
||||
|
||||
# Parallele Writer pro Format (OnePager hat einen eigenen Weg).
|
||||
WRITER_COUNT = {"MiniGuide": 1, "Guide": 2, "FullGuide": 4}
|
||||
# Writer skalieren mit der Section-Zahl: 1 Writer je ~30 Sections (gedeckelt).
|
||||
# Kleine Pakete vermeiden Lazy-Output bei langen Listen und begrenzen den Schaden
|
||||
# eines fehlgeschlagenen Writers.
|
||||
WRITER_SECTIONS = 30
|
||||
WRITER_MAX = 10
|
||||
|
||||
|
||||
def _resolve_gliederung(data, entries: dict[int, str], soll: int) -> list[dict] | None:
|
||||
@@ -743,7 +747,8 @@ async def _generate_sections(
|
||||
await _fail(guide_id, "Gliederung fehlgeschlagen")
|
||||
return None
|
||||
plan = res[0]
|
||||
chunks = _split_chunks(plan, WRITER_COUNT[format_name])
|
||||
total_sections = sum(len(c["nums"]) for c in plan)
|
||||
chunks = _split_chunks(plan, min(WRITER_MAX, max(1, math.ceil(total_sections / WRITER_SECTIONS))))
|
||||
zuteilungen = [_zuteilung_text(chunk, entries) for chunk in chunks]
|
||||
chunk_sizes = [sum(len(c["nums"]) for c in chunk) for chunk in chunks]
|
||||
|
||||
|
||||
@@ -254,6 +254,9 @@ async function send() {
|
||||
<style scoped>
|
||||
.detail {
|
||||
flex: 1;
|
||||
/* Flex-Item darf schmaler werden als seine Code-Blöcke — sonst sprengt
|
||||
deren Mindestbreite auf Mobile das Layout */
|
||||
min-width: 0;
|
||||
height: 100vh;
|
||||
position: relative;
|
||||
}
|
||||
@@ -261,6 +264,8 @@ async function send() {
|
||||
.guide-scroll {
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
/* Kein horizontales Pannen der ganzen Seite — Code-Blöcke scrollen intern */
|
||||
overflow-x: hidden;
|
||||
background: var(--bg-preview);
|
||||
}
|
||||
|
||||
@@ -270,6 +275,12 @@ async function send() {
|
||||
padding: 2rem 2.5rem 5rem;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.guide-content {
|
||||
padding: 1.25rem 0.9rem 4rem;
|
||||
}
|
||||
}
|
||||
|
||||
.guide-head {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
@@ -398,6 +409,8 @@ async function send() {
|
||||
border-radius: 4px;
|
||||
font-family: "SF Mono", Consolas, monospace;
|
||||
font-size: 0.85em;
|
||||
/* Lange Bezeichner (Namespaces, Pfade) dürfen umbrechen statt zu überlaufen */
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.markdown :deep(pre) {
|
||||
|
||||
Reference in New Issue
Block a user