Neue kleine Ausgabegeräte eingefügt: Remarkable Paper Pro Move, iPad Mini
This commit is contained in:
@@ -25,7 +25,9 @@ Diese PDF-Datei kann anschließend mit einem Tablet und einem Eingabestift mit I
|
||||
Die PDF-Ausgabe kann aktuell wahlweise für die folgenden Geräte optimiert erzeugt werden. Verlinkt ist zur Illustration für jedes Gerät die aus den vorliegenden (fiktiven) Beispieldaten erzeugte PDF-Ausgabe.
|
||||
|
||||
- [reMarkable 2](./src/data/rm2.pdf)
|
||||
- [reMarkable PaperPro](./src/data/paperpro.pdf)
|
||||
- [reMarkable Paper Pro](./src/data/paperpro.pdf)
|
||||
- [reMarkable Paper Pro Move](./src/data/move.pdf)
|
||||
- [iPad Mini](./src/data/mini.pdf) (sichtbare Displaygröße 12x16cm)
|
||||
- [DIN A4](src/data/a4.pdf) (für beliebige Geräte)
|
||||
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ csvtrenner = ;
|
||||
# Rand für Toolbar des Devices lassen: links, rechts (leer = kein Rand)
|
||||
rand = links
|
||||
|
||||
# Ausgabegerät: rm2, paperpro, a4
|
||||
# Ausgabegerät: rm2, paperpro, move, mini, a4
|
||||
device = rm2
|
||||
```
|
||||
|
||||
@@ -38,4 +38,4 @@ Die Parameter sind zwar selbsterklärend, werden hier aber dennoch einmal kurz e
|
||||
- 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.
|
||||
- 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.
|
||||
- Zum Schluss kommt die wichtigste Festlegung, das Zielgerät. Hier kann aktuell zwischen ``rm2`` (reMarkable 2), ``paperpro`` (reMarkable Paper Pro), ``move`` (reMarkable Paper Pro Move), ``mini`` (iPad Mini mit 12x16cm Bildschirm) und ``a4`` (DIN A4) gewählt werden.
|
||||
|
||||
@@ -11,6 +11,9 @@ bezeichnung = Mathe 5a
|
||||
# Kurzbezeichnung der Lerngruppe
|
||||
kurzbezeichnung = Mathe 5a
|
||||
|
||||
# Abkürzende Bezeichnung der Lerngruppe (für Stundenplan und Navileiste auf kleinen Geräten)
|
||||
abkuerzung = M 5a
|
||||
|
||||
# Anzahl Arbeiten oder Klausuren: 0, 1, 2, ... (0=keine Arbeiten/Klausuren)
|
||||
schriftlich_anzahl = 3
|
||||
|
||||
@@ -37,6 +40,7 @@ Die Parameter sind zwar selbsterklärend, werden hier aber dennoch einmal kurz e
|
||||
|
||||
- Die Bezeichnung der Lerngruppe wird als Überschrift überall dort verwendet, wo genügend Platz zur Verfügung steht.
|
||||
- Ist nur wenig Platz vorhanden (z.B. im Stundenplan), kommt die Kurzbeschreibung der Lerngruppe zum Einsatz.
|
||||
- Auf kleinen Devices wird entsprechend die abkürzende Schreibweise verwendet.
|
||||
- Die Anzahl der schriftlichen Lernerfolgskontrollen gibt an, wie viele Korrekturbögen erzeugt werden. Die Anzahl 0 sorgt dafür, dass diese automatisch weggelassen werden.
|
||||
- Die Bezeichnung der Lernerfolgskontrolle passt sich dem Sprachgebrauch an, z.B. Arbeit oder Kursarbeit oder Klausur.
|
||||
- Bei der Erfassung von Notizen zur Sonstigen Mitarbeit (SoMi) wird angegeben, ob eine durchlaufende Liste für beide Quartale oder zwei getrennte Listen für die beiden Quartale generiert werden sollen.
|
||||
|
||||
2210
src/data/a4.pdf
2210
src/data/a4.pdf
File diff suppressed because one or more lines are too long
@@ -20,7 +20,7 @@ csvtrenner = ;
|
||||
# Rand für Toolbar des Devices lassen: links, rechts (leer = kein Rand)
|
||||
rand = links
|
||||
|
||||
# Ausgabegerät: rm2, paperpro, a4
|
||||
# Ausgabegerät: rm2, paperpro, move, mini, a4
|
||||
device = rm2
|
||||
|
||||
|
||||
@@ -32,6 +32,9 @@ bezeichnung = Mathe 5a
|
||||
# Kurzbezeichnung der Lerngruppe (für Stundenplan)
|
||||
kurzbezeichnung = Mathe 5a
|
||||
|
||||
# Abkürzende Bezeichnung der Lerngruppe (für Stundenplan und Navileiste auf kleinen Geräten)
|
||||
abkuerzung = M 5a
|
||||
|
||||
# Anzahl Arbeiten oder Klausuren: 0, 1, 2, ... (0=keine Arbeiten/Klausuren)
|
||||
schriftlich_anzahl = 3
|
||||
|
||||
@@ -62,6 +65,9 @@ bezeichnung = Mathe 6b
|
||||
# Kurzbezeichnung der Lerngruppe (für Stundenplan)
|
||||
kurzbezeichnung = Mathe 6b
|
||||
|
||||
# Abkürzende Bezeichnung der Lerngruppe (für Stundenplan und Navileiste auf kleinen Geräten)
|
||||
abkuerzung = M 6b
|
||||
|
||||
# Anzahl Arbeiten oder Klausuren: 0, 1, 2, ... (0=keine Arbeiten/Klausuren)
|
||||
schriftlich_anzahl = 3
|
||||
|
||||
@@ -92,6 +98,9 @@ bezeichnung = Informatik 9
|
||||
# Kurzbezeichnung der Lerngruppe (für Stundenplan)
|
||||
kurzbezeichnung = Info 9
|
||||
|
||||
# Abkürzende Bezeichnung der Lerngruppe (für Stundenplan und Navileiste auf kleinen Geräten)
|
||||
abkuerzung = If 9
|
||||
|
||||
# Anzahl Arbeiten oder Klausuren: 0, 1, 2, ... (0=keine Arbeiten/Klausuren)
|
||||
schriftlich_anzahl = 2
|
||||
|
||||
@@ -122,6 +131,9 @@ bezeichnung = Informatik EF
|
||||
# Kurzbezeichnung der Lerngruppe (für Stundenplan)
|
||||
kurzbezeichnung = Info EF
|
||||
|
||||
# Abkürzende Bezeichnung der Lerngruppe (für Stundenplan und Navileiste auf kleinen Geräten)
|
||||
abkuerzung = If EF
|
||||
|
||||
# Anzahl Arbeiten oder Klausuren: 0, 1, 2, ... (0=keine Arbeiten/Klausuren)
|
||||
schriftlich_anzahl = 2
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
2536
src/data/rm2.pdf
2536
src/data/rm2.pdf
File diff suppressed because one or more lines are too long
@@ -1,8 +1,8 @@
|
||||
|
||||
| St. | Montag | Dienstag | Mittwoch | Donnerstag | Freitag |
|
||||
| :------: | :----------: | :----------: | :----------: | :----------: | :----------: |
|
||||
| 1.<br>2. | [klasse-5a] | [klasse-6b] | | | |
|
||||
| 3.<br>4. | [klasse-6b] | [kurs-if-ef] | [klasse-5a] | | |
|
||||
| 1.<br>2. | [klasse-5a] | | | [klasse-5a] | [klasse-6b] |
|
||||
| 3.<br>4. | [klasse-6b] | [kurs-if-ef] | [klasse-5a] | [klasse-6b] | |
|
||||
| 5.<br>6. | [kurs-if-9] | [[VERT]] | [kurs-if-ef] | | |
|
||||
| 7. | | | | | |
|
||||
| 8.<br>9. | | [kurs-if-9] | | | |
|
||||
@@ -6,6 +6,6 @@
|
||||
margin-bottom: 0.25cm;
|
||||
}
|
||||
|
||||
@import url("devices/css/general.css");
|
||||
@import url("devices/css/large.css");
|
||||
|
||||
@import url("devices/css/color.css");
|
||||
@@ -6,6 +6,6 @@
|
||||
margin-bottom: 0.25cm;
|
||||
}
|
||||
|
||||
@import url("devices/css/general.css");
|
||||
@import url("devices/css/large.css");
|
||||
|
||||
@import url("devices/css/color.css");
|
||||
@@ -6,6 +6,6 @@
|
||||
margin-bottom: 0.25cm;
|
||||
}
|
||||
|
||||
@import url("devices/css/general.css");
|
||||
@import url("devices/css/large.css");
|
||||
|
||||
@import url("devices/css/color.css");
|
||||
@@ -1,9 +1,15 @@
|
||||
[Navigation]
|
||||
|
||||
# Lerngruppenbezeichnung in der Navileiste (Zeilenumbruch vermeiden): kurz, normal
|
||||
# Bezeichnungen in Navigation (Zeilenumbruch vermeiden): normal, kurz, abgekuerzt
|
||||
bezeichnung = normal
|
||||
|
||||
|
||||
[Namen]
|
||||
|
||||
# Schülernamen in Tabellen in Langform ("Hans Müller") oder Kurzform ("Hans M."): lang, kurz
|
||||
form = lang
|
||||
|
||||
|
||||
[Korrekturbogen]
|
||||
|
||||
# Anzahl der Aufgaben in der Korrekturtabelle: 1, 2, 3, ...
|
||||
@@ -15,6 +21,9 @@ anzahl_aufgaben = 6
|
||||
# Anzahl der SoMi-Noten-Spalten
|
||||
anzahl_noten = 16
|
||||
|
||||
# kompakte Darstellung: ja, nein
|
||||
kompakt = nein
|
||||
|
||||
|
||||
[Hausaufgaben]
|
||||
|
||||
|
||||
@@ -1,321 +0,0 @@
|
||||
|
||||
/* Schrift überall */
|
||||
h1, th, td, h1 {
|
||||
font-family: Helvetica;
|
||||
font-weight: lighter;
|
||||
}
|
||||
th, td {
|
||||
font-size: 140%;
|
||||
}
|
||||
th {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
|
||||
/* Primäre und sekundäre Navigationsleiste */
|
||||
p.kn, p.hn {
|
||||
width: 100%;
|
||||
padding-left: 0pt;
|
||||
padding-top: 1.5pt;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 1.5px solid black;
|
||||
}
|
||||
p.hn {
|
||||
text-align: center;
|
||||
}
|
||||
.kn-part, .hn-part {
|
||||
vertical-align: middle;
|
||||
}
|
||||
p.kn a, p.hn a {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
}
|
||||
.kn-current, .hn-current {
|
||||
color: black;
|
||||
font-weight: 900;
|
||||
text-decoration: underline;
|
||||
}
|
||||
p.kn img.icon, p.hn img.icon {
|
||||
width: 16pt;
|
||||
height: 16pt;
|
||||
padding-left: 0pt;
|
||||
padding-right: 0pt;
|
||||
}
|
||||
p.kn-headline {
|
||||
padding-top: 5pt;
|
||||
padding-bottom: -15pt;
|
||||
font-size: 175%;
|
||||
}
|
||||
|
||||
|
||||
/* Alle Tabellen */
|
||||
table, tr, td {
|
||||
border: 0.3px solid black;
|
||||
}
|
||||
th, td {
|
||||
padding-top: 2.75pt;
|
||||
padding-bottom: -1.25pt;
|
||||
padding-left: 2pt;
|
||||
vertical-align: middle;
|
||||
text-align: left;
|
||||
}
|
||||
th.nr, td.nr {
|
||||
width: 5.5%;
|
||||
text-align: right;
|
||||
padding-right: 2pt;
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.name, td.name {
|
||||
width: 30%;
|
||||
vertical-align: middle;
|
||||
border-right: 1px solid black;
|
||||
}
|
||||
tr.header, tr.muster {
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
|
||||
|
||||
/* Startseite inkl. Stundenplan */
|
||||
h1.start {
|
||||
margin-top: 60pt;
|
||||
font-size: 200%;
|
||||
margin-bottom: 10pt;
|
||||
text-align: center;
|
||||
}
|
||||
table.timetable {
|
||||
border: none;
|
||||
width: 100%;
|
||||
}
|
||||
table.timetable tr {
|
||||
border: none;
|
||||
}
|
||||
table.timetable a {
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
}
|
||||
th.stunde, td.stunde {
|
||||
width: 7.5%;
|
||||
text-align: center;
|
||||
border: 0.3px solid black;
|
||||
border-right: 1px solid black;
|
||||
}
|
||||
th.tag, td.tag {
|
||||
width: 18.5%;
|
||||
text-align: center;
|
||||
border: 0.3px solid black;
|
||||
}
|
||||
table.timetable th.stunde, th.tag {
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
table.timetable div {
|
||||
padding-top: 4pt;
|
||||
padding-bottom: -3pt;
|
||||
padding-left: 2pt;
|
||||
padding-right: 2pt;
|
||||
margin-left: 0pt;
|
||||
margin-right: 2pt;
|
||||
border: 0.3px solid black;
|
||||
}
|
||||
table.timetable td.tag {
|
||||
padding-top: 3pt;
|
||||
padding-bottom: 1pt;
|
||||
}
|
||||
table.timetable td.stunde {
|
||||
padding-top: 5pt;
|
||||
padding-bottom: 1pt;
|
||||
}
|
||||
|
||||
|
||||
/* Übersichtstabelle */
|
||||
table.overview th.nr, th.name, th.endnote {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
.overview th.note, .overview td.note {
|
||||
border-left: 0.3px solid black;
|
||||
border-right: none;
|
||||
}
|
||||
.overview td.line, .overview th.line {
|
||||
border-left: 1px solid black;
|
||||
border-right: none;
|
||||
}
|
||||
th.hj, td.hj {
|
||||
width: 8%;
|
||||
border-left: 1px solid black;
|
||||
border-right: 1px solid black;
|
||||
vertical-align: bottom;
|
||||
text-align: center;
|
||||
padding-left: 0pt;
|
||||
}
|
||||
th.schr, th.somi {
|
||||
width: 30%;
|
||||
}
|
||||
th.schr_cell, th.somi_cell {
|
||||
text-align: center;
|
||||
padding-left: 0pt;
|
||||
}
|
||||
table.overview a {
|
||||
color: black;
|
||||
text-decoration: underline;
|
||||
}
|
||||
th.endnote, td.endnote {
|
||||
width: 8%;
|
||||
text-align: center;
|
||||
padding-left: 0pt;
|
||||
border-left: 1px solid black;
|
||||
}
|
||||
|
||||
|
||||
/* Korrektur-Tabelle */
|
||||
table.korrektur td {
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.korrektur, td.korrektur {
|
||||
width: 10%;
|
||||
text-align: center;
|
||||
padding-left: 0pt;
|
||||
}
|
||||
th.summe, td.summe, th.aknote, td.aknote {
|
||||
width: 10%;
|
||||
text-align: center;
|
||||
padding-left: 0pt;
|
||||
}
|
||||
th.summe, td.summe {
|
||||
border-left: 1px solid black;
|
||||
}
|
||||
tr.muster {
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
table.raster {
|
||||
-pdf-keep-with-next: true;
|
||||
}
|
||||
table.raster td.first {
|
||||
width: 8%;
|
||||
}
|
||||
table.raster td {
|
||||
text-align: center;
|
||||
padding-right: 1pt;
|
||||
}
|
||||
table.raster tr.line {
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
table.raster tr {
|
||||
height: 25pt;
|
||||
}
|
||||
|
||||
|
||||
/* SoMi-Tabelle */
|
||||
table.somi th {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
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: 4.75%;
|
||||
text-align: center;
|
||||
padding-left: 0pt;
|
||||
}
|
||||
th.sominote, td.sominote {
|
||||
width: 7.5%;
|
||||
text-align: center;
|
||||
padding-left: 0pt;
|
||||
}
|
||||
th.sominote, td.sominote {
|
||||
border-left: 1px solid black;
|
||||
}
|
||||
|
||||
|
||||
/* Check-Tabelle */
|
||||
table.check th {
|
||||
height: 40pt;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
table.check td {
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.check, td.check {
|
||||
width: 8%;
|
||||
}
|
||||
|
||||
/* HA-Tabelle */
|
||||
th.ha, td.ha {
|
||||
width: 8%;
|
||||
}
|
||||
th.ha {
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
|
||||
/* Geburtstagstabelle */
|
||||
td.geb, th.geb {
|
||||
width: 20%;
|
||||
padding-left: 0pt;
|
||||
text-align: center;
|
||||
}
|
||||
td.age {
|
||||
width: 7.5%;
|
||||
padding-left: 0pt;
|
||||
text-align: center;
|
||||
}
|
||||
td.eightteen {
|
||||
background: lightgrey;
|
||||
}
|
||||
td.home {
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
|
||||
/* 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: 7%;
|
||||
text-align: right;
|
||||
padding-right: 2pt;
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.kw {
|
||||
text-align: center;
|
||||
}
|
||||
th.kwsmall, td.kwsmall {
|
||||
font-size: 8.5pt;
|
||||
}
|
||||
th.kw_sessions, td.kw_sessions {
|
||||
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: 75%;
|
||||
}
|
||||
|
||||
|
||||
/* Footer mit Projektlink */
|
||||
div.footer {
|
||||
width: 60%;
|
||||
font-size: 90%;
|
||||
margin-top: 15pt;
|
||||
text-align: center;
|
||||
font-style: italic;
|
||||
}
|
||||
div.footer a {
|
||||
color: black;
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
|
||||
/* Primäre Navileiste: aktuell ohne Schattierung */
|
||||
|
||||
.n1, .n2, .n3, .n4, .n5, .n6, .n7, .n8 {
|
||||
}
|
||||
|
||||
|
||||
/* Überschrift unter sekundärer Kurs-Navileiste: aktuell ohne Schattierung */
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, .h7, .h8 {
|
||||
}
|
||||
|
||||
|
||||
/* Stundenplan: Links einheitlich grau schattiert */
|
||||
|
||||
.t1, .t2, .t3, .t4, .t5, .t6, .t7, .t8 {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
margin-bottom: 0.25cm;
|
||||
}
|
||||
|
||||
@import url("devices/css/general.css");
|
||||
@import url("devices/css/large.css");
|
||||
|
||||
@import url("devices/css/color.css");
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
margin-bottom: 0.25cm;
|
||||
}
|
||||
|
||||
@import url("devices/css/general.css");
|
||||
@import url("devices/css/large.css");
|
||||
|
||||
@import url("devices/css/color.css");
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
margin-bottom: 0.25cm;
|
||||
}
|
||||
|
||||
@import url("devices/css/general.css");
|
||||
@import url("devices/css/large.css");
|
||||
|
||||
@import url("devices/css/color.css");
|
||||
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
[Navigation]
|
||||
|
||||
# Lerngruppenbezeichnung in der Navileiste (Zeilenumbruch vermeiden): kurz, normal
|
||||
# Bezeichnungen in Navigation (Zeilenumbruch vermeiden): normal, kurz, abgekuerzt
|
||||
bezeichnung = kurz
|
||||
|
||||
|
||||
[Namen]
|
||||
|
||||
# Schülernamen in Tabellen in Langform ("Hans Müller") oder Kurzform ("Hans M."): lang, kurz
|
||||
form = lang
|
||||
|
||||
|
||||
[Korrekturbogen]
|
||||
|
||||
# Anzahl der Aufgaben in der Korrekturtabelle: 1, 2, 3, ...
|
||||
@@ -15,6 +21,9 @@ anzahl_aufgaben = 5
|
||||
# Anzahl der SoMi-Noten-Spalten
|
||||
anzahl_noten = 14
|
||||
|
||||
# kompakte Darstellung: ja, nein
|
||||
kompakt = nein
|
||||
|
||||
|
||||
[Hausaufgaben]
|
||||
|
||||
|
||||
@@ -6,6 +6,6 @@
|
||||
margin-bottom: 0.25cm;
|
||||
}
|
||||
|
||||
@import url("devices/css/general.css");
|
||||
@import url("devices/css/large.css");
|
||||
|
||||
@import url("devices/css/sw.css");
|
||||
@import url("devices/css/blackwhite.css");
|
||||
@@ -6,6 +6,6 @@
|
||||
margin-bottom: 0.25cm;
|
||||
}
|
||||
|
||||
@import url("devices/css/general.css");
|
||||
@import url("devices/css/large.css");
|
||||
|
||||
@import url("devices/css/sw.css");
|
||||
@import url("devices/css/blackwhite.css");
|
||||
@@ -6,6 +6,6 @@
|
||||
margin-bottom: 0.25cm;
|
||||
}
|
||||
|
||||
@import url("devices/css/general.css");
|
||||
@import url("devices/css/large.css");
|
||||
|
||||
@import url("devices/css/sw.css");
|
||||
@import url("devices/css/blackwhite.css");
|
||||
@@ -1,9 +1,15 @@
|
||||
[Navigation]
|
||||
|
||||
# Lerngruppenbezeichnung in der Navileiste (Zeilenumbruch vermeiden): kurz, normal
|
||||
# Bezeichnungen in Navigation (Zeilenumbruch vermeiden): normal, kurz, abgekuerzt
|
||||
bezeichnung = kurz
|
||||
|
||||
|
||||
[Namen]
|
||||
|
||||
# Schülernamen in Tabellen in Langform ("Hans Müller") oder Kurzform ("Hans M."): lang, kurz
|
||||
form = lang
|
||||
|
||||
|
||||
[Korrekturbogen]
|
||||
|
||||
# Anzahl der Aufgaben in der Korrekturtabelle: 1, 2, 3, ...
|
||||
@@ -15,6 +21,9 @@ anzahl_aufgaben = 5
|
||||
# Anzahl der SoMi-Noten-Spalten
|
||||
anzahl_noten = 12
|
||||
|
||||
# kompakte Darstellung: ja, nein
|
||||
kompakt = nein
|
||||
|
||||
|
||||
[Hausaufgaben]
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<svg width="80" height="80" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" transform="rotate(0 0 0)"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0016 2.00098C12.4158 2.00098 12.7516 2.33676 12.7516 2.75098V3.53801C16.5416 3.9143 19.5016 7.11197 19.5016 11.001V14.115L20.1938 15.9609C20.7454 17.4319 19.6581 19.001 18.0871 19.001H15.0628C15.0287 20.6631 13.6701 21.9995 11.9998 21.9995C10.3295 21.9995 8.97089 20.6631 8.93682 19.001H5.9161C4.34514 19.001 3.25776 17.4319 3.80936 15.9609L4.5016 14.115V11.001C4.5016 7.11197 7.46161 3.9143 11.2516 3.53801V2.75098C11.2516 2.33676 11.5874 2.00098 12.0016 2.00098ZM10.4375 19.001C10.471 19.8339 11.1573 20.4995 11.9998 20.4995C12.8423 20.4995 13.5286 19.8339 13.5622 19.001H10.4375ZM6.0016 11.001C6.0016 7.68727 8.68789 5.00098 12.0016 5.00098C15.3153 5.00098 18.0016 7.68727 18.0016 11.001V14.1168C18.0016 14.2955 18.0337 14.4727 18.0965 14.64L18.7893 16.4876C18.9732 16.9779 18.6108 17.501 18.0871 17.501H5.9161C5.39244 17.501 5.02998 16.9779 5.21385 16.4876L5.90673 14.64C5.96946 14.4727 6.0016 14.2955 6.0016 14.1168V11.001Z" fill="#000000"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1 +0,0 @@
|
||||
<svg width="80" height="80" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" transform="rotate(0 0 0)"><path d="M15.5071 10.5245C15.8 10.2316 15.8 9.75674 15.5071 9.46384C15.2142 9.17095 14.7393 9.17095 14.4464 9.46384L10.9649 12.9454L9.55359 11.5341C9.2607 11.2412 8.78582 11.2412 8.49293 11.5341C8.20004 11.827 8.20004 12.3019 8.49294 12.5947L10.4346 14.5364C10.7275 14.8293 11.2023 14.8292 11.4952 14.5364L15.5071 10.5245Z" fill="#000000"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM3.5 12C3.5 7.30558 7.30558 3.5 12 3.5C16.6944 3.5 20.5 7.30558 20.5 12C20.5 16.6944 16.6944 20.5 12 20.5C7.30558 20.5 3.5 16.6944 3.5 12Z" fill="#000000"/></svg>
|
||||
|
Before Width: | Height: | Size: 784 B |
@@ -1 +0,0 @@
|
||||
<svg width="80" height="80" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" transform="rotate(0 0 0)"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.50002 12.0957C2.50002 6.849 6.75332 2.5957 12 2.5957C17.2467 2.5957 21.5 6.849 21.5 12.0957C21.5 17.3424 17.2467 21.5957 12 21.5957H3.25002C2.94668 21.5957 2.6732 21.413 2.55711 21.1327C2.44103 20.8525 2.50519 20.5299 2.71969 20.3154L4.77303 18.262C3.35633 16.603 2.50002 14.4488 2.50002 12.0957ZM12 4.0957C7.58174 4.0957 4.00002 7.67742 4.00002 12.0957C4.00002 14.305 4.89463 16.304 6.34317 17.7526C6.48382 17.8932 6.56284 18.084 6.56284 18.2829C6.56284 18.4818 6.48382 18.6726 6.34317 18.8132L5.06068 20.0957H12C16.4183 20.0957 20 16.514 20 12.0957C20 7.67742 16.4183 4.0957 12 4.0957Z" fill="#000000"/></svg>
|
||||
|
Before Width: | Height: | Size: 784 B |
@@ -108,6 +108,12 @@ except KeyError:
|
||||
print('Der Schlüssel "csvtrenner" existiert nicht im allgemeinen Bereich der Input-Datei!')
|
||||
exit(0)
|
||||
|
||||
try:
|
||||
namen_kurzlang = config["Namen"]["form"]
|
||||
except KeyError:
|
||||
print('Der Schlüssel Namen oder "form" existiert nicht in der Device-Datei!')
|
||||
exit(0)
|
||||
|
||||
|
||||
# 5. Baue die Ausgabe aus den einzelnen Bestandteilen zusammen
|
||||
|
||||
@@ -141,12 +147,13 @@ for datei in dateien:
|
||||
print('Der Schlüssel "bezeichnung" fehlt im Bereich "'+kursid+'" der Input-Datei!')
|
||||
exit(0)
|
||||
|
||||
# CSV Datei mit Schülernamen einlesen und für Geburtstag aufbereiten
|
||||
# CSV Datei mit Schülernamen einlesen und aufbereiten
|
||||
csvdaten = open(datei, encoding="utf8")
|
||||
csvdatenReader = csv.reader(csvdaten, delimiter=csv_trenner)
|
||||
|
||||
linecount = 0
|
||||
namen = []
|
||||
namen2 = []
|
||||
gebdaten = []
|
||||
gebdaten_all = True
|
||||
|
||||
@@ -158,7 +165,14 @@ for datei in dateien:
|
||||
|
||||
nachname = row[0]
|
||||
vorname = row[1]
|
||||
name = nachname + ", " +vorname
|
||||
|
||||
if (namen_kurzlang=="lang"):
|
||||
name = nachname + ", " +vorname
|
||||
else:
|
||||
name = vorname + " " + nachname[0] + "."
|
||||
name2 = vorname + " " + nachname
|
||||
namen2.append(name2)
|
||||
|
||||
namen.append(name)
|
||||
|
||||
if (gebdaten_all):
|
||||
@@ -201,7 +215,10 @@ for datei in dateien:
|
||||
if (len(gebdaten)==0):
|
||||
print(' - Geburtstagsliste wird weggelassen.')
|
||||
else:
|
||||
body = body + birthday.erstelleGeburtstagsBogen(kursid, klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
|
||||
if (namen_kurzlang=="lang"):
|
||||
body = body + birthday.erstelleGeburtstagsBogen(kursid, klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
|
||||
else:
|
||||
body = body + birthday.erstelleGeburtstagsBogen(kursid, klassekurs_name, lerngruppen, path, namen2, gebdaten, config, inputs, kurs_inputs)
|
||||
|
||||
# Planungsseite für das Halbjahr zusammenbauen
|
||||
body = body + halbjahr.erstelleHalbjahresuebersicht(kursid, klassekurs_name, lerngruppen, path, namen, gebdaten, config, inputs, kurs_inputs)
|
||||
|
||||
@@ -11,7 +11,7 @@ def erstelleGeburtstagsBogen(kursid, klassekurs_name, dateien, path, namen, gebd
|
||||
# Sortierung nach Geburtsmonat für Geburtstagsliste
|
||||
gebmonat = []
|
||||
for geb in gebdaten:
|
||||
parts = re.split("\.", geb)
|
||||
parts = re.split("\\.", geb)
|
||||
day = parts[0]
|
||||
if (len(day)==1):
|
||||
day = '0'+day
|
||||
@@ -27,15 +27,26 @@ def erstelleGeburtstagsBogen(kursid, klassekurs_name, dateien, path, namen, gebd
|
||||
zschuljahr = int(schuljahr)
|
||||
halbjahr = allg["halbjahr"]
|
||||
|
||||
try:
|
||||
namen_kurzlang = config["Namen"]["form"]
|
||||
except KeyError:
|
||||
print('Der Schlüssel Namen oder "form" existiert nicht in der Device-Datei!')
|
||||
exit(0)
|
||||
|
||||
if (namen_kurzlang=="lang"):
|
||||
beschriftung_name = "Name, Vorname"
|
||||
else:
|
||||
beschriftung_name = "Vorname Nachname"
|
||||
|
||||
table += '<a name="'+klassekurs_name+'Birthday"></a>'
|
||||
|
||||
table += header.erstelleKursnavigation(kursid, 'Geburtstagsliste', 'gebtag', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
|
||||
|
||||
table += '<table class="home" repeat="1">'
|
||||
table += '<table class="birthday" repeat="1">'
|
||||
|
||||
table += '<tr class="header">'
|
||||
table += '<th class="nr">Nr</th>'
|
||||
table += '<th class="name">Name, Vorname</th>'
|
||||
table += '<th class="name">'+beschriftung_name+'</th>'
|
||||
table += '<th class="geb">Geburtstag</th>'
|
||||
table += '<th class="age">Alter</th>'
|
||||
table += '<th class="home"></th>'
|
||||
|
||||
@@ -17,6 +17,17 @@ def erstelleCheckliste(kursid, klassekurs_name, dateien, path, namen, gebdaten,
|
||||
|
||||
check_anzahl = int(config["Checkliste"]["anzahl_checks"])
|
||||
|
||||
try:
|
||||
namen_kurzlang = config["Namen"]["form"]
|
||||
except KeyError:
|
||||
print('Der Schlüssel Namen oder "form" existiert nicht in der Device-Datei!')
|
||||
exit(0)
|
||||
|
||||
if (namen_kurzlang=="lang"):
|
||||
beschriftung_name = "Name, Vorname"
|
||||
else:
|
||||
beschriftung_name = "Vorname N."
|
||||
|
||||
for no in range(check_seiten):
|
||||
|
||||
if (no==0):
|
||||
@@ -32,7 +43,7 @@ def erstelleCheckliste(kursid, klassekurs_name, dateien, path, namen, gebdaten,
|
||||
|
||||
table += '<table class="'+css+'" repeat="1">'
|
||||
|
||||
table += '<tr class="header"><th class="nr">Nr</th><th class="name">Name, Vorname</th>'
|
||||
table += '<tr class="header"><th class="nr">Nr</th><th class="name">'+beschriftung_name+'</th>'
|
||||
for i in range(check_anzahl):
|
||||
table += '<th class="'+css+'"></th>'
|
||||
table += '</tr>'
|
||||
|
||||
@@ -19,6 +19,17 @@ def erstelleHABogen(kursid, klassekurs_name, dateien, path, namen, gebdaten, con
|
||||
print('Der Schlüssel "ha_zeilen" existiert nicht für die Lerngruppe in der Input-Datei!')
|
||||
exit(0)
|
||||
|
||||
try:
|
||||
namen_kurzlang = config["Namen"]["form"]
|
||||
except KeyError:
|
||||
print('Der Schlüssel Namen oder "form" existiert nicht in der Device-Datei!')
|
||||
exit(0)
|
||||
|
||||
if (namen_kurzlang=="lang"):
|
||||
beschriftung_name = "Name, Vorname"
|
||||
else:
|
||||
beschriftung_name = "Vorname N."
|
||||
|
||||
offset = 0
|
||||
if (halbjahr=='2'):
|
||||
offset = 2
|
||||
@@ -31,7 +42,7 @@ def erstelleHABogen(kursid, klassekurs_name, dateien, path, namen, gebdaten, con
|
||||
|
||||
table += '<table class="'+css+'" repeat="1">'
|
||||
|
||||
table += '<tr class="header"><th class="nr">Nr</th><th class="name">Name, Vorname</th>'
|
||||
table += '<tr class="header"><th class="nr">Nr</th><th class="name">'+beschriftung_name+'</th>'
|
||||
for i in range(ha_anzahl):
|
||||
table += '<th class="'+css+'"></th>'
|
||||
table += '</tr>'
|
||||
|
||||
@@ -24,7 +24,7 @@ def erstelleHalbjahresuebersicht(kursid, klassekurs_name, dateien, path, namen,
|
||||
|
||||
table += '<a name="'+klassekurs_name+'Halbjahr"></a>'
|
||||
|
||||
table += header.erstelleKursnavigation(kursid, 'Planung des Halbjahrs', 'halbjahr', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
|
||||
table += header.erstelleKursnavigation(kursid, 'Planung Halbjahr', 'halbjahr', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
|
||||
|
||||
css = 'halbjahr'
|
||||
|
||||
@@ -39,16 +39,25 @@ 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="kw'+extrakw+'">'+str(count)+'</td>'
|
||||
zusatz = ""
|
||||
if (str(count+1) in ferien):
|
||||
zusatz = ' class="trenner"'
|
||||
table += '<tr'+zusatz+'><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="kw'+extrakw+'">'+str(count)+'</td>'
|
||||
zusatz = ""
|
||||
if (str(count+1) in ferien):
|
||||
zusatz = ' class="trenner"'
|
||||
table += '<tr'+zusatz+'><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="kw'+extrakw+'">'+str(count)+'</td>'
|
||||
zusatz = ""
|
||||
if (str(count+1) in ferien):
|
||||
zusatz = ' class="trenner"'
|
||||
table += '<tr'+zusatz+'><td class="kw'+extrakw+'">'+str(count)+'</td>'
|
||||
table += '<td class="kw_sessions"></td><td class="kw_content"></td></tr>'
|
||||
|
||||
table += '</table>'
|
||||
|
||||
@@ -36,10 +36,12 @@ def erstelleHauptnavigation(lerngruppen, path, config, inputs):
|
||||
klassekurs_aktuell = kurs_inputs_aktuell["bezeichnung"]
|
||||
if (bezeichnung=='kurz'):
|
||||
klassekurs_print = kurs_inputs_aktuell["kurzbezeichnung"]
|
||||
elif (bezeichnung=='abgekuerzt'):
|
||||
klassekurs_print = kurs_inputs_aktuell["abkuerzung"]
|
||||
else:
|
||||
klassekurs_print = kurs_inputs_aktuell["bezeichnung"]
|
||||
except KeyError:
|
||||
print('Der Schlüssel "(kurz)bezeichnung" fehlt im Bereich "'+kursid+'" der Input-Datei!')
|
||||
print('Der Schlüssel "bezeichnung" o.ä. fehlt im Bereich "'+kursid+'" der Input-Datei!')
|
||||
exit(0)
|
||||
|
||||
myclass = ' n'+str(count) # Navileisten-CSS nX
|
||||
@@ -65,19 +67,31 @@ def erstelleKursnavigation(kursid, line, current, klassekurs_name, gebdaten, ler
|
||||
print('Der Schlüssel Allgemein oder "rand" existiert nicht in der Input-Datei!')
|
||||
exit(0)
|
||||
|
||||
if (rand=="rechts"):
|
||||
navi = " " # Platz für Schließen-Symbol schaffen
|
||||
else:
|
||||
navi = ""
|
||||
navi = ""
|
||||
|
||||
# Link zur Startseite, falls keine Navileiste
|
||||
navi += '<span class="kn-part"><a href="#Home"> <img class="icon" src="img/chevron-up-circle.svg"/>zurück</a></span> '
|
||||
try:
|
||||
bezeichnung = config["Navigation"]["bezeichnung"]
|
||||
except KeyError:
|
||||
print('Der Schlüssel Navigation oder "kurzbezeichnung" existiert nicht in der Device-Datei!')
|
||||
exit(0)
|
||||
|
||||
# Link zur Startseite
|
||||
if (bezeichnung=='abgekuerzt'):
|
||||
navi += '<span class="kn-part"><a href="#Home"> <img class="icon" src="img/chevron-up-circle.svg"/></a></span> '
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#Home"> <img class="icon" src="img/chevron-up-circle.svg"/>zurück</a></span> '
|
||||
|
||||
# Notenübersicht
|
||||
if (current=='übersicht'):
|
||||
navi += '<span class="kn-part"> <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"> <img class="icon" src="img/user-multiple-4.svg"/>Übersicht</a></span>'
|
||||
if (bezeichnung=='abgekuerzt'):
|
||||
if (current=='übersicht'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/user-multiple-4-current.svg"/> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Overview"> <img class="icon" src="img/user-multiple-4.svg"/></a> </span>'
|
||||
else:
|
||||
if (current=='übersicht'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/user-multiple-4-current.svg"/><span class="kn-current">Übersicht</span></span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Overview"> <img class="icon" src="img/user-multiple-4.svg"/>Übersicht</a></span>'
|
||||
|
||||
# Arbeiten/Klausuren
|
||||
schr_anzahl = int(kurs_inputs["schriftlich_anzahl"])
|
||||
@@ -89,47 +103,84 @@ def erstelleKursnavigation(kursid, line, current, klassekurs_name, gebdaten, ler
|
||||
if (halbjahr=='2'):
|
||||
offset = schr_anzahl
|
||||
|
||||
if (current=='korrektur'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/pen-to-square.svg"/><span class="kn-current">schriftlich</span></span>'
|
||||
if (bezeichnung=='abgekuerzt'):
|
||||
if (current=='korrektur'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/pen-to-square-current.svg"/> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Korrektur'+str(offset+1)+'"> <img class="icon" src="img/pen-to-square.svg"/></a> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Korrektur'+str(offset+1)+'"> <img class="icon" src="img/pen-to-square.svg"/>schriftlich</a></span>'
|
||||
if (current=='korrektur'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/pen-to-square-current.svg"/><span class="kn-current">schriftlich</span></span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Korrektur'+str(offset+1)+'"> <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
|
||||
if (current=='somi'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/message-3-text.svg"/><span class="kn-current">mündlich</span></span>'
|
||||
|
||||
if (bezeichnung=='abgekuerzt'):
|
||||
if (current=='somi'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/message-3-text-current.svg"/> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'SoMiQ'+str(offset+1)+'"> <img class="icon" src="img/message-3-text.svg"/></a> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'SoMiQ'+str(offset+1)+'"> <img class="icon" src="img/message-3-text.svg"/>mündlich</a></span>'
|
||||
if (current=='somi'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/message-3-text-current.svg"/><span class="kn-current">mündlich</span></span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'SoMiQ'+str(offset+1)+'"> <img class="icon" src="img/message-3-text.svg"/>mündlich</a></span>'
|
||||
|
||||
# HA
|
||||
ha_zeilen = int(kurs_inputs["ha_zeilen"])
|
||||
if (ha_zeilen>0):
|
||||
if (current=='ha'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/home-2.svg"/><span class="kn-current">Haus</span></span>'
|
||||
if (bezeichnung=='abgekuerzt'):
|
||||
if (current=='ha'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/home-2-current.svg"/> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'HA"> <img class="icon" src="img/home-2.svg"/></a> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'HA"> <img class="icon" src="img/home-2.svg"/>Haus</a></span>'
|
||||
if (current=='ha'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/home-2-current.svg"/><span class="kn-current">Haus</span></span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'HA"> <img class="icon" src="img/home-2.svg"/>Haus</a></span>'
|
||||
|
||||
# Checklisten
|
||||
if (current=='check'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/check-square-2.svg"/><span class="kn-current">Check</span></span>'
|
||||
if (bezeichnung=='abgekuerzt'):
|
||||
if (current=='check'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/check-square-2-current.svg"/> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Check"> <img class="icon" src="img/check-square-2.svg"/></a> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Check"> <img class="icon" src="img/check-square-2.svg"/>Check</a></span>'
|
||||
if (current=='check'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/check-square-2-current.svg"/><span class="kn-current">Check</span></span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Check"> <img class="icon" src="img/check-square-2.svg"/>Check</a></span>'
|
||||
|
||||
# Geburtstagsseite
|
||||
if (len(gebdaten)>0):
|
||||
if (current=='gebtag'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/balloons.svg"/><span class="kn-current">Gebtag</a></span>'
|
||||
if (bezeichnung=='abgekuerzt'):
|
||||
if (current=='gebtag'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/balloons-current.svg"/> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Birthday"> <img class="icon" src="img/balloons.svg"/></a> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Birthday"> <img class="icon" src="img/balloons.svg"/>Gebtag</a></span>'
|
||||
if (current=='gebtag'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/balloons-current.svg"/><span class="kn-current">Gebtag</a></span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Birthday"> <img class="icon" src="img/balloons.svg"/>Gebtag</a></span>'
|
||||
|
||||
# Halbjahresseite
|
||||
if (current=='halbjahr'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/calendar-days.svg"/><span class="kn-current">Plan</span></span>'
|
||||
if (bezeichnung=='abgekuerzt'):
|
||||
if (current=='halbjahr'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/calendar-days-current.svg"/> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Halbjahr"> <img class="icon" src="img/calendar-days.svg"/></a> </span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Halbjahr"> <img class="icon" src="img/calendar-days.svg"/>Plan</a></span>'
|
||||
if (current=='halbjahr'):
|
||||
navi += '<span class="kn-part"> <img class="icon" src="img/calendar-days-current.svg"/><span class="kn-current">Plan</span></span>'
|
||||
else:
|
||||
navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Halbjahr"> <img class="icon" src="img/calendar-days.svg"/>Plan</a></span>'
|
||||
|
||||
navileiste = '<p class="kn">'+navi+'</p>'
|
||||
|
||||
|
||||
@@ -25,6 +25,19 @@ def erstelleKorrekturbogen(kursid, klassekurs_name, dateien, path, namen, gebdat
|
||||
print('Der Schlüssel Allgemein oder "device" existiert nicht in der Input-Datei!')
|
||||
exit(0)
|
||||
|
||||
try:
|
||||
namen_kurzlang = config["Namen"]["form"]
|
||||
except KeyError:
|
||||
print('Der Schlüssel Namen oder "form" existiert nicht in der Device-Datei!')
|
||||
exit(0)
|
||||
|
||||
if (namen_kurzlang=="lang"):
|
||||
beschriftung_name = "Name, Vorname"
|
||||
beschriftung_summe = "Summe"
|
||||
else:
|
||||
beschriftung_name = "Vorname N."
|
||||
beschriftung_summe = "∑"
|
||||
|
||||
aufgaben_anzahl = int(config["Korrekturbogen"]["anzahl_aufgaben"])
|
||||
|
||||
offset = 0
|
||||
@@ -41,10 +54,10 @@ def erstelleKorrekturbogen(kursid, klassekurs_name, dateien, path, namen, gebdat
|
||||
|
||||
table += '<table class="korrektur" repeat="1">'
|
||||
|
||||
table += '<tr class="header"><th class="nr">Nr</th><th class="name">Name, Vorname</th>'
|
||||
table += '<tr class="header"><th class="nr">Nr</th><th class="name">'+beschriftung_name+'</th>'
|
||||
for i in range(aufgaben_anzahl):
|
||||
table += '<th class="korrektur">A. '+str(i+1)+'</th>'
|
||||
table += '<th class="summe">Summe</th><th class="aknote">Note</th>'
|
||||
table += '<th class="summe">'+beschriftung_summe+'</th><th class="aknote">Note</th>'
|
||||
table += '</tr>'
|
||||
|
||||
table += '<tr class="muster"><td class="nr"></td><td class="name">Musterlösung</td>'
|
||||
|
||||
@@ -19,6 +19,18 @@ def erstelleSoMiBogen(kursid, klassekurs_name, dateien, path, namen, gebdaten, c
|
||||
exit(0)
|
||||
|
||||
noten_anzahl = int(config["SoMiNoten"]["anzahl_noten"])
|
||||
kompakt = config["SoMiNoten"]["kompakt"]
|
||||
|
||||
try:
|
||||
namen_kurzlang = config["Namen"]["form"]
|
||||
except KeyError:
|
||||
print('Der Schlüssel Namen oder "form" existiert nicht in der Device-Datei!')
|
||||
exit(0)
|
||||
|
||||
if (namen_kurzlang=="lang"):
|
||||
beschriftung_name = "Name, Vorname"
|
||||
else:
|
||||
beschriftung_name = "Vorname N."
|
||||
|
||||
offset = 0
|
||||
if (halbjahr=='2'):
|
||||
@@ -37,7 +49,10 @@ def erstelleSoMiBogen(kursid, klassekurs_name, dateien, path, namen, gebdaten, c
|
||||
|
||||
table += header.erstelleKursnavigation(kursid, line, 'somi', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
|
||||
|
||||
table += '<table class="somi" repeat="'+str(somi_zeilen)+'">'
|
||||
if (kompakt=="ja"):
|
||||
table += '<table class="somi">'
|
||||
else:
|
||||
table += '<table class="somi" repeat="'+str(somi_zeilen)+'">'
|
||||
|
||||
rowspan = ''
|
||||
if somi_zeilen>1:
|
||||
@@ -51,14 +66,18 @@ def erstelleSoMiBogen(kursid, klassekurs_name, dateien, path, namen, gebdaten, c
|
||||
table += '<tr'+myclass+'>'
|
||||
|
||||
if zeile==0:
|
||||
table += '<th class="nr"'+rowspan+'>Nr</th>'
|
||||
table += '<th class="name"'+rowspan+'>Name, Vorname</th>'
|
||||
if (kompakt!="ja"):
|
||||
table += '<th class="nr"'+rowspan+'>Nr</th>'
|
||||
table += '<th class="name"'+rowspan+'>'+beschriftung_name+'</th>'
|
||||
|
||||
for i in range(noten_anzahl):
|
||||
table += '<th class="somi"> </th>'
|
||||
|
||||
if zeile==0:
|
||||
table += '<th class="sominote"'+rowspan+'>Note</th>'
|
||||
if (kompakt=="ja"):
|
||||
table += '<th class="sominote"'+rowspan+'></th>'
|
||||
else:
|
||||
table += '<th class="sominote"'+rowspan+'>Note</th>'
|
||||
|
||||
table += '</tr>'
|
||||
|
||||
@@ -72,7 +91,8 @@ def erstelleSoMiBogen(kursid, klassekurs_name, dateien, path, namen, gebdaten, c
|
||||
table += '<tr>'
|
||||
|
||||
if zeile==0:
|
||||
table += '<td class="nr"'+rowspan+'>'+str(count)+'</td>'
|
||||
if (kompakt!="ja"):
|
||||
table += '<td class="nr"'+rowspan+'>'+str(count)+'</td>'
|
||||
table += '<td class="name"'+rowspan+'>'+name+'</td>'
|
||||
|
||||
for i in range(noten_anzahl):
|
||||
|
||||
@@ -5,7 +5,7 @@ import header
|
||||
import re
|
||||
|
||||
|
||||
def erstelleStartseite(lerngruppen, path,config, inputs):
|
||||
def erstelleStartseite(lerngruppen, path, config, inputs):
|
||||
|
||||
table = ''
|
||||
|
||||
@@ -75,14 +75,32 @@ def erstelleStartseite(lerngruppen, path,config, inputs):
|
||||
exit(0)
|
||||
|
||||
try:
|
||||
klassekurs_aktuell = kurs_inputs_aktuell["bezeichnung"]
|
||||
klassekurs_aktuell_kurz = kurs_inputs_aktuell["kurzbezeichnung"]
|
||||
bezeichnung = config["Navigation"]["bezeichnung"]
|
||||
except KeyError:
|
||||
print('Der Schlüssel "bezeichnung" fehlt im Bereich "'+kursid+'" der Input-Datei!')
|
||||
print('Der Schlüssel Navigation oder "kurzbezeichnung" existiert nicht in der Device-Datei!')
|
||||
exit(0)
|
||||
|
||||
html = re.sub('\\['+kursid+'\\](.+)?<br>','<div class="'+mycss+'"><a href="#'+klassekurs_aktuell+'">'+klassekurs_aktuell_kurz+'</a>\\1</div>',html)
|
||||
html = re.sub('\\['+kursid+'\\](.+)?</td>','<div class="'+mycss+'"><a href="#'+klassekurs_aktuell+'">'+klassekurs_aktuell_kurz+'</a>\\1</div></td>',html)
|
||||
try:
|
||||
klassekurs_aktuell = kurs_inputs_aktuell["bezeichnung"]
|
||||
if (bezeichnung=='kurz'):
|
||||
klassekurs_print = kurs_inputs_aktuell["kurzbezeichnung"]
|
||||
elif (bezeichnung=='abgekuerzt'):
|
||||
klassekurs_print = kurs_inputs_aktuell["abkuerzung"]
|
||||
else:
|
||||
klassekurs_print = kurs_inputs_aktuell["bezeichnung"]
|
||||
except KeyError:
|
||||
print('Der Schlüssel "bezeichnung" o.ä. fehlt im Bereich "'+kursid+'" der Input-Datei!')
|
||||
exit(0)
|
||||
|
||||
if (bezeichnung=='abgekuerzt'):
|
||||
html = re.sub('Montag','Mo',html)
|
||||
html = re.sub('Dienstag','Di',html)
|
||||
html = re.sub('Mittwoch','Mi',html)
|
||||
html = re.sub('Donnerstag','Do',html)
|
||||
html = re.sub('Freitag','Fr',html)
|
||||
|
||||
html = re.sub('\\['+kursid+'\\](.+)?<br>','<div class="'+mycss+'"><a href="#'+klassekurs_aktuell+'">'+klassekurs_print+'</a>\\1</div>',html)
|
||||
html = re.sub('\\['+kursid+'\\](.+)?</td>','<div class="'+mycss+'"><a href="#'+klassekurs_aktuell+'">'+klassekurs_print+'</a>\\1</div></td>',html)
|
||||
|
||||
html = re.sub('\\[\\[(.+)?\\]\\](.+)?<br>','<div class="t-empty">\\1 \\2</div>',html)
|
||||
html = re.sub('\\[\\[(.+)?\\]\\](.+)?</td>','<div class="t-empty">\\1 \\2</div></td>',html)
|
||||
|
||||
@@ -18,6 +18,17 @@ def erstelleUebersicht(kursid, klassekurs_name, dateien, path, namen, gebdaten,
|
||||
if (kurs_inputs["halbjahresnote"]=='ja'):
|
||||
halbjahresnote = True
|
||||
|
||||
try:
|
||||
namen_kurzlang = config["Namen"]["form"]
|
||||
except KeyError:
|
||||
print('Der Schlüssel Namen oder "form" existiert nicht in der Device-Datei!')
|
||||
exit(0)
|
||||
|
||||
if (namen_kurzlang=="lang"):
|
||||
beschriftung_name = "Name, Vorname"
|
||||
else:
|
||||
beschriftung_name = "Vorname N."
|
||||
|
||||
table += header.erstelleKursnavigation(kursid, 'Übersicht', 'übersicht', klassekurs_name, gebdaten, dateien, path, config, inputs, kurs_inputs)
|
||||
|
||||
schr_bez = kurs_inputs["schriftlich_bez"]
|
||||
@@ -26,7 +37,7 @@ def erstelleUebersicht(kursid, klassekurs_name, dateien, path, namen, gebdaten,
|
||||
|
||||
table += '<table class="overview" repeat="1">'
|
||||
|
||||
table += '<tr><th class="nr" rowspan="2">Nr</th><th class="name" rowspan="2">Name, Vorname</th>'
|
||||
table += '<tr><th class="nr" rowspan="2">Nr</th><th class="name" rowspan="2">'+beschriftung_name+'</th>'
|
||||
|
||||
if (halbjahr=='2' and halbjahresnote):
|
||||
table += '<th class="hj" rowspan="2">Hj.</th>'
|
||||
|
||||
Reference in New Issue
Block a user