aboutsummaryrefslogtreecommitdiff
path: root/README.adoc
diff options
context:
space:
mode:
authordavidpkj <davidpenkow1@gmail.com>2024-04-13 12:28:41 +0200
committerdavidpkj <davidpenkow1@gmail.com>2024-04-13 12:28:41 +0200
commit59b700299f860f0854c37906eaa5a5850cc45f59 (patch)
treebaf0e3010bf38da42382e49bbc480c8dc6e65b51 /README.adoc
parentb291ddc44b9df8754c68f865383d206d9092c5a4 (diff)
univis stuff & docs
Diffstat (limited to 'README.adoc')
-rw-r--r--README.adoc58
1 files changed, 57 insertions, 1 deletions
diff --git a/README.adoc b/README.adoc
index 58a57a2..86ff908 100644
--- a/README.adoc
+++ b/README.adoc
@@ -1,6 +1,6 @@
= Stundenplan
-A small JavaScript project to generate beautiful PDF schedules. Takes information from `src/variables.js`. Planning to use direct UnivIS-XML export.
+A small JavaScript project to generate beautiful PDF schedules. Takes information from `src/variables.js`.
== Usage
@@ -10,3 +10,59 @@ Requires the `npm` tool.
npm i # installes packages
npm run main # runs the software
```
+
+=== Optional: Parse UnivIS XML
+
+You have the option to parse a full `public/data.xml` UnivIS export to get 80% of the way to a working configuration. You still have to manually clean up and refactor the information to yaml. But you dont have to write all those characters out.
+
+If you use vim, it then should be only a matter of seconds until you have your `.pdf`.
+
+```bash
+npm run parse
+```
+
+== Configuration Structure
+
+Generally, you may edit anything in the `public` directory. The default are how I like it.
+
+To configure the actual displayed information you shoudl edit the `.yaml` file. It should look something like the following, where things like `<THIS>` should be replaced by your text.
+
+Comments (things that are ignored by the software) is everything after a `#` sign. More information on the file format and syntax can be found https://yaml.org/[here].
+
+```yaml
+# General Information
+student: <YOUR NAME>
+semester: <THE SEMESTER>
+filename: <THE RESULT FILENAME> # i.e. Stundenplan_SS24.pdf
+
+# Each of these lines will be listed at the bottom of the PDF
+hinweise:
+ - <YOUR INFO> # i.e. "Mensabetrieb: 11:15 - 14:15 Uhr + 00:15 min"
+
+# Time definitions
+eintraege:
+ - <MODULE NAME>:
+ <LECTURE TYPE>:
+ - [<GERMAN ABBREVIATION FOR THE WEEKDAY>, <START TIME>, <END TIME>, <ROOM>]
+```
+
+Please note that times should be given in the format `HHhMM` so to say 9:19 AM, you would actually write 09h19. Also the Module and Lecture `BLOCKED` is reserved for a cross hatched block.
+
+So writing
+```yaml
+...
+ - BLOCKED:
+ BLOCKED:
+...
+```
+
+would put a blocked area in the pdf, instead of putting an actual block with the text "BLOCKED / BLOCKED".
+
+== Known issues
+
+- Doesnt work if not all days are set (null checks in general)
+- Have to use the exact yaml structure
+- Margin on the left not easily configurable
+- Mensa times are not actually displayed
+- All config.yaml items are required
+- Code is german spaghetti \ No newline at end of file