Liberty BASIC has a system where you can assemble a series of pages of descriptive text and associated pages of code. It is great for teaching purposes, showing how a programming idea can be used, and for keeping systematic records of successive versions of code as an idea is implemented and developed.
In the past several coders have contributed to such *.lsn files. There is a zip file on my site of the ones I've written or collected from past Forum posts.