You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+53-30Lines changed: 53 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,17 +7,18 @@ iOS Widgets for [Untis](https://webuntis.com/) using [Scriptable](https://script
7
7
8
8
## ❔ What is this for?
9
9
10
-
Untis is a service used by many students to keep track of their school-life, especially for checking the timetable.
11
-
There is a mobile app, but it does not provide any widgets.
10
+
Untis is a service used by many students (mainly in Austria and Germany) to keep track of their school-life, especially for checking the timetable.
11
+
There is a mobile app, but it does not provide any widgets, at least on iOS.
12
12
That's why I decided to create those widgets myself, so I can have the most important information directly on my homescreen.
13
+
It also notifies me about the most important changes.
13
14
14
15
## ✨ Features
15
16
16
17
The script allows you to display data for one WebUntis account in a widget, and will notify you about important changes.\
17
18
You can set what information (views) should be displayed for each widget.\
18
19
To safe battery and bandwidth, the data is updated at the start of every lesson and every few hours outside of school-hours.\
19
20
The fetched data is cached for some time, so the script takes less time, bandwidth and battery to run.\
20
-
Many things can be configured via the visual config editor or the configuration file `untis-config.json` in the scriptable folder, check the [configuration section](#⚙️-configuration) for details.
21
+
Many things can be configured via the visual config editor or the configuration file `untis-config.json` in the scriptable folder, check the [configuration section](#⚒️-configuration) for details.
21
22
22
23
### 🔔 Notifications
23
24
@@ -41,86 +42,102 @@ After a school day has ended, a summary of the next day is displayed. (list of s
41
42
#### Exams
42
43
43
44
Shows the upcoming exams, meaning their subject and date.
45
+
By default, exams are colored according to the subject configuration. The widget displays as much information as fits.
44
46
You can configure how many days ahead the exams should be displayed and set a maximum count.
45
47
46
48
#### Grades
47
49
48
50
Displays the recent grades you received. (subject + mark)
51
+
By default, grades are colored according to the subject configuration. The widget displays as much information as fits.
49
52
You can configure how long grades should be displayed and set a maximum count.
50
53
51
54
#### Absences
52
55
53
-
Lists open (unexcused) absences with their date and duration.
56
+
Lists open (unexcused) absences with their date and duration. It also shows who created the absence, if there is enough space.
54
57
55
58
## 📥 Installation
56
59
57
-
1. Before installing the script, you need to [install Scriptable from the AppStore](https://apps.apple.com/us/app/scriptable/id1405459188?uo=4).
60
+
1. Before installing the script, you need to [install Scriptable from the App Store](https://apps.apple.com/us/app/scriptable/id1405459188?uo=4).
58
61
59
62
2. To install the script, head over to the [releases page](https://github.com/JFK-05/scriptable-untis/releases) select the latest release.\
60
-
If you always want to check out the latest features, which might not be stable, you can download the beta release.\
61
-
Alternatively, you can download the latest stable release [here](https://github.com/JFK-05/scriptable-untis/releases/latest/download/UntisWidget.scriptable).
63
+
Alternatively, you can directly download the latest stable release [here](https://github.com/JFK-05/scriptable-untis/releases/latest/download/UntisWidget.scriptable).
62
64
63
-
3. After downloading the file, you can click to open it with scriptable.
64
-
This will add the script to the list.
65
+
3. After downloading the file, click share, and select scriptable.
66
+
Now click `Add to My Scripts` at the bottom.
65
67
66
-
4. Open Scriptable, click the script to run it.
67
-
You will be asked what you want to do.
68
-
Select `🔑 Change Credentials` and enter your WebUntis credentials as prompted.\
69
-
You will be asked for the url, which you can find when selecting you school [here](https://arche.webuntis.com/WebUntis/?school=litec#/basic/login). You might have to click the "switch school" button to get to the correct page. The url should look something like this: `https://<server>.webuntis.com/WebUntis/?school=<schoolname>#/basic/login`. (with `<server>` and `<schoolname>` replaced)
68
+
4. Click the play button at the lower right (or click the script in the overview) to run the script. This will start the setup process.\
69
+
You will be asked for the url, which you can find when selecting you school [here](https://webuntis.com/). You might have to click the "switch school" button to get to the correct page.\
70
+
The url should look something like this: `https://<server>.webuntis.com/WebUntis/?school=<schoolname>#/basic/login`. (with `<server>` and `<schoolname>` replaced)
70
71
71
-
5. Now you can add an IOS widget for Scriptable and select the script in the options.
72
+
5. Now you can add an iOS widget for Scriptable and select the script in the options.
72
73
73
-
6. The widget should update automatically and display the information. 🥳
74
+
6. The widget should update automatically and display the information. 🥳 (might take a few seconds)
74
75
75
-
7. If you want to customize the widget (e.g. color the lessons, see the [configuration section](#⚙️-configuration))
76
+
7. If you want to customize the widget (e.g. color the lessons), see the [configuration section](#⚒️-configuration).
76
77
77
-
## ⚙️ Configuration
78
+
## ⏫ Updating
79
+
80
+
The script will check for updates every few hours.\
81
+
Regular updates will be downloaded and installed automatically.\
82
+
If you want to update manually, you can do so by running the script and selecting `🔄 Update Script` in the menu.\
83
+
When there is a breaking change, you will be notified and asked to update manually.\
84
+
Check the [releases page](https://github.com/JFK-05/scriptable-untis/releases) for more information about the changes.
85
+
86
+
## ⚒️ Configuration
78
87
79
88
When long-pressing the widget, you see the iOS widget configuration.
80
89
In the `Parameter` field, you can enter the configuration for the widget.
81
90
The configuration is a list of the views you want to be displayed, separated by a comma.\
82
91
For larger widgets, you can create multiple columns by separating the views with a pipe (`|`).\
83
92
Example: `lessons,exams` or `lessons|exams,grades,absences`
84
93
85
-
### ⚒️ Config Editor
94
+
### ⚙️ Settings Editor
86
95
87
-
The config editor is a UI utility, so you don't have to deal with the configuration file directy.\
88
-
You can open it by running the script and selecting `⚒️ Config Editor` in the menu.\
96
+
The config editor is a UI utility, so you don't have to deal with the configuration file directly.\
97
+
You can open it by running the script and selecting `⚙️ Open Settings` in the menu.\
89
98
It will open up a list with settings categories. The top row shows you where you are in the menu, below there are the categories and settings.\
90
99
Clicking a category will open it, clicking a setting will open a dialog to edit it.\
100
+
If you change a value, the default will be displayed below it in gray.\
91
101
You can use the `↩️` button to reset a setting to its default value.
92
102
93
103
#### 📚 Subjects Config
94
104
95
105
The subjects config allows you to configure e.g. the colors of the lessons.\
96
106
It is accessible in the config editor under `📚 Subjects Config`.\
97
-
You will now see a list of all subjects you have configurations for. (might be empty)
107
+
You will now see a list of all subjects you have configurations for, listed by their short name. (might be empty)\
108
+
You can delete a subject config by clicking the trash emoji (🗑️).
109
+
110
+
By clicking a subject, you can open its specific configuration.
98
111
99
112
Here are the configuration options:
100
113
101
-
-`color`: The color of the lesson. This can be a hex code (like `#ff0000`) or a color name (like `red`).
114
+
-`color`: The color of the lesson. You can either enter a hex code (like `#ff0000`) at the top, or select one from the palette.
102
115
To find the perfect color, you can use [this website](https://htmlcolorcodes.com/color-picker/).
103
116
Darker, less saturated colors are recommended, as this makes it easier to read the white text on the background.
104
-
-`teacher`: The name of the teacher to apply this config for. This is only available, if you specified a teacher when adding the subject.
105
-
-`custom short name`: The short name of the subject to display.
106
-
-`custom long name`: The name of the subject to display if there is enough space (and the option is enabled).
117
+
-`short name`: The short name of the subject to display.
118
+
-`long name`: The name of the subject to display if there is enough space (and the option is enabled).
107
119
-`ignore infos`: A list of lesson infos to ignore. This can be useful if there is lesson info which is always there.
108
120
This should be a comma-separated list of the infos to ignore, wrapped in double quotes. (`"infoName"` or `"info1", "info2"`)
109
121
110
-
#### Adding a new subject
122
+
#####Adding a new subject
111
123
112
124
At the top you can add a new subject configuration. You will have to enter the `short subject name` (the one displayed in webuntis.)\
113
125
If you want to only apply the configuration when a specific teacher is teaching the subject, you can enter the `teacher` name as well.
114
126
This can be helpful when there are subjects which are combined in WebUntis.
115
127
128
+
##### 🧑🏫 Teacher specific configs
129
+
130
+
Some subjects may be combined in Untis. For example, geography and history may be combined.\
131
+
In the teachers section of a subject, you can create configs for specific teachers.\
132
+
When this teachers now teaches this subject, the configuration of the teacher will override the one from the subject.
133
+
116
134
### 📄 Config File
117
135
118
136
The configuration file `untis-config.json` is located in the scriptable folder.\
119
137
A default configuration file is created when the script is run for the first time. Check it out to see what's possible!\
120
-
Changes to the configuration file are applied when the script is run again.\
121
-
I am aware that editing this json file is not the most user-friendly way, I am considering adding a visual configuration tool.
138
+
Changes to the configuration file are applied when the script is run again.
122
139
123
-
## 🧑💻 A Note for Developers
140
+
## 🧑💻 Notes for Developers
124
141
125
142
### 📦 Bundling
126
143
@@ -134,4 +151,10 @@ That's why I switched to [rollup](https://rollupjs.org/), which worked perfectly
134
151
### ⚙️ Config Editor
135
152
136
153
The config editor is a handy utility which makes the widget easier to use for people, who are not into editing config files.\
137
-
But of the limitations of scriptable, and as the implementation had to be quite generalizable, the code is a little complex.
154
+
But of the limitations of scriptable, and as the implementation had to be quite generalizable, the code is a little complex.\
155
+
I am quite happy with the result, even though it has a few flaws, which I might address in the future.
156
+
157
+
### 📖 Documentation
158
+
159
+
Currently there seems to be an issue with github (similar to [this one](https://github.com/thlorenz/anchor-markdown-header/issues/36)), where emojis in titles break header links.\
160
+
Therefore the header anchors in this readme may not work.
0 commit comments