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 5.0KB 154
keyboard.js Implements keyboard shortcuts Link 810B 40
Total without presentation.js: 4.0KB 153
Total with presentation.js: 9.0KB 307

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