Regarding usage of JavaScript

On 20.02.2022 I decided to lift the "ban" on usage of JavaScript in this website. This gives me the freedom to implement some useful features for those that have it enabled. Any content that doesn't depend on JavaScript will be perfectly consumable without it!

Any user data that might be saved isn't, and never will be, used for purposes not listed here. There isn't, and won't ever be, any form of tracking or data collection that isn't required for some feature (listed here).

Implemented features

Script Description GitLab source Size Lines
image-show.js Click to zoom on images Link 551B 24
back-to-top.js Automatically appearing button to scroll to top Link 378B 15
styling-preload.js Disable/enable certain stylesheets before page rendering Link 385B 13
theme-changer.js Change theme between light and dark (split in two files) Link 468B 18
page-width.js Change whether text covers the whole width of the page or only the middle (applicable to wide screens) Link 640B 23
expand-navbar.js Button to shrink and expand the sidebar Link 728B 20
presentation.js Presentation logic (button capabilities and other) Loaded only on pages with presentations! Link 6.1KB 204
keyboard.js Implements keyboard shortcuts Link 810B 40
snow.js Adds and manages falling snowflakes. Functional only in December and January. Link 814B 36
snow-preload.js Initializes falling snowflake elements Link 561B 20
Total without presentation.js 5.3KB 209
Total with presentation.js 11.4KB 413

Data in browser storage

Local storage

Key Values Description
theme dark | light Saves which theme should be loaded
width norm | wide Saves in which width pages should be shown
navbar norm | hidden Saves whether the navbar should be expanded or shrunk
snow on | off Saves whether snowflakes are shown (and animated). Functional only in December and January.