From 59b700299f860f0854c37906eaa5a5850cc45f59 Mon Sep 17 00:00:00 2001 From: davidpkj Date: Sat, 13 Apr 2024 12:28:41 +0200 Subject: univis stuff & docs --- README.adoc | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) (limited to 'README.adoc') 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 `` 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: +semester: +filename: # i.e. Stundenplan_SS24.pdf + +# Each of these lines will be listed at the bottom of the PDF +hinweise: + - # i.e. "Mensabetrieb: 11:15 - 14:15 Uhr + 00:15 min" + +# Time definitions +eintraege: + - : + : + - [, , , ] +``` + +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 -- cgit v1.2.3