Bootstrap and icons¶
Bootstrap¶
Bootstrap (5.3.8, CSS and JS) and Bootstrap Icons (1.13.2, with their font) are in
frontend/vendor/, served by Nessie itself, not a CDN: the app never contacts a third party, works
on a network without internet, and the iOS app can keep a copy of all of it. Each is in a folder
named for its version, served as never changing (cached for a year); both are MIT-licensed (the
LICENSE beside them). To upgrade one, add the new version's folder with the same files, point
frontend/index.html and frontend/v2/index.html at it (with its new integrity hashes), list it in VENDOR_FILES in
frontend/sw.js (the worker drops the old one), and delete the old folder.
Icons¶
The app icons are SVGs in frontend/img/: nessie.svg (the main icon), nessie-small.svg
(simplified for browser tabs) and nessie-monochrome.svg (Android themed icons). After
editing one, render the PNGs again, the Android app's launcher icons and the iOS app's icon and
launch screen with them; this needs
rsvg-convert (apt install librsvg2-bin):
python scripts/render_icons.py