Change Note 2025-04-11
Framework
- Restructure the framework.
- Main changes:
- The module library, the examples, and the config files are now organised on sub-directories for versions.
- The config files need to be updated accordingly. Sorry about that. The config files in the repo have been updated.
- That is, what was in
lib
before is now inlib/v1.0
, what was inlibv2
inlib/v2.0
. All modules have remained unchanged during this step.
Website
- Update the links to the re-structured repository.
- I hope I got all of them, but there might still be one or the other
404
.
Versioning
At some point the framework will need to be properly versioned, ie. changes need to result in new versions, while the former versions can still be referred to for compilation and linking. Basically, I have considered using sub-directories, git branches and tags, or a combination thereof. The re-structuring of the framework and repo as outlined above serves to prepare that.
After some pondering the pros and cons, I have decided to keep versions around in sub-directories, of course managed via git in the background. Since I am old-fashioned, I prefer to have the source files around all the time, without the need to check out version-branches when needed.1 Also, I am notoriously bad with git, hence I cannot trust myself not to eff things up at some point with a pure git-based versioning scheme. Having the source files “simply there” on the disk, and being basically independent of git, gives me some piece of mind. :) It’s also simple and transparent.
This upside is also a downside: all versions are actually checked out, even if not used, and taking up disk space. At the moment, each library version is about 250 kB to 300 kB in size. One high quality JPEG picture out of the phone camera is a few MB, so we can keep five to ten framework versions around in the disk space of one single photo. Yes, the version directories also clutter the framework space somewhat, but unused ones can be deleted if that’s really a problem, even automatically on fetch or pull from the distribution git repo.
-
Yes, there are also git work-trees, but they are not supported by all front-end tools. ↩︎