Neue einheitliche vereinfachte Navigationsleiste eingefügt. Rand links/rechts/ohne nun für den Nutzer konfigurierbar.

This commit is contained in:
2025-09-26 19:27:37 +02:00
parent 2703638f4f
commit 7b43408e7e
23 changed files with 3977 additions and 6885 deletions

View File

@@ -22,8 +22,8 @@ stundenplandatei = stundenplan.md
# Trenner der Spalten in den CSV-Eingabedateien
csvtrenner = ;
# Navigationsleiste auch auf Klassen- und Kursseiten einblenden: ja, nein (nein schafft Platz für ca. 2 weitere Schülerzeilen)
navileiste = ja
# Rand für Toolbar des Devices lassen: links, rechts (leer = kein Rand)
rand = links
# Ausgabegerät: rm2, paperpro, a4
device = rm2
@@ -37,5 +37,5 @@ Die Parameter sind zwar selbsterklärend, werden hier aber dennoch einmal kurz e
- Auf Wunsch können die Ferienwochen aus der Übersicht entfernt werden. Die entsprechenden Kalenderwochen müssen hier (nur mit Komma und ohne Leerzeichen getrennt) angegeben werden.
- Soll die Startseite des Zieldokuments einen Stundenplan enthalten, so ist dieser im Eingabeverzeichnis als Markdown Dokument anzugeben (vgl. auch nächster Abschnitt). Der Dateiname wird hier festgelegt. Fehlt der Dateiname, so wird der Stundenplan automatisch weggelassen.
- Für die CSV Dateien kann hier das Symbol zum Trennen der Spalte (voreingestellt Semikolon) bei Bedarf angepasst werden.
- Abhängig vom Ausgabegerät passen für kleinere Gruppen alle Schüler auf eine Seite, während für große Gruppen ein Seitenumbruch erfolgt. Manchmal passiert der aber nur wegen eines einzigen Schülers und das ist schon ärgerlich. In dem Fall kann hier die obere Navigationsleiste auch einfach weggelassen werden, was Platz für ca. 2 Schüler schafft.
- Auf einigen Zieldevices (insbesondere bei den Remarkable Geräten) wird bei der Bearbeitung eines Dokuments eine Toolbar eingeblendet. Um Platz für diese Toolbar zu schaffen, kann links oder rechts ein kleiner Rand gelassen werden.
- Zum Schluss kommt die wichtigste Festlegung, das Zielgerät. Hier kann aktuell zwischen ``rm2`` (reMarkable 2), ``paperpro`` (reMarkable Paper Pro) und ``a4`` (DIN A4) gewählt werden.

File diff suppressed because one or more lines are too long

View File

@@ -17,8 +17,8 @@ stundenplandatei = stundenplan.md
# Trenner der Spalten in den CSV-Eingabedateien
csvtrenner = ;
# Navigationsleiste auch auf Klassen- und Kursseiten einblenden: ja, nein (nein schafft Platz für ca. 2 weitere Schülerzeilen)
navileiste = ja
# Rand für Toolbar des Devices lassen: links, rechts (leer = kein Rand)
rand = links
# Ausgabegerät: rm2, paperpro, a4
device = rm2

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
@page {
size: a4 portrait;
margin-left: 0.5cm;
margin-right: 0.5cm;
margin-left: 0.5cm;
margin-right: 0.5cm;
margin-top: 0.25cm;
margin-bottom: 0.25cm;
}

View File

@@ -1,9 +1,3 @@
/* Navizelle oben links in der Ecke neutral grau */
.n0 {
background-color: lightgrey;
}
/* Navizelle, Titel und Stundenplanlink einheitlich eingefärbt */

View File

@@ -12,76 +12,36 @@ th {
}
/* Lerngruppennavigation */
table.lerngruppen {
/* Primäre und sekundäre Navigationsleiste */
p.kn, p.hn {
width: 100%;
border: none;
margin-top: 0pt;
padding-left: 0pt;
padding-top: 2pt;
padding-bottom: 5pt;
border-bottom: 1px solid black;
}
table.lerngruppen a {
.kn-part, .hn-part {
vertical-align: middle;
}
p.kn a, p.hn a {
color: black;
text-decoration: none;
}
table.lerngruppen td {
border-left: 0.1px solid black;
border-right: 0.1px solid black;
border-top: 0.1px solid black;
border-bottom: 0.1px solid black;
}
td.group, td.current {
width: 11.125%; /* 5.5% Rest für X */
font-size: 100%;
padding-top: 3pt;
padding-bottom: 0pt;
padding-right: 2pt;
text-align: center;
}
table.lerngruppen tr {
border: none;
}
table.lerngruppen td.home {
width: 5.5%;
font-size: 100%;
border: none;
}
/* Überschriftszeile mit Icon-Symbolen */
table.headline, tr.headline, td.headline {
border: none !important;
}
table.headline {
width: 100%;
margin-top: 12pt;
margin-bottom: 4pt;
}
table.headline td {
font-size: 175%;
border: none;
}
table.headline td.nr {
width: 5.5%;
}
td.left {
width: 42.5%;
padding-top: 4pt;
text-align: left;
}
td.right {
width: 52.0%;
padding-top: 0pt;
padding-right: 0pt;
text-align: left;
}
table.headline a {
.kn-current, .hn-current {
color: black;
text-decoration: none;
font-weight: 900;
text-decoration: underline;
}
img.icon {
p.kn img.icon, p.hn img.icon {
width: 16pt;
height: 16pt;
padding-left: 1pt;
padding-right: 1pt;
padding-left: 0pt;
padding-right: 0pt;
}
p.kn-headline {
padding-top: 5pt;
padding-bottom: -15pt;
font-size: 175%;
}
@@ -110,11 +70,6 @@ th.name, td.name {
tr.header, tr.muster {
border-bottom: 1px solid black;
}
th.luecke, td.luecke {
width: 5.5%;
text-align: center;
border: none;
}
/* Startseite inkl. Stundenplan */
@@ -142,7 +97,7 @@ th.stunde, td.stunde {
border-right: 1px solid black;
}
th.tag, td.tag {
width: 17.5%;
width: 18.5%;
text-align: center;
border: 0.3px solid black;
}
@@ -206,6 +161,7 @@ th.endnote, td.endnote {
border-left: 1px solid black;
}
/* Korrektur-Tabelle */
table.korrektur td {
vertical-align: middle;
@@ -244,6 +200,7 @@ table.raster tr {
height: 25pt;
}
/* SoMi-Tabelle */
table.somi th {
vertical-align: bottom;
@@ -258,7 +215,7 @@ table.somi tr.secretheader {
height: 30pt;
}
th.somi, td.somi, th.schr, td.schr {
width: 4.25%;
width: 4.75%;
text-align: center;
padding-left: 0pt;
}
@@ -271,6 +228,7 @@ th.sominote, td.sominote {
border-left: 1px solid black;
}
/* Check-Tabelle */
table.check th {
height: 40pt;
@@ -292,9 +250,10 @@ th.ha {
border-right: none;
}
/* Geburtstagstabelle */
td.geb, th.geb {
width: 15%;
width: 20%;
padding-left: 0pt;
text-align: center;
}
@@ -307,9 +266,10 @@ td.eightteen {
background: lightgrey;
}
td.home {
width: 42.5%;
width: 40%;
}
/* Halbjahresübersicht */
table.halbjahr {
border: none;
@@ -322,7 +282,7 @@ th.kw, th.kwsmall, th.kw_sessions, th.kw_content {
border-bottom: 1px solid black;
}
th.kw, td.kw {
width: 5.5%;
width: 7%;
text-align: right;
padding-right: 2pt;
vertical-align: middle;
@@ -334,14 +294,14 @@ th.kwsmall, td.kwsmall {
font-size: 8.5pt;
}
th.kw_sessions, td.kw_sessions {
width: 19%;
width: 20%;
text-align: center;
padding-left: 0pt;
border-left: 1px solid black;
border-right: 1px solid black;
}
th.kw_content, td.kw_content {
width: 70%;
width: 75%;
}
@@ -354,5 +314,5 @@ div.footer {
font-style: italic;
}
div.footer a {
color: darkgrey;
color: black;
}

View File

@@ -1,23 +1,17 @@
/* Navileiste: aktiv grau hinterlegt, sonst weiß */
/* Primäre Navileiste: aktuell ohne Schattierung */
td.group {
background-color: white; /* keine Einfärbung */
}
td.current {
background-color: lightgrey; /* aktiv = schwach grau hinterlegt */
}
.n1, .n2, .n3, .n4, .n5, .n6, .n7, .n8 {
}
/* Überschrift: aktuell ohne Schattierung */
/* Überschrift unter sekundärer Kurs-Navileiste: aktuell ohne Schattierung */
.h1, .h2, .h3, .h4, .h5, .h6, .h7, .h8 {
}
/* Stundenplan: Links nur leicht grau schattiert Ü*/
/* Stundenplan: Links einheitlich grau schattiert */
.t1, .t2, .t3, .t4, .t5, .t6, .t7, .t8 {
background-color: #f2f2f2;

View File

@@ -1,7 +1,7 @@
@page {
size: 17.98cm 23.98cm;
margin-left: 0.5cm;
margin-right: 0.5cm;
margin-left: 0.5cm;
margin-right: 0.5cm;
margin-top: 0.25cm;
margin-bottom: 0.25cm;
}

View File

@@ -13,7 +13,7 @@ anzahl_aufgaben = 5
[SoMiNoten]
# Anzahl der SoMi-Noten-Spalten
anzahl_noten = 15
anzahl_noten = 14
[Hausaufgaben]

View File

@@ -1,7 +1,7 @@
@page {
size: 15.72cm 20.96cm;
margin-left: 0.5cm;
margin-right: 0.5cm;
margin-left: 0.5cm;
margin-right: 0.5cm;
margin-top: 0.25cm;
margin-bottom: 0.25cm;
}

View File

@@ -13,7 +13,7 @@ anzahl_aufgaben = 5
[SoMiNoten]
# Anzahl der SoMi-Noten-Spalten
anzahl_noten = 14
anzahl_noten = 12
[Hausaufgaben]

View File

@@ -50,6 +50,12 @@ except KeyError:
print('Der Schlüssel Allgemein oder "device" existiert nicht in der Input-Datei!')
exit(0)
try:
rand = inputs["Allgemein"]["rand"]
except KeyError:
print('Der Schlüssel Allgemein oder "rand" existiert nicht in der Input-Datei!')
exit(0)
# Basiskonfiguration für das Device einlesen
ini_file = 'devices/'+device+'.ini'
if (not(os.path.exists(ini_file))):
@@ -59,7 +65,12 @@ config = ConfigParser(allow_no_value=True)
config.read(ini_file)
# CSS Formatierung für das Device einlesen
css_devicefile = 'devices/'+device+'.css'
if (len(rand)>0):
myrand = "-"+rand
else:
myrand = ""
css_devicefile = 'devices/'+device+myrand+'.css'
if (not(os.path.exists(css_devicefile))):
print(css_devicefile+" nicht vorhanden!")
exit(0)

View File

@@ -29,7 +29,7 @@ def erstelleGeburtstagsBogen(kursid, klassekurs_name, dateien, path, namen, gebd
table += '<a name="'+klassekurs_name+'Birthday"></a>'
table += header.erstelleHeader(kursid, 'Geburtstage', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += header.erstelleKursnavigation(kursid, 'Geburtstagsliste', 'gebtag', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += '<table class="home" repeat="1">'

View File

@@ -26,7 +26,7 @@ def erstelleCheckliste(kursid, klassekurs_name, dateien, path, namen, gebdaten,
if check_seiten > 1:
line += 'n'
table += header.erstelleHeader(kursid, line, klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += header.erstelleKursnavigation(kursid, line, 'check', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
css = 'check'

View File

@@ -27,7 +27,7 @@ def erstelleHABogen(kursid, klassekurs_name, dateien, path, namen, gebdaten, con
table += '<a name="'+klassekurs_name+'HA"></a>'
table += header.erstelleHeader(kursid, 'HA', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += header.erstelleKursnavigation(kursid, 'Hausaufgaben', 'ha', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += '<table class="'+css+'" repeat="1">'

View File

@@ -24,13 +24,13 @@ def erstelleHalbjahresuebersicht(kursid, klassekurs_name, dateien, path, namen,
table += '<a name="'+klassekurs_name+'Halbjahr"></a>'
table += header.erstelleHeader(kursid, 'Planung', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += header.erstelleKursnavigation(kursid, 'Planung des Halbjahrs', 'halbjahr', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
css = 'halbjahr'
table += '<table class="'+css+'" repeat="1">'
table += '<tr class="header"><th class="luecke">&nbsp;</th><th class="kw">KW</th>'
table += '<tr class="header"><th class="kw">KW</th>'
table += '<th class="kw_sessions">Sitzungen</th><th class="kw_content"></th>'
table += '</tr>'
@@ -39,16 +39,16 @@ def erstelleHalbjahresuebersicht(kursid, klassekurs_name, dateien, path, namen,
if (halbjahr=='1'):
for count in range(kw_start, 52):
if (not(str(count) in ferien)):
table += '<tr><td class="luecke">&nbsp;</td><td class="kw'+extrakw+'">'+str(count)+'</td>'
table += '<tr><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):
if (not(str(count) in ferien)):
table += '<tr><td class="luecke">&nbsp;</td><td class="kw'+extrakw+'">'+str(count)+'</td>'
table += '<tr><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):
if (not(str(count) in ferien)):
table += '<tr><td class="luecke">&nbsp;</td><td class="kw'+extrakw+'">'+str(count)+'</td>'
table += '<tr><td class="kw'+extrakw+'">'+str(count)+'</td>'
table += '<td class="kw_sessions"></td><td class="kw_content"></td></tr>'
table += '</table>'

View File

@@ -1,15 +1,20 @@
import os
def erstelleNavigation(klassekurs_name, lerngruppen, path, config, inputs):
header = '<table class="lerngruppen"><tr class="lerngruppen">'
header += '<td class="home">&nbsp;</td>'
myclass = "group"
if (klassekurs_name==''):
header += '<td class="current n0">Startseite</td>'
def erstelleHauptnavigation(lerngruppen, path, config, inputs):
try:
rand = inputs["Allgemein"]["rand"]
except KeyError:
print('Der Schlüssel Allgemein oder "rand" existiert nicht in der Input-Datei!')
exit(0)
if (rand=="rechts"):
navi = "&nbsp;&nbsp;&nbsp;" # Platz für Schließen-Symbol schaffen
else:
header += '<td class="group n0"><a href="#Home">Startseite</a></td>'
navi = ""
navi += '<span class="hn-part">&nbsp;<img class="icon" src="img/home-2.svg"/><span class="hn-current">Startseite</span></span>&nbsp;&nbsp;'
count = 0
@@ -40,74 +45,41 @@ def erstelleNavigation(klassekurs_name, lerngruppen, path, config, inputs):
exit(0)
myclass = ' n'+str(count) # Navileisten-CSS nX
if (klassekurs_aktuell == klassekurs_name):
header += '<td class="current'+myclass+'">'+klassekurs_print+'</td>'
else:
header += '<td class="group'+myclass+'"><a href="#'+klassekurs_aktuell+'">'+klassekurs_print+'</a></td>'
navi += '<span class="hn-part"><a href="#'+klassekurs_aktuell+'">&nbsp;<img class="icon" src="img/user-multiple-4.svg"/><span class="'+myclass+'">'+klassekurs_print+'</span></a>&nbsp;</span>'
header += '</tr></table>'
navileiste = '<p class="hn">'+navi+'</p>'
return header
return navileiste
def erstelleKursnavigation(kursid, line, current, klassekurs_name, gebdaten, lerngruppen, path, config, inputs, kurs_inputs):
def erstelleHeader(kursid, line, klassekurs_name, gebdaten, lerngruppen, path, config, inputs, kurs_inputs):
# Navigationsleiste für die Lerngruppen
try:
navileiste = inputs["Allgemein"]["navileiste"]
except KeyError:
print('Der Schlüssel Allgemein oder "kurzbezeichnung" existiert nicht in der Input-Datei!')
exit(0)
zeige_navi = False
if (navileiste=='ja'):
zeige_navi = True
if (zeige_navi):
header = erstelleNavigation(klassekurs_name, lerngruppen, path, config, inputs)
else:
header = ''
# Überschrift inkl. verlinkte Icons für die aktuelle Lerngruppe
header += '<table class="headline"><tr class="headline">'
# Icon
header += '<td class="nr">&nbsp;</td>'
# 1. Teil Navigationsleiste
allg = inputs["Allgemein"]
schuljahr = allg["schuljahr"]
zschuljahr = int(schuljahr)
halbjahr = allg["halbjahr"]
try:
rand = inputs["Allgemein"]["rand"]
except KeyError:
print('Der Schlüssel Allgemein oder "rand" existiert nicht in der Input-Datei!')
exit(0)
# Überschrift
if len(line)>0:
myline = line
if (rand=="rechts"):
navi = "&nbsp;&nbsp;&nbsp;" # Platz für Schließen-Symbol schaffen
else:
myline = str(zschuljahr) + '/' + str((zschuljahr-2000)+1) + ', ' + halbjahr + '. Hj.'
# Überschrift links
count = 0
for gruppe in lerngruppen:
count = count + 1
if (gruppe==kursid):
break
mycss = 'h'+str(count) # Headline-CSS hX
header+= '<td class="left headline"><span class="'+mycss+'">'+klassekurs_name+'</span> - '+myline+'</td>'
# Iconleiste rechts
header += '<td class="right headline">'
navi = ""
# Link zur Startseite, falls keine Navileiste
if (not(zeige_navi)):
header += '<a href="#Home">&nbsp;<img class="icon" src="img/home-2.svg"/></a>'
navi += '<span class="kn-part"><a href="#Home">&nbsp;<img class="icon" src="img/chevron-left-circle.svg"/>zurück</a></span>&nbsp;&nbsp;'
# Notenübersicht
header += '<a href="#'+klassekurs_name+'Overview">&nbsp;<img class="icon" src="img/user-multiple-4.svg"/></a>'
if (current=='übersicht'):
navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/user-multiple-4.svg"/><span class="kn-current">Übersicht</span></span>'
else:
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Overview">&nbsp;<img class="icon" src="img/user-multiple-4.svg"/>Übersicht</a></span>'
# Arbeiten/Klausuren
schr_anzahl = int(kurs_inputs["schriftlich_anzahl"])
@@ -119,30 +91,65 @@ def erstelleHeader(kursid, line, klassekurs_name, gebdaten, lerngruppen, path, c
if (halbjahr=='2'):
offset = schr_anzahl
header += '<a href="#'+klassekurs_name+'Korrektur'+str(offset+1)+'">&nbsp;<img class="icon" src="img/pen-to-square.svg"/></a>'
if (current=='korrektur'):
navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/pen-to-square.svg"/><span class="kn-current">schriftlich</span></span>'
else:
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Korrektur'+str(offset+1)+'">&nbsp;<img class="icon" src="img/pen-to-square.svg"/>schriftlich</a></span>'
# SoMi
somi_quartale = int(kurs_inputs["somi_quartale"])
offset = 0
if (halbjahr=='2'):
offset = 2
header += '<a href="#'+klassekurs_name+'SoMiQ'+str(offset+1)+'">&nbsp;<img class="icon" src="img/comment-1.svg"/></a>'
if (current=='somi'):
navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/comment-1.svg"/><span class="kn-current">mündlich</span></span>'
else:
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'SoMiQ'+str(offset+1)+'">&nbsp;<img class="icon" src="img/comment-1.svg"/>mündlich</a></span>'
# HA
ha_zeilen = int(kurs_inputs["ha_zeilen"])
if (ha_zeilen>0):
header += '<a href="#'+klassekurs_name+'HA">&nbsp;<img class="icon" src="img/check-square-2.svg"/></a>'
if (current=='ha'):
navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/check-square-2.svg"/><span class="kn-current">Haus</span></span>'
else:
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'HA">&nbsp;<img class="icon" src="img/check-square-2.svg"/>Haus</a></span>'
# Checklisten
header += '<a href="#'+klassekurs_name+'Check">&nbsp;<img class="icon" src="img/check-circle-1.svg"/></a>'
if (current=='check'):
navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/check-circle-1.svg"/><span class="kn-current">Check</span></span>'
else:
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Check">&nbsp;<img class="icon" src="img/check-circle-1.svg"/>Check</a></span>'
# Geburtstagsseite
if (len(gebdaten)>0):
header += '<a href="#'+klassekurs_name+'Birthday">&nbsp;<img class="icon" src="img/bell-1.svg"/></a>'
if (current=='gebtag'):
navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/bell-1.svg"/><span class="kn-current">Gebtag</a></span>'
else:
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Birthday">&nbsp;<img class="icon" src="img/bell-1.svg"/>Gebtag</a></span>'
# Halbjahresseite
header += '<a href="#'+klassekurs_name+'Halbjahr">&nbsp;<img class="icon" src="img/calendar-days.svg"/></a>'
if (current=='halbjahr'):
navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/calendar-days.svg"/><span class="kn-current">Plan</span></span>'
else:
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Halbjahr">&nbsp;<img class="icon" src="img/calendar-days.svg"/>Plan</a></span>'
header += '</td></tr></table>'
navileiste = '<p class="kn">'+navi+'</p>'
return header
# 2. Teil: Überschrift
if len(line)>0:
myline = line
else:
myline = str(zschuljahr) + '/' + str((zschuljahr-2000)+1) + ', ' + halbjahr + '. Hj.'
count = 0
for gruppe in lerngruppen:
count = count + 1
if (gruppe==kursid):
break
mycss = 'h'+str(count) # Headline-CSS hX
headline = '<p class="kn-headline"><span class="'+mycss+'">'+klassekurs_name+'</span> - '+myline+'</p>'
return navileiste + headline

View File

@@ -37,7 +37,7 @@ def erstelleKorrekturbogen(kursid, klassekurs_name, dateien, path, namen, gebdat
line = schr_bez+' Nr. '+str(no)
table += header.erstelleHeader(kursid, line, klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += header.erstelleKursnavigation(kursid, line, 'korrektur', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += '<table class="korrektur" repeat="1">'

View File

@@ -35,7 +35,7 @@ def erstelleSoMiBogen(kursid, klassekurs_name, dateien, path, namen, gebdaten, c
line += 'SoMi Q'+str(no)
line += '/Q'+str(no+1)
table += header.erstelleHeader(kursid, line, klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += header.erstelleKursnavigation(kursid, line, 'somi', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += '<table class="somi" repeat="'+str(somi_zeilen)+'">'

View File

@@ -11,7 +11,7 @@ def erstelleStartseite(lerngruppen, path,config, inputs):
table += '<a name="Home"></a>'
table += header.erstelleNavigation('', lerngruppen, path, config, inputs)
table += header.erstelleHauptnavigation(lerngruppen, path, config, inputs)
allg = inputs["Allgemein"]
schuljahr = allg["schuljahr"]
@@ -56,9 +56,9 @@ def erstelleStartseite(lerngruppen, path,config, inputs):
html = html.replace('''<td style="text-align: center;">''','''<td class="tag">''')
html = html.replace('''<tr>
<th class="tag">''','''<tr><th class="luecke">&nbsp;</th><th class="stunde">''')
<th class="tag">''','''<tr><th class="stunde">''')
html = html.replace('''<tr>
<td class="tag">''','''<tr><td class="luecke">&nbsp;</td><td class="stunde">''')
<td class="tag">''','''<tr><td class="stunde">''')
# ggf. Links zu Lerngruppen einfügen
count = 0

View File

@@ -18,7 +18,7 @@ def erstelleUebersicht(kursid, klassekurs_name, dateien, path, namen, gebdaten,
if (kurs_inputs["halbjahresnote"]=='ja'):
halbjahresnote = True
table += header.erstelleHeader(kursid, 'Übersicht', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
table += header.erstelleKursnavigation(kursid, 'Übersicht', 'übersicht', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
schr_bez = kurs_inputs["schriftlich_bez"]
schr_anzahl = int(kurs_inputs["schriftlich_anzahl"])