diff --git a/.gitignore b/.gitignore
index 259e20e..e386cc0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
template_upstream
archive
template.zip
+programmes.js
diff --git a/README.md b/README.md
index bf9d65a..538214b 100644
--- a/README.md
+++ b/README.md
@@ -2,5 +2,7 @@
Before you host this yourself, make sure to run the `build.sh` script to create the template archive. Without it, the generator will not work.
+Make sure that you have the `csvkit` and `jq` packages installed on your Arch system, they are needed to generate the list of study programmes.
+
[Here's a running instance of this generator, just to get a rough idea.](https://internal.prochazkaml.eu/tultemplategen)
diff --git a/build.sh b/build.sh
index 1ce450e..b001f00 100755
--- a/build.sh
+++ b/build.sh
@@ -1,5 +1,19 @@
mkdir -p archive
+echo -n "const programmes = " > programmes.js
+curl "https://stag.tul.cz/StagPortletsJSR168/ProhlizeniPrint?stateClass=cz.zcu.stag.portlets168.prohlizeni.browser.BrowserFakultaSearchState&wservice=programy/getStudijniProgramy&outputFormat=CSV&pouzePlatne=true&lang=cs" | csvjson -e cp1250 | jq 'group_by(.fakulta | ascii_downcase) | [.[] | {
+ key: .[0].fakulta | ascii_downcase,
+ value: [.[] | {
+ code: .kod | ascii_upcase,
+ type: .typ | ascii_downcase // .titulZkr // .titul,
+ title: .titulZkr // .titul // "bez titulu",
+ form: .forma | ascii_downcase,
+ year: .platnyOd | round,
+ cs_name: .nazevCz // .nazev,
+ en_name: .nazevAn // .nazev
+ }]
+}] | from_entries' >> programmes.js
+
if [ ! -d template_upstream ]; then
git clone git@gordon.zumepro.cz:tul/tultemplate2 template_upstream
else
diff --git a/index.html b/index.html
index 2cfee3a..d1ebdf0 100644
--- a/index.html
+++ b/index.html
@@ -5,6 +5,7 @@
+