Optische Vereinheitlichungen, Verbesserungen und Vereinfachungen

This commit is contained in:
2025-08-30 18:45:01 +02:00
parent 5fada80363
commit 0e1c8f2667
15 changed files with 5149 additions and 4846 deletions

File diff suppressed because one or more lines are too long

View File

@@ -17,7 +17,7 @@ stundenplandatei = stundenplan.md
csvtrenner = ;
# Ausgabegerät: rm2, paperpro, a4
device = rm2
device = a4
[klasse-5a]
@@ -44,7 +44,7 @@ somi_zeilen = 2
halbjahresnote = ja
# Anzahl der Zeilen pro Schüler in einem HA-Bogen: 0, 1, 2, ... (0=kein HA-Bogen)
ha_zeilen = 1
ha_zeilen = 2
# Anzahl der Seiten mit Checkliste: 1, 2, ...
checkliste_seiten = 2

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -3,11 +3,6 @@
# Lerngruppenbezeichnung in der Navileiste (Zeilenumbruch vermeiden): kurz, normal
bezeichnung = normal
[Startseite]
# Schriftgröße der Kalenderwochen (Seitenumbruch vermeiden): normal, klein
schrift = normal
[Korrekturbogen]
# Anzahl der Aufgaben in der Korrekturtabelle: 1, 2, 3, ...
@@ -16,7 +11,7 @@ anzahl_aufgaben = 6
[SoMiNoten]
# Anzahl der SoMi-Noten-Spalten
anzahl_noten = 10
anzahl_noten = 14
[Hausaufgaben]

View File

@@ -108,11 +108,6 @@ table.timetable tr {
table.timetable a {
color: black;
}
th.luecke, td.luecke {
width: 5.5%;
text-align: center;
border: none;
}
th.stunde, td.stunde {
width: 7.5%;
text-align: center;
@@ -149,11 +144,26 @@ th.name, td.name {
vertical-align: middle;
border-right: 1px solid black;
}
tr.header {
tr.header, tr.muster {
border-bottom: 1px solid black;
}
th.luecke, td.luecke {
width: 5.5%;
text-align: center;
border: none;
}
/* Halbjahresübersicht */
table.halbjahr {
border: none;
}
table.halbjahr tr {
border: none;
}
th.kw, th.kwsmall, th.kw_sessions, th.kw_content {
border: 0.3px solid black;
border-bottom: 1px solid black;
}
th.kw, td.kw {
width: 5.5%;
text-align: right;
@@ -167,12 +177,14 @@ th.kwsmall, td.kwsmall {
font-size: 8.5pt;
}
th.kw_sessions, td.kw_sessions {
width: 20%;
width: 19%;
text-align: center;
padding-left: 0pt;
border-left: 1px solid black;
border-right: 1px solid black;
}
th.kw_content, td.kw_content {
width: 75%;
width: 70%;
}
/* Geburtstagstabelle */
@@ -260,8 +272,14 @@ table.somi th {
table.somi td {
vertical-align: middle;
}
table.somi tr.header {
height: 30pt;
}
table.somi tr.secretheader {
height: 30pt;
}
th.somi, td.somi, th.schr, td.schr {
width: 8.5%;
width: 4.5%;
text-align: center;
padding-left: 0pt;
}
@@ -282,22 +300,16 @@ table.check th {
table.check td {
vertical-align: middle;
}
th.check, td.check, th.checksmall, td.checksmall {
th.check, td.check {
width: 8%;
}
table.checksmall td {
font-size: 8pt;
}
/* HA-Tabelle */
th.ha, td.ha, th.hasmall, td.hasmall {
th.ha, td.ha {
width: 8%;
}
th.ha, th.hasmall {
th.ha {
border-left: none;
border-right: none;
}
table.hasmall td {
font-size: 8.5pt;
}

View File

@@ -3,11 +3,6 @@
# Lerngruppenbezeichnung in der Navileiste (Zeilenumbruch vermeiden): kurz, normal
bezeichnung = normal
[Startseite]
# Schriftgröße der Kalenderwochen (Seitenumbruch vermeiden): normal, klein
schrift = normal
[Korrekturbogen]
# Anzahl der Aufgaben in der Korrekturtabelle: 1, 2, 3, ...
@@ -16,7 +11,7 @@ anzahl_aufgaben = 5
[SoMiNoten]
# Anzahl der SoMi-Noten-Spalten
anzahl_noten = 8
anzahl_noten = 12
[Hausaufgaben]

View File

@@ -3,11 +3,6 @@
# Lerngruppenbezeichnung in der Navileiste (Zeilenumbruch vermeiden): kurz, normal
bezeichnung = kurz
[Startseite]
# Schriftgröße der Kalenderwochen (Seitenumbruch vermeiden): normal, klein
schrift = klein
[Korrekturbogen]
# Anzahl der Aufgaben in der Korrekturtabelle: 1, 2, 3, ...
@@ -16,20 +11,14 @@ anzahl_aufgaben = 5
[SoMiNoten]
# Anzahl der SoMi-Noten-Spalten
anzahl_noten = 8
anzahl_noten = 12
[Hausaufgaben]
# Anzahl der HA-Noten-Spalten
anzahl_ha = 8
# Umschalten auf kleine Schrift ab X Schülern (Seitenumbruch vermeiden): 20, 21, 22, ...
umschalten_kleinschrift = 20
[Checkliste]
# Anzahl der Check-Spalten
anzahl_checks = 8
# Umschalten auf kleine Schrift ab X Schülern (Seitenumbruch vermeiden): 20, 21, 22, ...
umschalten_kleinschrift = 20
anzahl_checks = 8

View File

@@ -169,18 +169,15 @@ for datei in dateien:
gebdaten = []
gebdaten_all = False
# Übersichtsseite für das Halbjahr zusammenbauen
body = body + halbjahr.erstelleHalbjahresuebersicht(klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
# Übersichtsseite Noten zusammenbauen
body = body + uebersicht.erstelleUebersicht(klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
# Geburtstagsseite zusammenbauen
if (len(gebdaten)==0):
print(' - Geburtstagsliste wird weggelassen.')
else:
body = body + birthday.erstelleGeburtstagsBogen(klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
# Übersichtsseite Noten zusammenbauen
body = body + uebersicht.erstelleUebersicht(klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
# optional: Korrekturbögen zusammenbauen
try:
schr_anzahl = int(kurs_inputs["schriftlich_anzahl"])
@@ -205,6 +202,9 @@ for datei in dateien:
# Checkliste(n) zusammenbauen
body = body + checkliste.erstelleCheckliste(klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
# Planungsseite für das Halbjahr zusammenbauen
body = body + halbjahr.erstelleHalbjahresuebersicht(klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
# 6. Abschluss: PDF Generierung
html_source = '<html><head>'

View File

@@ -16,7 +16,6 @@ def erstelleCheckliste(klassekurs_name, dateien, path, namen, gebdaten, config,
check_seiten = 1
check_anzahl = int(config["Checkliste"]["anzahl_checks"])
umschalten = int(config["Checkliste"]["umschalten_kleinschrift"])
for no in range(check_seiten):
@@ -30,8 +29,6 @@ def erstelleCheckliste(klassekurs_name, dateien, path, namen, gebdaten, config,
table += header.erstelleHeader(line, klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
css = 'check'
if (len(namen)>umschalten): # kleine Schrift, um möglichst alles auf einer Seite zu halten
css = 'checksmall'
table += '<table class="'+css+'" repeat="1">'

View File

@@ -12,7 +12,6 @@ def erstelleHABogen(klassekurs_name, dateien, path, namen, gebdaten, config, inp
halbjahr = allg["halbjahr"]
ha_anzahl = int(config["Hausaufgaben"]["anzahl_ha"])
umschalten = int(config["Hausaufgaben"]["umschalten_kleinschrift"])
try:
ha_zeilen = int(kurs_inputs["ha_zeilen"])
@@ -25,8 +24,6 @@ def erstelleHABogen(klassekurs_name, dateien, path, namen, gebdaten, config, inp
offset = 2
css = 'ha'
if (len(namen)>umschalten): # kleine Schrift, um möglichst alles auf einer Seite zu halten
css = 'hasmall'
table += '<a name="'+klassekurs_name+'HA"></a>'

View File

@@ -20,7 +20,6 @@ def erstelleHalbjahresuebersicht(klassekurs_name, dateien, path, namen, gebdaten
print('"kw_start" oder "kw_ende" fehlt im allgemeinen Teil der Input-Datei!')
exit(0)
table += '<a name="'+klassekurs_name+'"></a>'
table += '<a name="'+klassekurs_name+'Halbjahr"></a>'
table += header.erstelleHeader('Planung', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
@@ -29,31 +28,23 @@ def erstelleHalbjahresuebersicht(klassekurs_name, dateien, path, namen, gebdaten
table += '<table class="'+css+'" repeat="1">'
table += '<tr class="header"><th class="kw">KW</th>'
table += '<tr class="header"><th class="luecke">&nbsp;</th><th class="kw">KW</th>'
table += '<th class="kw_sessions">Sitzungen</th><th class="kw_content"></th>'
table += '</tr>'
try:
schrift = config["Startseite"]["schrift"]
except KeyError:
print('Der Schlüssel Starseite oder "schrift" existiert nicht in der Device-Datei!')
exit(0)
extrakw = ''
if (schrift=='klein'):
extrakw = ' kwsmall'
if (halbjahr=='1'):
for count in range(kw_start, 52):
table += '<tr><td class="kw'+extrakw+'">'+str(count)+'</td>'
table += '<th class="kw_sessions"></td><td class="kw_content"></td></tr>'
table += '<tr><td class="luecke">&nbsp;</td><td class="kw'+extrakw+'">'+str(count)+'</td>'
table += '<td class="kw_sessions"></td><td class="kw_content"></td></tr>'
for count in range(1, kw_ende+1):
table += '<tr><td class="kw'+extrakw+'">'+str(count)+'</td>'
table += '<th class="kw_sessions"></td><td class="kw_content"></td></tr>'
table += '<tr><td class="luecke">&nbsp;</td><td class="kw'+extrakw+'">'+str(count)+'</td>'
table += '<td class="kw_sessions"></td><td class="kw_content"></td></tr>'
else:
for count in range(kw_start, kw_ende+1):
table += '<tr><td class="kw'+extrakw+'">'+str(count)+'</td>'
table += '<th class="kw_sessions"></td><td class="kw_content"></td></tr>'
table += '<tr><td class="luecke">&nbsp;</td><td class="kw'+extrakw+'">'+str(count)+'</td>'
table += '<td class="kw_sessions"></td><td class="kw_content"></td></tr>'
table += '</table>'

View File

@@ -82,16 +82,13 @@ def erstelleHeader(line, klassekurs_name, gebdaten, lerngruppen, path, config, i
# Iconleiste rechts
header += '<td class="right headline">'
# Halbjahresseite
header += '<a href="#'+klassekurs_name+'Halbjahr">&nbsp;<img class="icon" src="img/calendar-days.svg"/></a>'
# Notenübersicht
header += '<a href="#'+klassekurs_name+'Overview">&nbsp;<img class="icon" src="img/user-multiple-4.svg"/></a>'
# Geburtstagsseite
if (len(gebdaten)>0):
header += '<a href="#'+klassekurs_name+'Birthday">&nbsp;<img class="icon" src="img/bell-1.svg"/></a>'
# Notenübersicht
header += '<a href="#'+klassekurs_name+'Overview">&nbsp;<img class="icon" src="img/user-multiple-4.svg"/></a>'
# Arbeiten/Klausuren
schr_anzahl = int(kurs_inputs["schriftlich_anzahl"])
schr_bez = kurs_inputs["schriftlich_bez"]
@@ -119,6 +116,9 @@ def erstelleHeader(line, klassekurs_name, gebdaten, lerngruppen, path, config, i
# Checklisten
header += '<a href="#'+klassekurs_name+'Check">&nbsp;<img class="icon" src="img/check-circle-1.svg"/></a>'
# Halbjahresseite
header += '<a href="#'+klassekurs_name+'Halbjahr">&nbsp;<img class="icon" src="img/calendar-days.svg"/></a>'
header += '</td></tr></table>'
return header

View File

@@ -47,7 +47,7 @@ def erstelleSoMiBogen(klassekurs_name, dateien, path, namen, gebdaten, config, i
myclass = ' class="header"'
if (somi_zeilen>1 and zeile<(somi_zeilen-1)):
myclass = ''
myclass = ' class="secretheader"'
table += '<tr'+myclass+'>'
if zeile==0:

View File

@@ -6,6 +6,7 @@ def erstelleUebersicht(klassekurs_name, dateien, path, namen, gebdaten, config,
table = ''
table += '<a name="'+klassekurs_name+'"></a>'
table += '<a name="'+klassekurs_name+'Overview"></a>'
allg = inputs["Allgemein"]